summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/r600/r600_shader.h
diff options
context:
space:
mode:
authorVadim Girlin <[email protected]>2013-04-30 20:53:15 +0400
committerVadim Girlin <[email protected]>2013-04-30 21:50:47 +0400
commitad1df471d083630106da8c39ec076f49e779e965 (patch)
tree2f4f7031acc3b6227f05edc0b44ea3575d5c555d /src/gallium/drivers/r600/r600_shader.h
parent2cd769179345799d383f92dd615991755ec24be1 (diff)
r600g: plug in optimizing backend
Optimization is enabled with "R600_DEBUG=sb". Signed-off-by: Vadim Girlin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/r600/r600_shader.h')
-rw-r--r--src/gallium/drivers/r600/r600_shader.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.h b/src/gallium/drivers/r600/r600_shader.h
index 17441ed2298..411667ae89e 100644
--- a/src/gallium/drivers/r600/r600_shader.h
+++ b/src/gallium/drivers/r600/r600_shader.h
@@ -63,6 +63,11 @@ struct r600_shader {
boolean vs_out_point_size;
boolean has_txq_cube_array_z_comp;
boolean uses_tex_buffers;
+
+ unsigned indirect_files;
+ unsigned max_arrays;
+ unsigned num_arrays;
+ struct r600_shader_array * arrays;
};
struct r600_shader_key {
@@ -71,6 +76,12 @@ struct r600_shader_key {
unsigned nr_cbufs:4;
};
+struct r600_shader_array {
+ unsigned gpr_start;
+ unsigned gpr_count;
+ unsigned comp_mask;
+};
+
struct r600_pipe_shader {
struct r600_pipe_shader_selector *selector;
struct r600_pipe_shader *next_variant;