r600: initialised PGM_RESOURCES_2 for ES/GS
This fixes the corruption on rendering that we are seeing in certain geometry shaders. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=91780 Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Tested / Reviewed-by: Glenn Kennard <glenn.kennard@gmail.com> Cc: "10.6" "11.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -2373,6 +2373,8 @@ static void cayman_init_atom_start_cs(struct r600_context *rctx)
|
||||
|
||||
r600_store_context_reg(cb, R_028848_SQ_PGM_RESOURCES_2_PS, S_028848_SINGLE_ROUND(V_SQ_ROUND_NEAREST_EVEN));
|
||||
r600_store_context_reg(cb, R_028864_SQ_PGM_RESOURCES_2_VS, S_028864_SINGLE_ROUND(V_SQ_ROUND_NEAREST_EVEN));
|
||||
r600_store_context_reg(cb, R_02887C_SQ_PGM_RESOURCES_2_GS, S_028848_SINGLE_ROUND(V_SQ_ROUND_NEAREST_EVEN));
|
||||
r600_store_context_reg(cb, R_028894_SQ_PGM_RESOURCES_2_ES, S_028848_SINGLE_ROUND(V_SQ_ROUND_NEAREST_EVEN));
|
||||
r600_store_context_reg(cb, R_0288A8_SQ_PGM_RESOURCES_FS, 0);
|
||||
|
||||
/* to avoid GPU doing any preloading of constant from random address */
|
||||
@@ -2812,6 +2814,8 @@ void evergreen_init_atom_start_cs(struct r600_context *rctx)
|
||||
|
||||
r600_store_context_reg(cb, R_028848_SQ_PGM_RESOURCES_2_PS, S_028848_SINGLE_ROUND(V_SQ_ROUND_NEAREST_EVEN));
|
||||
r600_store_context_reg(cb, R_028864_SQ_PGM_RESOURCES_2_VS, S_028864_SINGLE_ROUND(V_SQ_ROUND_NEAREST_EVEN));
|
||||
r600_store_context_reg(cb, R_02887C_SQ_PGM_RESOURCES_2_GS, S_028848_SINGLE_ROUND(V_SQ_ROUND_NEAREST_EVEN));
|
||||
r600_store_context_reg(cb, R_028894_SQ_PGM_RESOURCES_2_ES, S_028848_SINGLE_ROUND(V_SQ_ROUND_NEAREST_EVEN));
|
||||
r600_store_context_reg(cb, R_0288A8_SQ_PGM_RESOURCES_FS, 0);
|
||||
|
||||
/* to avoid GPU doing any preloading of constant from random address */
|
||||
|
||||
@@ -1504,6 +1504,7 @@
|
||||
#define S_028878_UNCACHED_FIRST_INST(x) (((x) & 0x1) << 28)
|
||||
#define G_028878_UNCACHED_FIRST_INST(x) (((x) >> 28) & 0x1)
|
||||
#define C_028878_UNCACHED_FIRST_INST 0xEFFFFFFF
|
||||
#define R_02887C_SQ_PGM_RESOURCES_2_GS 0x02887C
|
||||
|
||||
#define R_028890_SQ_PGM_RESOURCES_ES 0x028890
|
||||
#define S_028890_NUM_GPRS(x) (((x) & 0xFF) << 0)
|
||||
@@ -1518,6 +1519,7 @@
|
||||
#define S_028890_UNCACHED_FIRST_INST(x) (((x) & 0x1) << 28)
|
||||
#define G_028890_UNCACHED_FIRST_INST(x) (((x) >> 28) & 0x1)
|
||||
#define C_028890_UNCACHED_FIRST_INST 0xEFFFFFFF
|
||||
#define R_028894_SQ_PGM_RESOURCES_2_ES 0x028894
|
||||
|
||||
#define R_028864_SQ_PGM_RESOURCES_2_VS 0x028864
|
||||
#define S_028864_SINGLE_ROUND(x) (((x) & 0x3) << 0)
|
||||
|
||||
Reference in New Issue
Block a user