mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-02-15 00:10:25 +01:00
radeonsi: emit VGT_REUSE_OFF in the right place
clip_regs aren't marked dirty when writes_viewport_index is changed.
Cc: 17.2 <mesa-stable@lists.freedesktop.org>
Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
(cherry picked from commit 8dadb07790)
This commit is contained in:
parent
d93e6a0409
commit
9013f80f67
2 changed files with 9 additions and 8 deletions
|
|
@ -715,12 +715,6 @@ static void si_emit_clip_regs(struct si_context *sctx, struct r600_atom *atom)
|
|||
rs->pa_cl_clip_cntl |
|
||||
ucp_mask |
|
||||
S_028810_CLIP_DISABLE(window_space));
|
||||
|
||||
if (sctx->b.chip_class <= VI) {
|
||||
/* reuse needs to be set off if we write oViewport */
|
||||
radeon_set_context_reg(cs, R_028AB4_VGT_REUSE_OFF,
|
||||
S_028AB4_REUSE_OFF(info->writes_viewport_index));
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -836,14 +836,15 @@ static void si_shader_gs(struct si_screen *sscreen, struct si_shader *shader)
|
|||
static void si_shader_vs(struct si_screen *sscreen, struct si_shader *shader,
|
||||
struct si_shader_selector *gs)
|
||||
{
|
||||
const struct tgsi_shader_info *info = &shader->selector->info;
|
||||
struct si_pm4_state *pm4;
|
||||
unsigned num_user_sgprs;
|
||||
unsigned nparams, vgpr_comp_cnt;
|
||||
uint64_t va;
|
||||
unsigned oc_lds_en;
|
||||
unsigned window_space =
|
||||
shader->selector->info.properties[TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION];
|
||||
bool enable_prim_id = shader->key.mono.u.vs_export_prim_id || shader->selector->info.uses_primid;
|
||||
info->properties[TGSI_PROPERTY_VS_WINDOW_SPACE_POSITION];
|
||||
bool enable_prim_id = shader->key.mono.u.vs_export_prim_id || info->uses_primid;
|
||||
|
||||
pm4 = si_get_shader_pm4_state(shader);
|
||||
if (!pm4)
|
||||
|
|
@ -874,6 +875,12 @@ static void si_shader_vs(struct si_screen *sscreen, struct si_shader *shader,
|
|||
si_pm4_set_reg(pm4, R_028A84_VGT_PRIMITIVEID_EN, 0);
|
||||
}
|
||||
|
||||
if (sscreen->b.chip_class <= VI) {
|
||||
/* Reuse needs to be set off if we write oViewport. */
|
||||
si_pm4_set_reg(pm4, R_028AB4_VGT_REUSE_OFF,
|
||||
S_028AB4_REUSE_OFF(info->writes_viewport_index));
|
||||
}
|
||||
|
||||
va = shader->bo->gpu_address;
|
||||
si_pm4_add_bo(pm4, shader->bo, RADEON_USAGE_READ, RADEON_PRIO_SHADER_BINARY);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue