mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 02:10:11 +01:00
zink: always unset vertex shader variant key data when changing last vertex stage
ensure that vertex key data is always zeroed when changing last stage since it will be updated before draw anyway and can only cause problems if left alone here fixes the following caselist: dEQP-GLES31.functional.shaders.builtin_constants.tessellation_shader.max_tess_evaluation_texture_image_units dEQP-GLES31.functional.tessellation_geometry_interaction.feedback.tessellation_output_quads_geometry_output_points dEQP-GLES31.functional.ubo.random.all_per_block_buffers.25 cc: mesa-stable Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14482>
This commit is contained in:
parent
a9545153a0
commit
d15ff96da2
1 changed files with 3 additions and 0 deletions
|
|
@ -919,6 +919,9 @@ bind_last_vertex_stage(struct zink_context *ctx)
|
|||
if (old != PIPE_SHADER_TYPES) {
|
||||
memset(&ctx->gfx_pipeline_state.shader_keys.key[old].key.vs_base, 0, sizeof(struct zink_vs_key_base));
|
||||
ctx->dirty_shader_stages |= BITFIELD_BIT(old);
|
||||
} else {
|
||||
/* always unset vertex shader values when changing to a non-vs last stage */
|
||||
memset(&ctx->gfx_pipeline_state.shader_keys.key[PIPE_SHADER_VERTEX].key.vs_base, 0, sizeof(struct zink_vs_key_base));
|
||||
}
|
||||
ctx->last_vertex_stage_dirty = true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue