summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_context.h
diff options
context:
space:
mode:
authorCorbin Simpson <MostAwesomeDude@gmail.com>2009-02-12 16:53:06 -0800
committerCorbin Simpson <MostAwesomeDude@gmail.com>2009-02-12 18:09:14 -0800
commitaffe0311fa60489e56b854c09f713fae024a0b00 (patch)
tree2c0d4f6f9e43a8d3e8b02cf7961498d15d7cdedf /src/gallium/drivers/r300/r300_context.h
parent08e324fff3b295bfd5b176ed1242ad838c6d5f25 (diff)
r300-gallium: Add r500 passthrough shader assembly.
This allows a simple passthrough fragment shader to be provided on r500.
Diffstat (limited to 'src/gallium/drivers/r300/r300_context.h')
-rw-r--r--src/gallium/drivers/r300/r300_context.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_context.h b/src/gallium/drivers/r300/r300_context.h
index 376c57639d..a29201eaba 100644
--- a/src/gallium/drivers/r300/r300_context.h
+++ b/src/gallium/drivers/r300/r300_context.h
@@ -107,6 +107,12 @@ struct r3xx_fragment_shader {
/* Has this shader been translated yet? */
boolean translated;
+
+ /* Number of used instructions */
+ int instruction_count;
+
+ /* Pixel stack size */
+ int stack_size;
};
struct r300_fragment_shader {
@@ -117,6 +123,16 @@ struct r300_fragment_shader {
struct r500_fragment_shader {
/* Parent class */
struct r3xx_fragment_shader shader;
+
+ /* Machine instructions */
+ struct {
+ uint32_t inst0;
+ uint32_t inst1;
+ uint32_t inst2;
+ uint32_t inst3;
+ uint32_t inst4;
+ uint32_t inst5;
+ } instructions[256]; /*< XXX magic number */
};
struct r300_texture {