mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-04 18:28:12 +02:00
zink: flag previous vertex stages as dirty when toggling a later stage
this ensures that the correct variant is used for streamout and halfz Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8682>
This commit is contained in:
parent
aedde2d60d
commit
079f348a5c
1 changed files with 9 additions and 2 deletions
|
|
@ -629,7 +629,11 @@ static void
|
|||
zink_bind_gs_state(struct pipe_context *pctx,
|
||||
void *cso)
|
||||
{
|
||||
bind_stage(zink_context(pctx), PIPE_SHADER_GEOMETRY, cso);
|
||||
struct zink_context *ctx = zink_context(pctx);
|
||||
if (!!ctx->gfx_stages[PIPE_SHADER_GEOMETRY] != !!cso)
|
||||
ctx->dirty_shader_stages |= BITFIELD_BIT(PIPE_SHADER_VERTEX) |
|
||||
BITFIELD_BIT(PIPE_SHADER_TESS_EVAL);
|
||||
bind_stage(ctx, PIPE_SHADER_GEOMETRY, cso);
|
||||
}
|
||||
|
||||
static void *
|
||||
|
|
@ -669,7 +673,10 @@ static void
|
|||
zink_bind_tes_state(struct pipe_context *pctx,
|
||||
void *cso)
|
||||
{
|
||||
bind_stage(zink_context(pctx), PIPE_SHADER_TESS_EVAL, cso);
|
||||
struct zink_context *ctx = zink_context(pctx);
|
||||
if (!!ctx->gfx_stages[PIPE_SHADER_TESS_EVAL] != !!cso)
|
||||
ctx->dirty_shader_stages |= BITFIELD_BIT(PIPE_SHADER_VERTEX);
|
||||
bind_stage(ctx, PIPE_SHADER_TESS_EVAL, cso);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue