diff options
| author | Chris Forbes <chrisf@ijw.co.nz> | 2015-06-24 14:34:53 +1200 |
|---|---|---|
| committer | Chris Forbes <chrisf@ijw.co.nz> | 2015-07-07 14:54:05 +1200 |
| commit | 5cf9608c7edda155e5f4aa2327b4fd57cc188fc9 (patch) | |
| tree | 62e86ecbdf95fd4d6496b1a087900ba7c7706bed | |
| parent | d0100a40aa1d733911f7238be3b9b3f1a024c764 (diff) | |
| download | usermoji-5cf9608c7edda155e5f4aa2327b4fd57cc188fc9.tar.xz | |
vulkan.h: v129 -- rework clear colors, remove raw clear [#14020]
Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
| -rw-r--r-- | demos/cube.c | 5 | ||||
| -rw-r--r-- | demos/tri.c | 5 | ||||
| -rw-r--r-- | icd/nulldrv/nulldrv.c | 2 | ||||
| -rw-r--r-- | include/vulkan.h | 23 | ||||
| -rw-r--r-- | layers/draw_state.cpp | 6 | ||||
| -rw-r--r-- | layers/image.cpp | 4 | ||||
| -rw-r--r-- | layers/mem_tracker.cpp | 2 | ||||
| -rw-r--r-- | layers/param_checker.cpp | 4 | ||||
| -rw-r--r-- | loader/trampoline.c | 4 | ||||
| -rwxr-xr-x | vulkan.py | 4 |
10 files changed, 26 insertions, 33 deletions
diff --git a/demos/cube.c b/demos/cube.c index 85f31606..e6154578 100644 --- a/demos/cube.c +++ b/demos/cube.c @@ -479,9 +479,8 @@ static void demo_draw_build_cmd(struct demo *demo, VkCmdBuffer cmd_buf) .view = demo->depth.view, .layout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, }; - const VkClearColor clear_color = { - .color.floatColor = { 0.2f, 0.2f, 0.2f, 0.2f }, - .useRawValue = false, + const VkClearColorValue clear_color = { + .f32 = { 0.2f, 0.2f, 0.2f, 0.2f }, }; const float clear_depth = 1.0f; VkCmdBufferBeginInfo cmd_buf_info = { diff --git a/demos/tri.c b/demos/tri.c index 10556bfb..af6f05e1 100644 --- a/demos/tri.c +++ b/demos/tri.c @@ -286,9 +286,8 @@ static void demo_draw_build_cmd(struct demo *demo) .view = demo->depth.view, .layout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, }; - const VkClearColor clear_color = { - .color.floatColor = { 0.2f, 0.2f, 0.2f, 0.2f }, - .useRawValue = false, + const VkClearColorValue clear_color = { + .f32 = { 0.2f, 0.2f, 0.2f, 0.2f }, }; const float clear_depth = 0.9f; VkCmdBufferBeginInfo cmd_buf_info = { diff --git a/icd/nulldrv/nulldrv.c b/icd/nulldrv/nulldrv.c index 05a8da80..fb043397 100644 --- a/icd/nulldrv/nulldrv.c +++ b/icd/nulldrv/nulldrv.c @@ -986,7 +986,7 @@ ICD_EXPORT void VKAPI vkCmdClearColorImage( VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, - const VkClearColor *pColor, + const VkClearColorValue *pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) { diff --git a/include/vulkan.h b/include/vulkan.h index b023b69c..77098430 100644 --- a/include/vulkan.h +++ b/include/vulkan.h @@ -2049,19 +2049,14 @@ typedef struct VkRenderPassBegin_ VkRenderPassContents contents; } VkRenderPassBegin; -// Union allowing specification of floating point or raw color data. Actual value selected is based on image being cleared. +// Union allowing specification of floating point, integer, or unsigned integer color data. Actual value selected is based on format. typedef union VkClearColorValue_ { - float floatColor[4]; - uint32_t rawColor[4]; + float f32[4]; + int32_t s32[4]; + uint32_t u32[4]; } VkClearColorValue; -typedef struct VkClearColor_ -{ - VkClearColorValue color; - bool32_t useRawValue; -} VkClearColor; - typedef struct VkRenderPassCreateInfo_ { VkStructureType sType; // Must be VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO @@ -2076,7 +2071,7 @@ typedef struct VkRenderPassCreateInfo_ const VkImageLayout* pColorLayouts; const VkAttachmentLoadOp* pColorLoadOps; const VkAttachmentStoreOp* pColorStoreOps; - const VkClearColor* pColorLoadClearValues; + const VkClearColorValue* pColorLoadClearValues; VkFormat depthStencilFormat; VkImageLayout depthStencilLayout; VkAttachmentLoadOp depthLoadOp; @@ -2253,9 +2248,9 @@ typedef void (VKAPI *PFN_vkCmdCopyBufferToImage)(VkCmdBuffer cmdBuffer, VkBu typedef void (VKAPI *PFN_vkCmdCopyImageToBuffer)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer destBuffer, uint32_t regionCount, const VkBufferImageCopy* pRegions); typedef void (VKAPI *PFN_vkCmdUpdateBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize dataSize, const uint32_t* pData); typedef void (VKAPI *PFN_vkCmdFillBuffer)(VkCmdBuffer cmdBuffer, VkBuffer destBuffer, VkDeviceSize destOffset, VkDeviceSize fillSize, uint32_t data); -typedef void (VKAPI *PFN_vkCmdClearColorImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColor* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); +typedef void (VKAPI *PFN_vkCmdClearColorImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); typedef void (VKAPI *PFN_vkCmdClearDepthStencilImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); -typedef void (VKAPI *PFN_vkCmdClearColorAttachment)(VkCmdBuffer cmdBuffer, uint32_t colorAttachment, VkImageLayout imageLayout, const VkClearColor* pColor, uint32_t rectCount, const VkRect3D* pRects); +typedef void (VKAPI *PFN_vkCmdClearColorAttachment)(VkCmdBuffer cmdBuffer, uint32_t colorAttachment, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rectCount, const VkRect3D* pRects); typedef void (VKAPI *PFN_vkCmdClearDepthStencilAttachment)(VkCmdBuffer cmdBuffer, VkImageAspectFlags imageAspectMask, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rectCount, const VkRect3D* pRects); typedef void (VKAPI *PFN_vkCmdResolveImage)(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout, uint32_t regionCount, const VkImageResolve* pRegions); typedef void (VKAPI *PFN_vkCmdSetEvent)(VkCmdBuffer cmdBuffer, VkEvent event, VkPipelineStageFlags stageMask); @@ -2836,7 +2831,7 @@ void VKAPI vkCmdClearColorImage( VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, - const VkClearColor* pColor, + const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); @@ -2853,7 +2848,7 @@ void VKAPI vkCmdClearColorAttachment( VkCmdBuffer cmdBuffer, uint32_t colorAttachment, VkImageLayout imageLayout, - const VkClearColor* pColor, + const VkClearColorValue* pColor, uint32_t rectCount, const VkRect3D* pRects); diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index 3da7d54c..fa3b36aa 100644 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -2482,7 +2482,7 @@ VK_LAYER_EXPORT void VKAPI vkCmdFillBuffer(VkCmdBuffer cmdBuffer, VkBuffer destB VK_LAYER_EXPORT void VKAPI vkCmdClearColorImage( VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, - const VkClearColor *pColor, + const VkClearColorValue *pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) { GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); @@ -2682,8 +2682,8 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateRenderPass(VkDevice device, const VkRende memcpy((void*)localRPCI->pColorStoreOps, pCreateInfo->pColorStoreOps, localRPCI->colorAttachmentCount*sizeof(VkAttachmentStoreOp)); } if (pCreateInfo->pColorLoadClearValues) { - localRPCI->pColorLoadClearValues = new VkClearColor[localRPCI->colorAttachmentCount]; - memcpy((void*)localRPCI->pColorLoadClearValues, pCreateInfo->pColorLoadClearValues, localRPCI->colorAttachmentCount*sizeof(VkClearColor)); + localRPCI->pColorLoadClearValues = new VkClearColorValue[localRPCI->colorAttachmentCount]; + memcpy((void*)localRPCI->pColorLoadClearValues, pCreateInfo->pColorLoadClearValues, localRPCI->colorAttachmentCount*sizeof(VkClearColorValue)); } renderPassMap[*pRenderPass] = localRPCI; } diff --git a/layers/image.cpp b/layers/image.cpp index 02827951..d2c449ec 100644 --- a/layers/image.cpp +++ b/layers/image.cpp @@ -340,10 +340,10 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateRenderPass(VkDevice device, const VkRende for(uint32_t i = 0; i < pCreateInfo->colorAttachmentCount; ++i) { - if(!vk_validate_vkclearcolor(&(pCreateInfo->pColorLoadClearValues[i]))) + if(!vk_validate_vkclearcolorvalue(&(pCreateInfo->pColorLoadClearValues[i]))) { std::stringstream ss; - ss << "vkCreateRenderPass parameter, VkClearColor pCreateInfo->pColorLoadClearValues[" << i << "], is invalid"; + ss << "vkCreateRenderPass parameter, VkClearColorValue pCreateInfo->pColorLoadClearValues[" << i << "], is invalid"; log_msg(mdd(device), VK_DBG_REPORT_WARN_BIT, (VkObjectType)0, NULL, 0, 1, "IMAGE", ss.str().c_str()); } } diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp index 0411ca10..e4db2928 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -1923,7 +1923,7 @@ VK_LAYER_EXPORT void VKAPI vkCmdClearColorImage( VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, - const VkClearColor *pColor, + const VkClearColorValue *pColor, uint32_t rangeCount, const VkImageSubresourceRange *pRanges) { diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index 643399a4..3074ab11 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -8415,7 +8415,7 @@ VK_LAYER_EXPORT void VKAPI vkCmdFillBuffer( void PreCmdClearColorImage( VkCmdBuffer cmdBuffer, - const VkClearColor* pColor, + const VkClearColorValue* pColor, const VkImageSubresourceRange* pRanges) { if(cmdBuffer == nullptr) @@ -8481,7 +8481,7 @@ VK_LAYER_EXPORT void VKAPI vkCmdClearColorImage( VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, - const VkClearColor* pColor, + const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) { diff --git a/loader/trampoline.c b/loader/trampoline.c index ef8e4f5e..f2239ff0 100644 --- a/loader/trampoline.c +++ b/loader/trampoline.c @@ -990,7 +990,7 @@ LOADER_EXPORT void VKAPI vkCmdFillBuffer(VkCmdBuffer cmdBuffer, VkBuffer destBuf disp->CmdFillBuffer(cmdBuffer, destBuffer, destOffset, fillSize, data); } -LOADER_EXPORT void VKAPI vkCmdClearColorImage(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColor* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) +LOADER_EXPORT void VKAPI vkCmdClearColorImage(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) { const VkLayerDispatchTable *disp; @@ -1008,7 +1008,7 @@ LOADER_EXPORT void VKAPI vkCmdClearDepthStencilImage(VkCmdBuffer cmdBuffer, VkIm disp->CmdClearDepthStencilImage(cmdBuffer, image, imageLayout, depth, stencil, rangeCount, pRanges); } -LOADER_EXPORT void VKAPI vkCmdClearColorAttachment(VkCmdBuffer cmdBuffer, uint32_t colorAttachment, VkImageLayout imageLayout, const VkClearColor* pColor, uint32_t rectCount, const VkRect3D* pRects) +LOADER_EXPORT void VKAPI vkCmdClearColorAttachment(VkCmdBuffer cmdBuffer, uint32_t colorAttachment, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rectCount, const VkRect3D* pRects) { const VkLayerDispatchTable *disp; @@ -734,7 +734,7 @@ core = Extension( [Param("VkCmdBuffer", "cmdBuffer"), Param("VkImage", "image"), Param("VkImageLayout", "imageLayout"), - Param("const VkClearColor*", "pColor"), + Param("const VkClearColorValue*", "pColor"), Param("uint32_t", "rangeCount"), Param("const VkImageSubresourceRange*", "pRanges")]), @@ -751,7 +751,7 @@ core = Extension( [Param("VkCmdBuffer", "cmdBuffer"), Param("uint32_t", "colorAttachment"), Param("VkImageLayout", "imageLayout"), - Param("const VkClearColor*", "pColor"), + Param("const VkClearColorValue*", "pColor"), Param("uint32_t", "rectCount"), Param("const VkRect3D*", "pRects")]), |
