diff options
| author | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-09-15 18:03:22 -0600 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-09-17 15:32:11 -0600 |
| commit | 1000fe1fc7c0d45edc21cef96ca3ccfc3cb0aed4 (patch) | |
| tree | e4049387428fcf70bd25f056e336ab01f86c8c79 | |
| parent | 1e47e4b481b5a4a0891ad3e0db1683be49dfbdf2 (diff) | |
| download | usermoji-1000fe1fc7c0d45edc21cef96ca3ccfc3cb0aed4.tar.xz | |
Bug 14643: use VkClearDepthStencilValue
| -rw-r--r-- | icd/nulldrv/nulldrv.c | 14 | ||||
| -rw-r--r-- | include/vulkan.h | 20 | ||||
| -rw-r--r-- | layers/draw_state.cpp | 17 | ||||
| -rw-r--r-- | layers/mem_tracker.cpp | 15 | ||||
| -rw-r--r-- | layers/param_checker.cpp | 20 | ||||
| -rw-r--r-- | loader/trampoline.c | 8 | ||||
| -rwxr-xr-x | vulkan.py | 6 |
7 files changed, 45 insertions, 55 deletions
diff --git a/icd/nulldrv/nulldrv.c b/icd/nulldrv/nulldrv.c index 68014411..bb67967b 100644 --- a/icd/nulldrv/nulldrv.c +++ b/icd/nulldrv/nulldrv.c @@ -1056,13 +1056,12 @@ ICD_EXPORT void VKAPI vkCmdFillBuffer( } ICD_EXPORT void VKAPI vkCmdClearDepthStencilImage( - VkCmdBuffer cmdBuffer, - VkImage image, - VkImageLayout imageLayout, - float depth, - uint32_t stencil, + VkCmdBuffer cmdBuffer, + VkImage image, + VkImageLayout imageLayout, + const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, - const VkImageSubresourceRange* pRanges) + const VkImageSubresourceRange* pRanges) { NULLDRV_LOG_FUNC; } @@ -1082,8 +1081,7 @@ ICD_EXPORT void VKAPI vkCmdClearDepthStencilAttachment( VkCmdBuffer cmdBuffer, VkImageAspectFlags imageAspectMask, VkImageLayout imageLayout, - float depth, - uint32_t stencil, + const VkClearDepthStencilValue* pDepthStencil, uint32_t rectCount, const VkRect3D *pRects) { diff --git a/include/vulkan.h b/include/vulkan.h index 89c93a26..b8c75853 100644 --- a/include/vulkan.h +++ b/include/vulkan.h @@ -2006,6 +2006,11 @@ typedef union { } VkClearColorValue; typedef struct { + float depth; + uint32_t stencil; +} VkClearDepthStencilValue; + +typedef struct { VkOffset3D offset; VkExtent3D extent; } VkRect3D; @@ -2018,11 +2023,6 @@ typedef struct { VkExtent3D extent; } VkImageResolve; -typedef struct { - float depth; - uint32_t stencil; -} VkClearDepthStencilValue; - typedef union { VkClearColorValue color; VkClearDepthStencilValue depthStencil; @@ -2228,9 +2228,9 @@ typedef void (VKAPI *PFN_vkCmdCopyImageToBuffer)(VkCmdBuffer cmdBuffer, VkImage 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 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_vkCmdClearDepthStencilImage)(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); 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 aspectMask, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rectCount, const VkRect3D* pRects); +typedef void (VKAPI *PFN_vkCmdClearDepthStencilAttachment)(VkCmdBuffer cmdBuffer, VkImageAspectFlags aspectMask, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, 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); typedef void (VKAPI *PFN_vkCmdResetEvent)(VkCmdBuffer cmdBuffer, VkEvent event, VkPipelineStageFlags stageMask); @@ -2955,8 +2955,7 @@ void VKAPI vkCmdClearDepthStencilImage( VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, - float depth, - uint32_t stencil, + const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges); @@ -2972,8 +2971,7 @@ void VKAPI vkCmdClearDepthStencilAttachment( VkCmdBuffer cmdBuffer, VkImageAspectFlags aspectMask, VkImageLayout imageLayout, - float depth, - uint32_t stencil, + const VkClearDepthStencilValue* pDepthStencil, uint32_t rectCount, const VkRect3D* pRects); diff --git a/layers/draw_state.cpp b/layers/draw_state.cpp index a831869a..172260eb 100644 --- a/layers/draw_state.cpp +++ b/layers/draw_state.cpp @@ -2715,8 +2715,7 @@ VK_LAYER_EXPORT void VKAPI vkCmdClearDepthStencilAttachment( VkCmdBuffer cmdBuffer, VkImageAspectFlags imageAspectMask, VkImageLayout imageLayout, - float depth, - uint32_t stencil, + const VkClearDepthStencilValue* pDepthStencil, uint32_t rectCount, const VkRect3D* pRects) { @@ -2744,7 +2743,7 @@ VK_LAYER_EXPORT void VKAPI vkCmdClearDepthStencilAttachment( } } if (VK_FALSE == skipCall) - get_dispatch_table(draw_state_device_table_map, cmdBuffer)->CmdClearDepthStencilAttachment(cmdBuffer, imageAspectMask, imageLayout, depth, stencil, rectCount, pRects); + get_dispatch_table(draw_state_device_table_map, cmdBuffer)->CmdClearDepthStencilAttachment(cmdBuffer, imageAspectMask, imageLayout, pDepthStencil, rectCount, pRects); } VK_LAYER_EXPORT void VKAPI vkCmdClearColorImage( @@ -2773,10 +2772,12 @@ VK_LAYER_EXPORT void VKAPI vkCmdClearColorImage( get_dispatch_table(draw_state_device_table_map, cmdBuffer)->CmdClearColorImage(cmdBuffer, image, imageLayout, pColor, rangeCount, pRanges); } -VK_LAYER_EXPORT void VKAPI vkCmdClearDepthStencilImage(VkCmdBuffer cmdBuffer, - VkImage image, VkImageLayout imageLayout, - float depth, uint32_t stencil, - uint32_t rangeCount, const VkImageSubresourceRange* pRanges) +VK_LAYER_EXPORT void VKAPI vkCmdClearDepthStencilImage( + VkCmdBuffer cmdBuffer, + VkImage image, VkImageLayout imageLayout, + const VkClearDepthStencilValue *pDepthStencil, + uint32_t rangeCount, + const VkImageSubresourceRange* pRanges) { VkBool32 skipCall = VK_FALSE; GLOBAL_CB_NODE* pCB = getCBNode(cmdBuffer); @@ -2795,7 +2796,7 @@ VK_LAYER_EXPORT void VKAPI vkCmdClearDepthStencilImage(VkCmdBuffer cmdBuffer, } } if (VK_FALSE == skipCall) - get_dispatch_table(draw_state_device_table_map, cmdBuffer)->CmdClearDepthStencilImage(cmdBuffer, image, imageLayout, depth, stencil, rangeCount, pRanges); + get_dispatch_table(draw_state_device_table_map, cmdBuffer)->CmdClearDepthStencilImage(cmdBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges); } VK_LAYER_EXPORT void VKAPI vkCmdResolveImage(VkCmdBuffer cmdBuffer, diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp index 0b2d7a61..29b10d44 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -2903,13 +2903,12 @@ VK_LAYER_EXPORT void VKAPI vkCmdClearColorImage( } VK_LAYER_EXPORT void VKAPI vkCmdClearDepthStencilImage( - VkCmdBuffer cmdBuffer, - VkImage image, - VkImageLayout imageLayout, - float depth, - uint32_t stencil, - uint32_t rangeCount, - const VkImageSubresourceRange *pRanges) + VkCmdBuffer cmdBuffer, + VkImage image, + VkImageLayout imageLayout, + const VkClearDepthStencilValue* pDepthStencil, + uint32_t rangeCount, + const VkImageSubresourceRange* pRanges) { // TODO : Verify memory is in VK_IMAGE_STATE_CLEAR state VkDeviceMemory mem; @@ -2920,7 +2919,7 @@ VK_LAYER_EXPORT void VKAPI vkCmdClearDepthStencilImage( loader_platform_thread_unlock_mutex(&globalLock); if (VK_FALSE == skipCall) { get_dispatch_table(mem_tracker_device_table_map, cmdBuffer)->CmdClearDepthStencilImage( - cmdBuffer, image, imageLayout, depth, stencil, rangeCount, pRanges); + cmdBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges); } } diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index c93f4875..ea31546c 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -6655,8 +6655,7 @@ bool PostCmdClearDepthStencilImage( VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, - float depth, - uint32_t stencil, + const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount) { @@ -6679,16 +6678,15 @@ VK_LAYER_EXPORT void VKAPI vkCmdClearDepthStencilImage( VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, - float depth, - uint32_t stencil, + const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) { PreCmdClearDepthStencilImage(cmdBuffer, pRanges); - get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdClearDepthStencilImage(cmdBuffer, image, imageLayout, depth, stencil, rangeCount, pRanges); + get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdClearDepthStencilImage(cmdBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges); - PostCmdClearDepthStencilImage(cmdBuffer, image, imageLayout, depth, stencil, rangeCount); + PostCmdClearDepthStencilImage(cmdBuffer, image, imageLayout, pDepthStencil, rangeCount); } bool PreCmdClearColorAttachment( @@ -6757,8 +6755,7 @@ bool PostCmdClearDepthStencilAttachment( VkCmdBuffer cmdBuffer, VkImageAspectFlags imageAspectMask, VkImageLayout imageLayout, - float depth, - uint32_t stencil, + const VkClearDepthStencilValue* pDepthStencil, uint32_t rectCount) { @@ -6781,16 +6778,15 @@ VK_LAYER_EXPORT void VKAPI vkCmdClearDepthStencilAttachment( VkCmdBuffer cmdBuffer, VkImageAspectFlags imageAspectMask, VkImageLayout imageLayout, - float depth, - uint32_t stencil, + const VkClearDepthStencilValue* pDepthStencil, uint32_t rectCount, const VkRect3D* pRects) { PreCmdClearDepthStencilAttachment(cmdBuffer, pRects); - get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdClearDepthStencilAttachment(cmdBuffer, imageAspectMask, imageLayout, depth, stencil, rectCount, pRects); + get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdClearDepthStencilAttachment(cmdBuffer, imageAspectMask, imageLayout, pDepthStencil, rectCount, pRects); - PostCmdClearDepthStencilAttachment(cmdBuffer, imageAspectMask, imageLayout, depth, stencil, rectCount); + PostCmdClearDepthStencilAttachment(cmdBuffer, imageAspectMask, imageLayout, pDepthStencil, rectCount); } bool PreCmdResolveImage( diff --git a/loader/trampoline.c b/loader/trampoline.c index b1a8390b..b24e8225 100644 --- a/loader/trampoline.c +++ b/loader/trampoline.c @@ -1427,13 +1427,13 @@ LOADER_EXPORT void VKAPI vkCmdClearColorImage(VkCmdBuffer cmdBuffer, VkImage ima disp->CmdClearColorImage(cmdBuffer, image, imageLayout, pColor, rangeCount, pRanges); } -LOADER_EXPORT void VKAPI vkCmdClearDepthStencilImage(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) +LOADER_EXPORT void VKAPI vkCmdClearDepthStencilImage(VkCmdBuffer cmdBuffer, VkImage image, VkImageLayout imageLayout, const VkClearDepthStencilValue* pDepthStencil, uint32_t rangeCount, const VkImageSubresourceRange* pRanges) { const VkLayerDispatchTable *disp; disp = loader_get_dispatch(cmdBuffer); - disp->CmdClearDepthStencilImage(cmdBuffer, image, imageLayout, depth, stencil, rangeCount, pRanges); + disp->CmdClearDepthStencilImage(cmdBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges); } LOADER_EXPORT void VKAPI vkCmdClearColorAttachment(VkCmdBuffer cmdBuffer, uint32_t colorAttachment, VkImageLayout imageLayout, const VkClearColorValue* pColor, uint32_t rectCount, const VkRect3D* pRects) @@ -1445,13 +1445,13 @@ LOADER_EXPORT void VKAPI vkCmdClearColorAttachment(VkCmdBuffer cmdBuffer, uint32 disp->CmdClearColorAttachment(cmdBuffer, colorAttachment, imageLayout, pColor, rectCount, pRects); } -LOADER_EXPORT void VKAPI vkCmdClearDepthStencilAttachment(VkCmdBuffer cmdBuffer, VkImageAspectFlags imageAspectMask, VkImageLayout imageLayout, float depth, uint32_t stencil, uint32_t rectCount, const VkRect3D* pRects) +LOADER_EXPORT void VKAPI vkCmdClearDepthStencilAttachment(VkCmdBuffer cmdBuffer, VkImageAspectFlags imageAspectMask, VkImageLayout imageLayout, const VkClearDepthStencilValue *pDepthStencil, uint32_t rectCount, const VkRect3D* pRects) { const VkLayerDispatchTable *disp; disp = loader_get_dispatch(cmdBuffer); - disp->CmdClearDepthStencilAttachment(cmdBuffer, imageAspectMask, imageLayout, depth, stencil, rectCount, pRects); + disp->CmdClearDepthStencilAttachment(cmdBuffer, imageAspectMask, imageLayout, pDepthStencil, rectCount, pRects); } LOADER_EXPORT void VKAPI vkCmdResolveImage(VkCmdBuffer cmdBuffer, VkImage srcImage, VkImageLayout srcImageLayout, VkImage destImage, VkImageLayout destImageLayout, uint32_t regionCount, const VkImageResolve* pRegions) @@ -901,8 +901,7 @@ core = Extension( [Param("VkCmdBuffer", "cmdBuffer"), Param("VkImage", "image"), Param("VkImageLayout", "imageLayout"), - Param("float", "depth"), - Param("uint32_t", "stencil"), + Param("const VkClearDepthStencilValue*", "pDepthStencil"), Param("uint32_t", "rangeCount"), Param("const VkImageSubresourceRange*", "pRanges")]), @@ -918,8 +917,7 @@ core = Extension( [Param("VkCmdBuffer", "cmdBuffer"), Param("VkImageAspectFlags", "imageAspectMask"), Param("VkImageLayout", "imageLayout"), - Param("float", "depth"), - Param("uint32_t", "stencil"), + Param("const VkClearDepthStencilValue*", "pDepthStencil"), Param("uint32_t", "rectCount"), Param("const VkRect3D*", "pRects")]), |
