tu: Use the common versions of vkBegin/EndQuery()

Move all the logic into tu_CmdBegin/EndQueryIndexedEXT. CmdBegin/EndQuery in
the common runtime is a wrapper that calls tu_CmdBegin/EndQueryIndexedEXT with
index 0.

Signed-off-by: Valentine Burley <valentine.burley@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29441>
This commit is contained in:
Valentine Burley
2024-05-28 19:00:12 +02:00
committed by Marge Bot
parent 45a3c2d197
commit cc432c358a

View File

@@ -1102,10 +1102,11 @@ emit_begin_prim_generated_query(struct tu_cmd_buffer *cmdbuf,
template <chip CHIP>
VKAPI_ATTR void VKAPI_CALL
tu_CmdBeginQuery(VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
uint32_t query,
VkQueryControlFlags flags)
tu_CmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
uint32_t query,
VkQueryControlFlags flags,
uint32_t index)
{
VK_FROM_HANDLE(tu_cmd_buffer, cmdbuf, commandBuffer);
VK_FROM_HANDLE(tu_query_pool, pool, queryPool);
@@ -1120,7 +1121,7 @@ tu_CmdBeginQuery(VkCommandBuffer commandBuffer,
emit_begin_occlusion_query<CHIP>(cmdbuf, pool, query);
break;
case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:
emit_begin_xfb_query<CHIP>(cmdbuf, pool, query, 0);
emit_begin_xfb_query<CHIP>(cmdbuf, pool, query, index);
break;
case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT:
emit_begin_prim_generated_query<CHIP>(cmdbuf, pool, query);
@@ -1137,31 +1138,6 @@ tu_CmdBeginQuery(VkCommandBuffer commandBuffer,
assert(!"Invalid query type");
}
}
TU_GENX(tu_CmdBeginQuery);
template <chip CHIP>
VKAPI_ATTR void VKAPI_CALL
tu_CmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
uint32_t query,
VkQueryControlFlags flags,
uint32_t index)
{
VK_FROM_HANDLE(tu_cmd_buffer, cmdbuf, commandBuffer);
VK_FROM_HANDLE(tu_query_pool, pool, queryPool);
assert(query < pool->size);
switch (pool->type) {
case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:
emit_begin_xfb_query<CHIP>(cmdbuf, pool, query, index);
break;
case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT:
emit_begin_prim_generated_query<CHIP>(cmdbuf, pool, query);
break;
default:
assert(!"Invalid query type");
}
}
TU_GENX(tu_CmdBeginQueryIndexedEXT);
template <chip CHIP>
@@ -1610,9 +1586,10 @@ handle_multiview_queries(struct tu_cmd_buffer *cmd,
template <chip CHIP>
VKAPI_ATTR void VKAPI_CALL
tu_CmdEndQuery(VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
uint32_t query)
tu_CmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
uint32_t query,
uint32_t index)
{
VK_FROM_HANDLE(tu_cmd_buffer, cmdbuf, commandBuffer);
VK_FROM_HANDLE(tu_query_pool, pool, queryPool);
@@ -1623,7 +1600,8 @@ tu_CmdEndQuery(VkCommandBuffer commandBuffer,
emit_end_occlusion_query<CHIP>(cmdbuf, pool, query);
break;
case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:
emit_end_xfb_query<CHIP>(cmdbuf, pool, query, 0);
assert(index <= 4);
emit_end_xfb_query<CHIP>(cmdbuf, pool, query, index);
break;
case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT:
emit_end_prim_generated_query<CHIP>(cmdbuf, pool, query);
@@ -1642,31 +1620,6 @@ tu_CmdEndQuery(VkCommandBuffer commandBuffer,
handle_multiview_queries(cmdbuf, pool, query);
}
TU_GENX(tu_CmdEndQuery);
template <chip CHIP>
VKAPI_ATTR void VKAPI_CALL
tu_CmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer,
VkQueryPool queryPool,
uint32_t query,
uint32_t index)
{
VK_FROM_HANDLE(tu_cmd_buffer, cmdbuf, commandBuffer);
VK_FROM_HANDLE(tu_query_pool, pool, queryPool);
assert(query < pool->size);
switch (pool->type) {
case VK_QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT:
assert(index <= 4);
emit_end_xfb_query<CHIP>(cmdbuf, pool, query, index);
break;
case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT:
emit_end_prim_generated_query<CHIP>(cmdbuf, pool, query);
break;
default:
assert(!"Invalid query type");
}
}
TU_GENX(tu_CmdEndQueryIndexedEXT);
VKAPI_ATTR void VKAPI_CALL