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 2fc4c98aaf)
This commit is contained in:
Mel Henning 2025-04-21 16:13:24 -04:00 committed by Eric Engestrom
parent af61891fed
commit 006af589ee
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

@ -77,7 +77,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,
@ -203,7 +206,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,
@ -221,6 +225,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