d3d12: Fix compute transform for multi-draw indirect with dynamic count + state vars

NIR validation will complain on the UBO range not being set.

Fixes: 3a8c8d25 ("d3d12: Add a compute transformation to handle indirect draws that need draw params")
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14787>
This commit is contained in:
Jesse Natalie 2022-01-27 07:58:46 -08:00
parent 2d4ee41df0
commit 31aaf92b7d
1 changed files with 2 additions and 1 deletions

View File

@ -52,7 +52,8 @@ get_indirect_draw_base_vertex_transform(const d3d12_compute_transform_key *args)
nir_ssa_def *draw_id = nir_channel(&b, nir_load_global_invocation_id(&b, 32), 0);
if (args->base_vertex.dynamic_count) {
nir_ssa_def *count = nir_load_ubo(&b, 1, 32, nir_imm_int(&b, 1), nir_imm_int(&b, 0));
nir_ssa_def *count = nir_load_ubo(&b, 1, 32, nir_imm_int(&b, 1), nir_imm_int(&b, 0),
(gl_access_qualifier)0, 4, 0, 0, 4);
nir_push_if(&b, nir_ilt(&b, draw_id, count));
}