Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2015 Google Inc. | 3 * Copyright 2015 Google Inc. |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "GrContext.h" | 9 #include "GrContext.h" |
| 10 #include "GrRenderTarget.h" | 10 #include "GrRenderTarget.h" |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 251 void VulkanWindowContext::createBuffers(VkFormat format) { | 251 void VulkanWindowContext::createBuffers(VkFormat format) { |
| 252 GrVkFormatToPixelConfig(format, &fPixelConfig); | 252 GrVkFormatToPixelConfig(format, &fPixelConfig); |
| 253 | 253 |
| 254 fGetSwapchainImagesKHR(fBackendContext->fDevice, fSwapchain, &fImageCount, n ullptr); | 254 fGetSwapchainImagesKHR(fBackendContext->fDevice, fSwapchain, &fImageCount, n ullptr); |
| 255 SkASSERT(fImageCount); | 255 SkASSERT(fImageCount); |
| 256 fImages = new VkImage[fImageCount]; | 256 fImages = new VkImage[fImageCount]; |
| 257 fGetSwapchainImagesKHR(fBackendContext->fDevice, fSwapchain, &fImageCount, f Images); | 257 fGetSwapchainImagesKHR(fBackendContext->fDevice, fSwapchain, &fImageCount, f Images); |
| 258 | 258 |
| 259 // set up initial image layouts and create surfaces | 259 // set up initial image layouts and create surfaces |
| 260 fImageLayouts = new VkImageLayout[fImageCount]; | 260 fImageLayouts = new VkImageLayout[fImageCount]; |
| 261 fRenderTargets = new sk_sp<GrRenderTarget>[fImageCount]; | 261 fRenderTargets = new sk_sp<GrRenderTarget>[fImageCount]; |
|
jvanverth1
2016/07/19 20:19:50
A little late to the party, but it looks like fRen
bsalomon
2016/07/19 20:38:37
Oh duh! Will fix.
| |
| 262 fSurfaces = new sk_sp<SkSurface>[fImageCount]; | 262 fSurfaces = new sk_sp<SkSurface>[fImageCount]; |
| 263 for (uint32_t i = 0; i < fImageCount; ++i) { | 263 for (uint32_t i = 0; i < fImageCount; ++i) { |
| 264 fImageLayouts[i] = VK_IMAGE_LAYOUT_UNDEFINED; | 264 fImageLayouts[i] = VK_IMAGE_LAYOUT_UNDEFINED; |
| 265 | 265 |
| 266 GrBackendRenderTargetDesc desc; | 266 GrBackendRenderTargetDesc desc; |
| 267 GrVkImageInfo info; | 267 GrVkImageInfo info; |
| 268 info.fImage = fImages[i]; | 268 info.fImage = fImages[i]; |
| 269 info.fAlloc = { VK_NULL_HANDLE, 0, 0 }; | 269 info.fAlloc = { VK_NULL_HANDLE, 0, 0 }; |
| 270 info.fImageLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; | 270 info.fImageLayout = VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL; |
| 271 info.fImageTiling = VK_IMAGE_TILING_OPTIMAL; | 271 info.fImageTiling = VK_IMAGE_TILING_OPTIMAL; |
| 272 info.fFormat = format; | 272 info.fFormat = format; |
| 273 info.fLevelCount = 1; | 273 info.fLevelCount = 1; |
| 274 desc.fWidth = fWidth; | 274 desc.fWidth = fWidth; |
| 275 desc.fHeight = fHeight; | 275 desc.fHeight = fHeight; |
| 276 desc.fConfig = fPixelConfig; | 276 desc.fConfig = fPixelConfig; |
| 277 desc.fOrigin = kTopLeft_GrSurfaceOrigin; | 277 desc.fOrigin = kTopLeft_GrSurfaceOrigin; |
| 278 desc.fSampleCnt = 0; | 278 desc.fSampleCnt = 0; |
| 279 desc.fStencilBits = 0; | 279 desc.fStencilBits = 0; |
| 280 desc.fRenderTargetHandle = (GrBackendObject) &info; | 280 desc.fRenderTargetHandle = (GrBackendObject) &info; |
| 281 fRenderTargets[i].reset(fContext->textureProvider()->wrapBackendRenderTa rget(desc)); | |
| 282 | 281 |
| 283 fSurfaces[i] = this->createRenderSurface(fRenderTargets[i], 24); | 282 fSurfaces[i] = this->createRenderSurface(desc, 24); |
| 284 } | 283 } |
| 285 | 284 |
| 286 // create the command pool for the command buffers | 285 // create the command pool for the command buffers |
| 287 if (VK_NULL_HANDLE == fCommandPool) { | 286 if (VK_NULL_HANDLE == fCommandPool) { |
| 288 VkCommandPoolCreateInfo commandPoolInfo; | 287 VkCommandPoolCreateInfo commandPoolInfo; |
| 289 memset(&commandPoolInfo, 0, sizeof(VkCommandPoolCreateInfo)); | 288 memset(&commandPoolInfo, 0, sizeof(VkCommandPoolCreateInfo)); |
| 290 commandPoolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; | 289 commandPoolInfo.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO; |
| 291 // this needs to be on the render queue | 290 // this needs to be on the render queue |
| 292 commandPoolInfo.queueFamilyIndex = fBackendContext->fGraphicsQueueIndex; | 291 commandPoolInfo.queueFamilyIndex = fBackendContext->fGraphicsQueueIndex; |
| 293 commandPoolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT; | 292 commandPoolInfo.flags = VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT; |
| (...skipping 301 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 595 &fSwapchain, // pSwapchains | 594 &fSwapchain, // pSwapchains |
| 596 &backbuffer->fImageIndex, // pImageIndices | 595 &backbuffer->fImageIndex, // pImageIndices |
| 597 NULL // pResults | 596 NULL // pResults |
| 598 }; | 597 }; |
| 599 | 598 |
| 600 fQueuePresentKHR(fPresentQueue, &presentInfo); | 599 fQueuePresentKHR(fPresentQueue, &presentInfo); |
| 601 | 600 |
| 602 } | 601 } |
| 603 | 602 |
| 604 } //namespace sk_app | 603 } //namespace sk_app |
| OLD | NEW |