summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_pipe.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-10-13 15:22:04 +1000
committerDave Airlie <airlied@redhat.com>2010-10-13 15:25:00 +1000
commitd59498b78041b8a7a046ac2c892e7a1896f59ca2 (patch)
tree597aa39285bf7ea69603fff00c372fccf4d98528 /src/gallium/drivers/r600/r600_pipe.h
parent8c107e6ca619dd676e3697749a7d9b81ed19f46a (diff)
r600g: reduce size of context structure.
this thing will be in the cache a lot, so having massive big struct arrays inside it won't be helping anyone.
Diffstat (limited to 'src/gallium/drivers/r600/r600_pipe.h')
-rw-r--r--src/gallium/drivers/r600/r600_pipe.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h
index 34a59646d5..6ce1f96952 100644
--- a/src/gallium/drivers/r600/r600_pipe.h
+++ b/src/gallium/drivers/r600/r600_pipe.h
@@ -100,6 +100,9 @@ struct r600_textures_info {
unsigned n_samplers;
};
+#define R600_CONSTANT_ARRAY_SIZE 256
+#define R600_RESOURCE_ARRAY_SIZE 160
+
struct r600_pipe_context {
struct pipe_context context;
struct blitter_context *blitter;
@@ -122,10 +125,10 @@ struct r600_pipe_context {
struct pipe_clip_state clip;
unsigned vs_nconst;
unsigned ps_nconst;
- struct r600_pipe_state vs_const[256];
- struct r600_pipe_state ps_const[256];
- struct r600_pipe_state vs_resource[160];
- struct r600_pipe_state ps_resource[160];
+ struct r600_pipe_state *vs_const;
+ struct r600_pipe_state *ps_const;
+ struct r600_pipe_state *vs_resource;
+ struct r600_pipe_state *ps_resource;
struct r600_pipe_state config;
struct r600_pipe_shader *ps_shader;
struct r600_pipe_shader *vs_shader;