Index: tools/viewer/sk_app/VulkanWindowContext.cpp |
diff --git a/tools/viewer/VulkanTestContext.cpp b/tools/viewer/sk_app/VulkanWindowContext.cpp |
similarity index 92% |
rename from tools/viewer/VulkanTestContext.cpp |
rename to tools/viewer/sk_app/VulkanWindowContext.cpp |
index e9137c0ee32a9fa05c630e5da9a6535530d05f54..8f5f4209a45c190375c2cbc9fcf52b2964d89c07 100644 |
--- a/tools/viewer/VulkanTestContext.cpp |
+++ b/tools/viewer/sk_app/VulkanWindowContext.cpp |
@@ -8,7 +8,7 @@ |
#include "GrContext.h" |
#include "SkSurface.h" |
-#include "VulkanTestContext.h" |
+#include "VulkanWindowContext.h" |
#include "vk/GrVkInterface.h" |
#include "vk/GrVkUtil.h" |
@@ -22,18 +22,20 @@ |
#define GET_PROC(F) f ## F = (PFN_vk ## F) vkGetInstanceProcAddr(instance, "vk" #F) |
#define GET_DEV_PROC(F) f ## F = (PFN_vk ## F) vkGetDeviceProcAddr(device, "vk" #F) |
-VulkanTestContext::VulkanTestContext(void* platformData, int msaaSampleCount) |
- : fSurface(VK_NULL_HANDLE) |
- , fSwapchain(VK_NULL_HANDLE) |
- , fCommandPool(VK_NULL_HANDLE) |
- , fBackbuffers(nullptr) { |
+namespace sk_app { |
+ |
+VulkanWindowContext::VulkanWindowContext(void* platformData, int msaaSampleCount) |
+ : fSurface(VK_NULL_HANDLE) |
+ , fSwapchain(VK_NULL_HANDLE) |
+ , fCommandPool(VK_NULL_HANDLE) |
+ , fBackbuffers(nullptr) { |
// any config code here (particularly for msaa)? |
this->initializeContext(platformData); |
} |
-void VulkanTestContext::initializeContext(void* platformData) { |
+void VulkanWindowContext::initializeContext(void* platformData) { |
fBackendContext.reset(GrVkBackendContext::Create(&fPresentQueueIndex, canPresent)); |
if (!(fBackendContext->fExtensions & kKHR_surface_GrVkExtensionFlag) || |
@@ -55,7 +57,7 @@ void VulkanTestContext::initializeContext(void* platformData) { |
GET_DEV_PROC(AcquireNextImageKHR); |
GET_DEV_PROC(QueuePresentKHR); |
- fContext = GrContext::Create(kVulkan_GrBackend, (GrBackendContext)fBackendContext.get()); |
+ fContext = GrContext::Create(kVulkan_GrBackend, (GrBackendContext) fBackendContext.get()); |
fSurface = createVkSurface(instance, platformData); |
if (VK_NULL_HANDLE == fSurface) { |
@@ -81,8 +83,7 @@ void VulkanTestContext::initializeContext(void* platformData) { |
vkGetDeviceQueue(fBackendContext->fDevice, fPresentQueueIndex, 0, &fPresentQueue); |
} |
-bool VulkanTestContext::createSwapchain(uint32_t width, uint32_t height) |
-{ |
+bool VulkanWindowContext::createSwapchain(uint32_t width, uint32_t height) { |
// check for capabilities |
VkSurfaceCapabilitiesKHR caps; |
VkResult res = fGetPhysicalDeviceSurfaceCapabilitiesKHR(fBackendContext->fPhysicalDevice, |
@@ -116,7 +117,7 @@ bool VulkanTestContext::createSwapchain(uint32_t width, uint32_t height) |
SkAutoMalloc presentModeAlloc(presentModeCount * sizeof(VkPresentModeKHR)); |
VkPresentModeKHR* presentModes = (VkPresentModeKHR*)presentModeAlloc.get(); |
res = fGetPhysicalDeviceSurfacePresentModesKHR(fBackendContext->fPhysicalDevice, fSurface, |
- &presentModeCount, presentModes); |
+ &presentModeCount, presentModes); |
if (VK_SUCCESS != res) { |
return false; |
} |
@@ -223,7 +224,7 @@ bool VulkanTestContext::createSwapchain(uint32_t width, uint32_t height) |
return true; |
} |
-void VulkanTestContext::createBuffers(VkFormat format) { |
+void VulkanWindowContext::createBuffers(VkFormat format) { |
GrVkFormatToPixelConfig(format, &fPixelConfig); |
fGetSwapchainImagesKHR(fBackendContext->fDevice, fSwapchain, &fImageCount, nullptr); |
@@ -311,14 +312,14 @@ void VulkanTestContext::createBuffers(VkFormat format) { |
fCurrentBackbufferIndex = fImageCount; |
} |
-void VulkanTestContext::destroyBuffers() { |
+void VulkanWindowContext::destroyBuffers() { |
if (fBackbuffers) { |
for (uint32_t i = 0; i < fImageCount + 1; ++i) { |
GR_VK_CALL_ERRCHECK(fBackendContext->fInterface, |
- WaitForFences(fBackendContext->fDevice, 2, |
+ WaitForFences(fBackendContext->fDevice, 2, |
fBackbuffers[i].fUsageFences, |
- true, UINT64_MAX)); |
+ true, UINT64_MAX)); |
fBackbuffers[i].fImageIndex = -1; |
GR_VK_CALL(fBackendContext->fInterface, |
DestroySemaphore(fBackendContext->fDevice, |
@@ -349,11 +350,11 @@ void VulkanTestContext::destroyBuffers() { |
fImages = nullptr; |
} |
-VulkanTestContext::~VulkanTestContext() { |
+VulkanWindowContext::~VulkanWindowContext() { |
this->destroyContext(); |
} |
-void VulkanTestContext::destroyContext() { |
+void VulkanWindowContext::destroyContext() { |
if (!fBackendContext.get()) { |
return; |
} |
@@ -383,7 +384,7 @@ void VulkanTestContext::destroyContext() { |
fBackendContext.reset(nullptr); |
} |
-VulkanTestContext::BackbufferInfo* VulkanTestContext::getAvailableBackbuffer() { |
+VulkanWindowContext::BackbufferInfo* VulkanWindowContext::getAvailableBackbuffer() { |
SkASSERT(fBackbuffers); |
++fCurrentBackbufferIndex; |
@@ -399,7 +400,7 @@ VulkanTestContext::BackbufferInfo* VulkanTestContext::getAvailableBackbuffer() { |
return backbuffer; |
} |
-SkSurface* VulkanTestContext::getBackbufferSurface() { |
+SkSurface* VulkanWindowContext::getBackbufferSurface() { |
BackbufferInfo* backbuffer = this->getAvailableBackbuffer(); |
SkASSERT(backbuffer); |
@@ -424,7 +425,7 @@ SkSurface* VulkanTestContext::getBackbufferSurface() { |
} |
// acquire the image |
- res = fAcquireNextImageKHR(fBackendContext->fDevice, fSwapchain, UINT64_MAX, |
+ res = fAcquireNextImageKHR(fBackendContext->fDevice, fSwapchain, UINT64_MAX, |
backbuffer->fAcquireSemaphore, VK_NULL_HANDLE, |
&backbuffer->fImageIndex); |
@@ -439,7 +440,7 @@ SkSurface* VulkanTestContext::getBackbufferSurface() { |
VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT : |
VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; |
VkPipelineStageFlags dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; |
- VkAccessFlags srcAccessMask = (VK_IMAGE_LAYOUT_UNDEFINED == layout) ? |
+ VkAccessFlags srcAccessMask = (VK_IMAGE_LAYOUT_UNDEFINED == layout) ? |
0 : VK_ACCESS_MEMORY_READ_BIT; |
VkAccessFlags dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT; |
@@ -464,15 +465,15 @@ SkSurface* VulkanTestContext::getBackbufferSurface() { |
GR_VK_CALL_ERRCHECK(fBackendContext->fInterface, |
BeginCommandBuffer(backbuffer->fTransitionCmdBuffers[0], &info)); |
- GR_VK_CALL(fBackendContext->fInterface, |
- CmdPipelineBarrier(backbuffer->fTransitionCmdBuffers[0], |
- srcStageMask, dstStageMask, 0, |
- 0, nullptr, |
- 0, nullptr, |
- 1, &imageMemoryBarrier)); |
+ GR_VK_CALL(fBackendContext->fInterface, |
+ CmdPipelineBarrier(backbuffer->fTransitionCmdBuffers[0], |
+ srcStageMask, dstStageMask, 0, |
+ 0, nullptr, |
+ 0, nullptr, |
+ 1, &imageMemoryBarrier)); |
GR_VK_CALL_ERRCHECK(fBackendContext->fInterface, |
- EndCommandBuffer(backbuffer->fTransitionCmdBuffers[0])); |
+ EndCommandBuffer(backbuffer->fTransitionCmdBuffers[0])); |
VkPipelineStageFlags waitDstStageFlags = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT; |
// insert the layout transfer into the queue and wait on the acquire |
@@ -485,16 +486,16 @@ SkSurface* VulkanTestContext::getBackbufferSurface() { |
submitInfo.commandBufferCount = 1; |
submitInfo.pCommandBuffers = &backbuffer->fTransitionCmdBuffers[0]; |
submitInfo.signalSemaphoreCount = 0; |
- |
+ |
GR_VK_CALL_ERRCHECK(fBackendContext->fInterface, |
- QueueSubmit(fBackendContext->fQueue, 1, &submitInfo, |
+ QueueSubmit(fBackendContext->fQueue, 1, &submitInfo, |
backbuffer->fUsageFences[0])); |
return fSurfaces[backbuffer->fImageIndex].get(); |
} |
-void VulkanTestContext::swapBuffers() { |
+void VulkanWindowContext::swapBuffers() { |
BackbufferInfo* backbuffer = fBackbuffers + fCurrentBackbufferIndex; |
@@ -525,11 +526,11 @@ void VulkanTestContext::swapBuffers() { |
GR_VK_CALL_ERRCHECK(fBackendContext->fInterface, |
BeginCommandBuffer(backbuffer->fTransitionCmdBuffers[1], &info)); |
GR_VK_CALL(fBackendContext->fInterface, |
- CmdPipelineBarrier(backbuffer->fTransitionCmdBuffers[1], |
- srcStageMask, dstStageMask, 0, |
- 0, nullptr, |
- 0, nullptr, |
- 1, &imageMemoryBarrier)); |
+ CmdPipelineBarrier(backbuffer->fTransitionCmdBuffers[1], |
+ srcStageMask, dstStageMask, 0, |
+ 0, nullptr, |
+ 0, nullptr, |
+ 1, &imageMemoryBarrier)); |
GR_VK_CALL_ERRCHECK(fBackendContext->fInterface, |
EndCommandBuffer(backbuffer->fTransitionCmdBuffers[1])); |
@@ -547,7 +548,7 @@ void VulkanTestContext::swapBuffers() { |
submitInfo.pSignalSemaphores = &backbuffer->fRenderSemaphore; |
GR_VK_CALL_ERRCHECK(fBackendContext->fInterface, |
- QueueSubmit(fBackendContext->fQueue, 1, &submitInfo, |
+ QueueSubmit(fBackendContext->fQueue, 1, &submitInfo, |
backbuffer->fUsageFences[1])); |
// Submit present operation to present queue |
@@ -566,3 +567,5 @@ void VulkanTestContext::swapBuffers() { |
fQueuePresentKHR(fPresentQueue, &presentInfo); |
} |
+ |
+} //namespace sk_app |