nvk: Override render enable for blits and resolves

Fixes cts tests:

dEQP-VK.conditional_rendering.conditional_ignore.blit_image
dEQP-VK.conditional_rendering.conditional_ignore.blit_image_inverted
dEQP-VK.conditional_rendering.conditional_ignore.resolve_image
dEQP-VK.conditional_rendering.conditional_ignore.resolve_image_inverted

which were introduced in vk-gl-cts commit 4aa277c300

Fixes: 32f2317223 ("nvk: Use meta for doing blits with the 3D hardware")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34644>
(cherry picked from commit 2fc4c98aaff49d54187724f0452fce6df23c60bf)
This commit is contained in:
Mel Henning
2025-04-21 16:13:24 -04:00
committed by Eric Engestrom
parent e52fac2e6d
commit 9811e2b7d1
2 changed files with 9 additions and 3 deletions

View File

@@ -504,7 +504,7 @@
"description": "nvk: Override render enable for blits and resolves",
"nominated": true,
"nomination_type": 2,
"resolution": 0,
"resolution": 1,
"main_sha": null,
"because_sha": "32f2317223c4e5dfc085bd1c0f506bd0831e7fb2",
"notes": null

View File

@@ -78,7 +78,10 @@ nvk_meta_begin(struct nvk_cmd_buffer *cmd,
{
const struct nvk_descriptor_state *desc = &cmd->state.gfx.descriptors;
struct nv_push *p = nvk_cmd_buffer_push(cmd, 2);
struct nv_push *p = nvk_cmd_buffer_push(cmd, 4);
P_IMMD(p, NV9097, SET_RENDER_ENABLE_OVERRIDE, MODE_ALWAYS_RENDER);
P_IMMD(p, NV9097, SET_STATISTICS_COUNTER, {
.da_vertices_generated_enable = false,
.da_primitives_generated_enable = false,
@@ -204,7 +207,8 @@ nvk_meta_end(struct nvk_cmd_buffer *cmd,
nvk_descriptor_state_set_root_array(cmd, desc, push, 0, sizeof(save->push),
save->push);
struct nv_push *p = nvk_cmd_buffer_push(cmd, 2);
struct nv_push *p = nvk_cmd_buffer_push(cmd, 4);
P_IMMD(p, NV9097, SET_STATISTICS_COUNTER, {
.da_vertices_generated_enable = true,
.da_primitives_generated_enable = true,
@@ -222,6 +226,8 @@ nvk_meta_end(struct nvk_cmd_buffer *cmd,
.total_streaming_primitives_needed_succeeded_enable = true,
.vtg_primitives_out_enable = true,
});
P_IMMD(p, NV9097, SET_RENDER_ENABLE_OVERRIDE, MODE_USE_RENDER_ENABLE);
}
VKAPI_ATTR void VKAPI_CALL