diff options
author | Marek Olšák <[email protected]> | 2015-11-08 13:34:44 +0100 |
---|---|---|
committer | Marek Olšák <[email protected]> | 2015-11-13 19:54:42 +0100 |
commit | b1c5f3faa9d7a227150b677469df1a5832236541 (patch) | |
tree | 98630efa0fd53ffe5c0dc7140d9939400cc87a70 /src/gallium/drivers/radeonsi/si_pipe.h | |
parent | 2f5d911ba2b0d477bce80e4dd3ae4d9748c6f784 (diff) |
radeonsi: calculate optimal GS ring sizes to fix GS hangs on Tonga
I discovered that increasing the ESGS ring size fixes GS hangs on Tonga,
so let's do it properly.
There is now a separate init_config_gs_rings state that is not immutable,
because GS rings are resized when needed.
This also saves some memory. Most apps won't need more than 1MB
per ring per shader engine.
Reviewed-by: Michel Dänzer <[email protected]>
Reviewed-by: Nicolai Hähnle <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_pipe.h')
-rw-r--r-- | src/gallium/drivers/radeonsi/si_pipe.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h index 6e742fc1342..05d52fe19dc 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.h +++ b/src/gallium/drivers/radeonsi/si_pipe.h @@ -202,6 +202,7 @@ struct si_context { /* Precomputed states. */ struct si_pm4_state *init_config; + struct si_pm4_state *init_config_gs_rings; bool init_config_has_vgt_flush; struct si_pm4_state *vgt_shader_config[4]; |