summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r600/r600_shader.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2010-07-21 15:39:23 +1000
committerJerome Glisse <jglisse@redhat.com>2010-07-21 17:05:37 -0400
commit4b2820534e3635a8ecd047f1e0139834e0a67d02 (patch)
tree986d5d76ad01b3aab78fe66af06d65d19e736d52 /src/gallium/drivers/r600/r600_shader.h
parent9433d0e8010bfe182762f8d2bd856a416a7f93bb (diff)
r600g: add r600 compile mode to compiler.
some of the ALU instructions are different on r6xx vs r7xx, separate the alu translation to separate files, and use family to pick which compile stage to use.
Diffstat (limited to 'src/gallium/drivers/r600/r600_shader.h')
-rw-r--r--src/gallium/drivers/r600/r600_shader.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/r600/r600_shader.h b/src/gallium/drivers/r600/r600_shader.h
index 6e1bd1e37e..40064ba8a9 100644
--- a/src/gallium/drivers/r600/r600_shader.h
+++ b/src/gallium/drivers/r600/r600_shader.h
@@ -96,6 +96,7 @@ struct r600_shader {
u32 *bcode; /**< bytes code */
enum pipe_format resource_format[160]; /**< format of resource */
struct c_shader cshader;
+ boolean r6xx_compile;
};
void r600_shader_cleanup(struct r600_shader *rshader);
@@ -122,6 +123,10 @@ int r600_shader_translate_rec(struct r600_shader *rshader, struct c_node *node);
int r700_shader_translate(struct r600_shader *rshader);
int r600_shader_insert_fetch(struct c_shader *shader);
+int r6xx_shader_alu_translate(struct r600_shader *rshader,
+ struct r600_shader_node *rnode,
+ unsigned *cid);
+
enum r600_instruction {
INST_ADD = 0,
INST_MUL = 1,