diff options
| author | Tony Barbour <tony@LunarG.com> | 2015-06-29 16:20:35 -0600 |
|---|---|---|
| committer | Tony Barbour <tony@LunarG.com> | 2015-07-01 13:05:16 -0600 |
| commit | 50bbca4293c3d2ee5b87fedb824e71f0f19e0c46 (patch) | |
| tree | 3ab83c8db0587ff66ec67c1b6bce44571fc4a318 /layers/param_checker.cpp | |
| parent | 08ca8c9558891e43cb0431872ea188f1de3d39af (diff) | |
| download | usermoji-50bbca4293c3d2ee5b87fedb824e71f0f19e0c46.tar.xz | |
vulkan.h: Bug 14181 - Barriers need to be more precise
Diffstat (limited to 'layers/param_checker.cpp')
| -rw-r--r-- | layers/param_checker.cpp | 88 |
1 files changed, 25 insertions, 63 deletions
diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index 70ced01e..22ca3e08 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -8619,7 +8619,7 @@ void PreCmdSetEvent( void PostCmdSetEvent( VkCmdBuffer cmdBuffer, VkEvent event, - VkPipeEvent pipeEvent) + VkPipelineStageFlags stageMask) { if(cmdBuffer == nullptr) { @@ -8635,24 +8635,17 @@ void PostCmdSetEvent( return; } - if(pipeEvent < VK_PIPE_EVENT_BEGIN_RANGE || - pipeEvent > VK_PIPE_EVENT_END_RANGE) - { - log_msg(mdd(cmdBuffer), VK_DBG_REPORT_WARN_BIT, (VkObjectType)0, NULL, 0, 1, "PARAMCHECK", - "vkCmdSetEvent parameter, VkPipeEvent pipeEvent, is unrecognized enumerator"); - return; - } } VK_LAYER_EXPORT void VKAPI vkCmdSetEvent( VkCmdBuffer cmdBuffer, VkEvent event, - VkPipeEvent pipeEvent) + VkPipelineStageFlags stageMask) { PreCmdSetEvent(cmdBuffer); - get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdSetEvent(cmdBuffer, event, pipeEvent); + get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdSetEvent(cmdBuffer, event, stageMask); - PostCmdSetEvent(cmdBuffer, event, pipeEvent); + PostCmdSetEvent(cmdBuffer, event, stageMask); } void PreCmdResetEvent( @@ -8669,7 +8662,7 @@ void PreCmdResetEvent( void PostCmdResetEvent( VkCmdBuffer cmdBuffer, VkEvent event, - VkPipeEvent pipeEvent) + VkPipelineStageFlags stageMask) { if(cmdBuffer == nullptr) { @@ -8685,24 +8678,17 @@ void PostCmdResetEvent( return; } - if(pipeEvent < VK_PIPE_EVENT_BEGIN_RANGE || - pipeEvent > VK_PIPE_EVENT_END_RANGE) - { - log_msg(mdd(cmdBuffer), VK_DBG_REPORT_WARN_BIT, (VkObjectType)0, NULL, 0, 1, "PARAMCHECK", - "vkCmdResetEvent parameter, VkPipeEvent pipeEvent, is unrecognized enumerator"); - return; - } } VK_LAYER_EXPORT void VKAPI vkCmdResetEvent( VkCmdBuffer cmdBuffer, VkEvent event, - VkPipeEvent pipeEvent) + VkPipelineStageFlags stageMask) { PreCmdResetEvent(cmdBuffer); - get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdResetEvent(cmdBuffer, event, pipeEvent); + get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdResetEvent(cmdBuffer, event, stageMask); - PostCmdResetEvent(cmdBuffer, event, pipeEvent); + PostCmdResetEvent(cmdBuffer, event, stageMask); } void PreCmdWaitEvents( @@ -8740,8 +8726,9 @@ void PreCmdWaitEvents( void PostCmdWaitEvents( VkCmdBuffer cmdBuffer, - VkWaitEvent waitEvent, uint32_t eventCount, + VkPipelineStageFlags sourceStageMask, + VkPipelineStageFlags destStageMask, uint32_t memBarrierCount) { if(cmdBuffer == nullptr) @@ -8751,34 +8738,28 @@ void PostCmdWaitEvents( return; } - if(waitEvent < VK_WAIT_EVENT_BEGIN_RANGE || - waitEvent > VK_WAIT_EVENT_END_RANGE) - { - log_msg(mdd(cmdBuffer), VK_DBG_REPORT_WARN_BIT, (VkObjectType)0, NULL, 0, 1, "PARAMCHECK", - "vkCmdWaitEvents parameter, VkWaitEvent waitEvent, is unrecognized enumerator"); - return; - } + } VK_LAYER_EXPORT void VKAPI vkCmdWaitEvents( VkCmdBuffer cmdBuffer, - VkWaitEvent waitEvent, uint32_t eventCount, const VkEvent* pEvents, + VkPipelineStageFlags sourceStageMask, + VkPipelineStageFlags destStageMask, uint32_t memBarrierCount, const void** ppMemBarriers) { PreCmdWaitEvents(cmdBuffer, pEvents, ppMemBarriers); - get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdWaitEvents(cmdBuffer, waitEvent, eventCount, pEvents, memBarrierCount, ppMemBarriers); + get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdWaitEvents(cmdBuffer, eventCount, pEvents, sourceStageMask, destStageMask, memBarrierCount, ppMemBarriers); - PostCmdWaitEvents(cmdBuffer, waitEvent, eventCount, memBarrierCount); + PostCmdWaitEvents(cmdBuffer, eventCount, sourceStageMask, destStageMask, memBarrierCount); } void PreCmdPipelineBarrier( VkCmdBuffer cmdBuffer, - const VkPipeEvent* pPipeEvents, const void** ppMemBarriers) { if(cmdBuffer == nullptr) @@ -8788,20 +8769,6 @@ void PreCmdPipelineBarrier( return; } - if(pPipeEvents == nullptr) - { - log_msg(mdd(cmdBuffer), VK_DBG_REPORT_WARN_BIT, (VkObjectType)0, NULL, 0, 1, "PARAMCHECK", - "vkCmdPipelineBarrier parameter, const VkPipeEvent* pPipeEvents, is null pointer"); - return; - } - if((*pPipeEvents) < VK_PIPE_EVENT_BEGIN_RANGE || - (*pPipeEvents) > VK_PIPE_EVENT_END_RANGE) - { - log_msg(mdd(cmdBuffer), VK_DBG_REPORT_WARN_BIT, (VkObjectType)0, NULL, 0, 1, "PARAMCHECK", - "vkCmdPipelineBarrier parameter, const VkPipeEvent* pPipeEvents, is unrecognized enumerator"); - return; - } - if(ppMemBarriers == nullptr) { log_msg(mdd(cmdBuffer), VK_DBG_REPORT_WARN_BIT, (VkObjectType)0, NULL, 0, 1, "PARAMCHECK", @@ -8812,8 +8779,9 @@ void PreCmdPipelineBarrier( void PostCmdPipelineBarrier( VkCmdBuffer cmdBuffer, - VkWaitEvent waitEvent, - uint32_t pipeEventCount, + VkPipelineStageFlags sourceStageMask, + VkPipelineStageFlags destStageMask, + bool32_t byRegion, uint32_t memBarrierCount) { if(cmdBuffer == nullptr) @@ -8823,29 +8791,23 @@ void PostCmdPipelineBarrier( return; } - if(waitEvent < VK_WAIT_EVENT_BEGIN_RANGE || - waitEvent > VK_WAIT_EVENT_END_RANGE) - { - log_msg(mdd(cmdBuffer), VK_DBG_REPORT_WARN_BIT, (VkObjectType)0, NULL, 0, 1, "PARAMCHECK", - "vkCmdPipelineBarrier parameter, VkWaitEvent waitEvent, is unrecognized enumerator"); - return; - } + } VK_LAYER_EXPORT void VKAPI vkCmdPipelineBarrier( VkCmdBuffer cmdBuffer, - VkWaitEvent waitEvent, - uint32_t pipeEventCount, - const VkPipeEvent* pPipeEvents, + VkPipelineStageFlags sourceStageMask, + VkPipelineStageFlags destStageMask, + bool32_t byRegion, uint32_t memBarrierCount, const void** ppMemBarriers) { - PreCmdPipelineBarrier(cmdBuffer, pPipeEvents, ppMemBarriers); - get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdPipelineBarrier(cmdBuffer, waitEvent, pipeEventCount, pPipeEvents, memBarrierCount, ppMemBarriers); + PreCmdPipelineBarrier(cmdBuffer, ppMemBarriers); + get_dispatch_table(pc_device_table_map, cmdBuffer)->CmdPipelineBarrier(cmdBuffer, sourceStageMask, destStageMask, byRegion, memBarrierCount, ppMemBarriers); - PostCmdPipelineBarrier(cmdBuffer, waitEvent, pipeEventCount, memBarrierCount); + PostCmdPipelineBarrier(cmdBuffer, sourceStageMask, destStageMask, byRegion, memBarrierCount); } void PreCmdBeginQuery( |
