diff options
author | Iago Toral Quiroga <[email protected]> | 2019-08-14 09:27:13 +0200 |
---|---|---|
committer | Jose Maria Casanova Crespo <[email protected]> | 2019-10-18 14:08:52 +0200 |
commit | 46182fc1da0b5cabc09e818bddc6b7968d4d2b7b (patch) | |
tree | 684bbd74617b7590b62e5a0a24ba2a5c3d892233 /src/gallium | |
parent | d2203d74c654b5519a9ebfce061f763b495ed568 (diff) |
v3d: add new flag dirty TMU cache at v3d_compiler
That we set for any TMU write on spills and general tmu. It is then
used as part of v3d_emit_gl_shader_state later.
v2: add a new flag instead at v3d_compiler instead of dirty the flag
at v3dx if there is any spill (change suggested by Eric, added by
Alejandro)
v3: set this for anything that is not a load and do it also in
v3d40_vir_emit_image_load_store (Eric)
Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/gallium')
-rw-r--r-- | src/gallium/drivers/v3d/v3dx_draw.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/v3d/v3dx_draw.c b/src/gallium/drivers/v3d/v3dx_draw.c index b0b52fa00b6..5795279b886 100644 --- a/src/gallium/drivers/v3d/v3dx_draw.c +++ b/src/gallium/drivers/v3d/v3dx_draw.c @@ -349,6 +349,11 @@ v3d_emit_gl_shader_state(struct v3d_context *v3d, v3d_write_uniforms(v3d, v3d->prog.cs, PIPE_SHADER_VERTEX); + /* Update the cache dirty flag based on the shader progs data */ + job->tmu_dirty_rcl |= v3d->prog.cs->prog_data.vs->base.tmu_dirty_rcl; + job->tmu_dirty_rcl |= v3d->prog.vs->prog_data.vs->base.tmu_dirty_rcl; + job->tmu_dirty_rcl |= v3d->prog.fs->prog_data.fs->base.tmu_dirty_rcl; + /* See GFXH-930 workaround below */ uint32_t num_elements_to_emit = MAX2(vtx->num_elements, 1); uint32_t shader_rec_offset = |