mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 11:40:10 +01:00
kk: Avoid Metal validation error due to empty calls
Reviewed-by: Arcady Goldmints-Orlov <arcady@lunarg.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38174>
This commit is contained in:
parent
cc60a7a39d
commit
e44a776f47
2 changed files with 12 additions and 0 deletions
|
|
@ -60,6 +60,10 @@ VKAPI_ATTR void VKAPI_CALL
|
||||||
kk_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX,
|
kk_CmdDispatch(VkCommandBuffer commandBuffer, uint32_t groupCountX,
|
||||||
uint32_t groupCountY, uint32_t groupCountZ)
|
uint32_t groupCountY, uint32_t groupCountZ)
|
||||||
{
|
{
|
||||||
|
/* Metal validation dislikes empty disptaches */
|
||||||
|
if (groupCountX * groupCountY * groupCountZ == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
kk_CmdDispatchBase(commandBuffer, 0, 0, 0, groupCountX, groupCountY,
|
kk_CmdDispatchBase(commandBuffer, 0, 0, 0, groupCountX, groupCountY,
|
||||||
groupCountZ);
|
groupCountZ);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -849,6 +849,10 @@ VKAPI_ATTR void VKAPI_CALL
|
||||||
kk_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount,
|
kk_CmdDraw(VkCommandBuffer commandBuffer, uint32_t vertexCount,
|
||||||
uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
|
uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
|
||||||
{
|
{
|
||||||
|
/* Metal validation dislikes empty calls */
|
||||||
|
if (instanceCount == 0 || vertexCount == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
VK_FROM_HANDLE(kk_cmd_buffer, cmd, commandBuffer);
|
VK_FROM_HANDLE(kk_cmd_buffer, cmd, commandBuffer);
|
||||||
|
|
||||||
kk_flush_draw_state(cmd);
|
kk_flush_draw_state(cmd);
|
||||||
|
|
@ -891,6 +895,10 @@ kk_CmdDrawIndexed(VkCommandBuffer commandBuffer, uint32_t indexCount,
|
||||||
uint32_t instanceCount, uint32_t firstIndex,
|
uint32_t instanceCount, uint32_t firstIndex,
|
||||||
int32_t vertexOffset, uint32_t firstInstance)
|
int32_t vertexOffset, uint32_t firstInstance)
|
||||||
{
|
{
|
||||||
|
/* Metal validation dislikes empty calls */
|
||||||
|
if (instanceCount == 0 || indexCount == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
VK_FROM_HANDLE(kk_cmd_buffer, cmd, commandBuffer);
|
VK_FROM_HANDLE(kk_cmd_buffer, cmd, commandBuffer);
|
||||||
|
|
||||||
kk_flush_draw_state(cmd);
|
kk_flush_draw_state(cmd);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue