diff options
author | Nicolai Hähnle <[email protected]> | 2017-04-12 10:46:22 +0200 |
---|---|---|
committer | Nicolai Hähnle <[email protected]> | 2017-04-13 17:30:20 +0200 |
commit | 472c84d1ad0ae9d3e7dbe469ae04e2efe65143fa (patch) | |
tree | 9d5f5db7ab70aef2a7cca3c7d33f5f79dda159f9 /src/gallium/drivers/radeonsi/si_state_draw.c | |
parent | 3b9fbcb3b6caee65f15dd2876d8dabc590eb0d70 (diff) |
radeonsi: provide VS_STATE input to all VS variants
v2: fix incorrect change in get_tcs_out_patch_stride
Reviewed-by: Marek Olšák <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_state_draw.c')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_state_draw.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/gallium/drivers/radeonsi/si_state_draw.c b/src/gallium/drivers/radeonsi/si_state_draw.c index 7bf4f4ddb87..0d70ea9d6d7 100644 --- a/src/gallium/drivers/radeonsi/si_state_draw.c +++ b/src/gallium/drivers/radeonsi/si_state_draw.c @@ -222,9 +222,9 @@ static void si_emit_derived_tess_state(struct si_context *sctx, (num_tcs_output_cp << 9) | *num_patches; /* Set them for LS. */ - radeon_set_sh_reg(cs, - R_00B530_SPI_SHADER_USER_DATA_LS_0 + SI_SGPR_LS_OUT_LAYOUT * 4, - tcs_in_layout); + sctx->current_vs_state &= C_VS_STATE_LS_OUT_PATCH_SIZE & + C_VS_STATE_LS_OUT_VERTEX_SIZE; + sctx->current_vs_state |= tcs_in_layout; /* Set them for TCS. */ radeon_set_sh_reg_seq(cs, @@ -500,7 +500,8 @@ static void si_emit_vs_state(struct si_context *sctx) struct radeon_winsys_cs *cs = sctx->b.gfx.cs; radeon_set_sh_reg(cs, - R_00B130_SPI_SHADER_USER_DATA_VS_0 + SI_SGPR_VS_STATE_BITS * 4, + sctx->shader_userdata.sh_base[PIPE_SHADER_VERTEX] + + SI_SGPR_VS_STATE_BITS * 4, sctx->current_vs_state); sctx->last_vs_state = sctx->current_vs_state; |