anv: fix crash in ESO tests

dEQP-VK.shader_object.misc.state.shaders.vert_geom_frag.geometry_streams.enabled
dEQP-VK.shader_object.misc.state.shaders.vert_tess_geom_frag.geometry_streams.enabled

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 1d8847afcf ("anv: fix streamout config comparison")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37535>
This commit is contained in:
Lionel Landwerlin
2025-09-24 00:16:06 +03:00
parent f97b51186f
commit 66e9a2f61d
+3 -2
View File
@@ -1518,13 +1518,14 @@ bind_graphics_shaders(struct anv_cmd_buffer *cmd_buffer,
4 * shader->name.len) != 0)) \
BITSET_SET(hw_state->pack_dirty, ANV_GFX_STATE_##bit); \
} while (0)
#define diff_var_state_stage(bit, name, old_stage,shader) \
#define diff_var_state_stage(bit, name, old_stage, shader) \
do { \
/* Don't bother memcmp if the state is already dirty */ \
/* Also if the new state is empty, avoid marking dirty */ \
if (!BITSET_TEST(hw_state->pack_dirty, ANV_GFX_STATE_##bit) && \
shader->name.len != 0 && \
(gfx->shaders[old_stage] == NULL || \
(old_stage == MESA_SHADER_NONE || \
gfx->shaders[old_stage] == NULL || \
gfx->shaders[old_stage]->name.len != shader->name.len || \
memcmp(&gfx->shaders[old_stage]->cmd_data[ \
gfx->shaders[old_stage]->name.offset], \