dzn: Support vkCmdDispatchBase
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20823>
This commit is contained in:
@@ -4080,16 +4080,22 @@ dzn_CmdClearDepthStencilImage(VkCommandBuffer commandBuffer,
|
||||
}
|
||||
|
||||
VKAPI_ATTR void VKAPI_CALL
|
||||
dzn_CmdDispatch(VkCommandBuffer commandBuffer,
|
||||
uint32_t groupCountX,
|
||||
uint32_t groupCountY,
|
||||
uint32_t groupCountZ)
|
||||
dzn_CmdDispatchBase(VkCommandBuffer commandBuffer,
|
||||
uint32_t baseGroupX,
|
||||
uint32_t baseGroupY,
|
||||
uint32_t baseGroupZ,
|
||||
uint32_t groupCountX,
|
||||
uint32_t groupCountY,
|
||||
uint32_t groupCountZ)
|
||||
{
|
||||
VK_FROM_HANDLE(dzn_cmd_buffer, cmdbuf, commandBuffer);
|
||||
|
||||
cmdbuf->state.sysvals.compute.group_count_x = groupCountX;
|
||||
cmdbuf->state.sysvals.compute.group_count_y = groupCountY;
|
||||
cmdbuf->state.sysvals.compute.group_count_z = groupCountZ;
|
||||
cmdbuf->state.sysvals.compute.base_group_x = baseGroupX;
|
||||
cmdbuf->state.sysvals.compute.base_group_y = baseGroupY;
|
||||
cmdbuf->state.sysvals.compute.base_group_z = baseGroupZ;
|
||||
cmdbuf->state.bindpoint[VK_PIPELINE_BIND_POINT_COMPUTE].dirty |=
|
||||
DZN_CMD_BINDPOINT_DIRTY_SYSVALS;
|
||||
|
||||
@@ -5359,6 +5365,9 @@ dzn_CmdDispatchIndirect(VkCommandBuffer commandBuffer,
|
||||
cmdbuf->state.sysvals.compute.group_count_x = 0;
|
||||
cmdbuf->state.sysvals.compute.group_count_y = 0;
|
||||
cmdbuf->state.sysvals.compute.group_count_z = 0;
|
||||
cmdbuf->state.sysvals.compute.base_group_x = 0;
|
||||
cmdbuf->state.sysvals.compute.base_group_y = 0;
|
||||
cmdbuf->state.sysvals.compute.base_group_z = 0;
|
||||
cmdbuf->state.bindpoint[VK_PIPELINE_BIND_POINT_COMPUTE].dirty |=
|
||||
DZN_CMD_BINDPOINT_DIRTY_SYSVALS;
|
||||
|
||||
|
@@ -250,6 +250,7 @@ dzn_pipeline_get_nir_shader(struct dzn_device *device,
|
||||
.base_shader_register = 0,
|
||||
},
|
||||
.zero_based_vertex_instance_id = false,
|
||||
.zero_based_compute_workgroup_id = false,
|
||||
.yz_flip = {
|
||||
.mode = options->yz_flip_mode,
|
||||
.y_mask = options->y_flip_mask,
|
||||
|
Reference in New Issue
Block a user