summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_pipe.h
diff options
context:
space:
mode:
authorTom Stellard <[email protected]>2014-12-10 09:13:59 -0500
committerTom Stellard <[email protected]>2015-01-28 21:03:47 +0000
commit2397a721291457c146c7f4bcd48adcb3b2d979bd (patch)
tree016628c1fb29de41f0bbca307fa26eac43ae60dd /src/gallium/drivers/radeonsi/si_pipe.h
parent5dcd97f25c217450c9e3e0441246187219a01eca (diff)
radeonsi: Enable VGPR spilling for all shader types v5
v2: - Only emit write SPI_TMPRING_SIZE once per packet. - Use context global scratch buffer. v3: - Patch shaders using WRITE_DATA packet instead of map/unmap. - Emit ICACHE_FLUSH, CS_PARTIAL_FLUSH, PS_PARTIAL_FLUSH, and VS_PARTIAL_FLUSH when patching shaders. v4: - Code cleanups. - Remove unnecessary multiplies. v5: - Patch shaders in system memory and re-upload to vram. Reviewed-by: Michel Dänzer <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_pipe.h')
-rw-r--r--src/gallium/drivers/radeonsi/si_pipe.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/si_pipe.h b/src/gallium/drivers/radeonsi/si_pipe.h
index 6144fb1b2f0..b88f1542c5e 100644
--- a/src/gallium/drivers/radeonsi/si_pipe.h
+++ b/src/gallium/drivers/radeonsi/si_pipe.h
@@ -173,6 +173,7 @@ struct si_context {
struct si_buffer_resources const_buffers[SI_NUM_SHADERS];
struct si_buffer_resources rw_buffers[SI_NUM_SHADERS];
struct si_textures_info samplers[SI_NUM_SHADERS];
+ struct r600_resource *scratch_buffer;
struct r600_resource *border_color_table;
unsigned border_color_offset;
@@ -220,6 +221,11 @@ struct si_context {
int last_prim;
int last_multi_vgt_param;
int last_rast_prim;
+
+ /* Scratch buffer */
+ boolean emit_scratch_reloc;
+ unsigned scratch_waves;
+ unsigned spi_tmpring_size;
};
/* si_blit.c */