summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/r300/r300_state_shader.h
diff options
context:
space:
mode:
authorCorbin Simpson <MostAwesomeDude@gmail.com>2009-03-10 15:40:41 -0700
committerCorbin Simpson <MostAwesomeDude@gmail.com>2009-03-11 15:23:08 -0700
commit8b212503052b767561d85108c435f375e0228f44 (patch)
tree364f0ea255dfd6d4ba470c1773c70f214b2d9573 /src/gallium/drivers/r300/r300_state_shader.h
parent04465bb6df5a9845425a9c163ef3869019376374 (diff)
r300-gallium: Begin R500 fragment shader assembler.
I love it so much. I also hate it a lot.
Diffstat (limited to 'src/gallium/drivers/r300/r300_state_shader.h')
-rw-r--r--src/gallium/drivers/r300/r300_state_shader.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/gallium/drivers/r300/r300_state_shader.h b/src/gallium/drivers/r300/r300_state_shader.h
index 73025b2dcc..333f0f5d05 100644
--- a/src/gallium/drivers/r300/r300_state_shader.h
+++ b/src/gallium/drivers/r300/r300_state_shader.h
@@ -23,10 +23,25 @@
#ifndef R300_STATE_SHADER_H
#define R300_STATE_SHADER_H
+#include "tgsi/tgsi_parse.h"
+
#include "r300_context.h"
#include "r300_reg.h"
#include "r300_screen.h"
+/* Temporary struct used to hold assembly state while putting together
+ * fragment programs. */
+struct r300_fs_asm {
+ /* Number of colors. */
+ unsigned color_count;
+ /* Number of texcoords. */
+ unsigned tex_count;
+ /* Offset for temporary registers. Inputs and temporaries have no
+ * distinguishing markings, so inputs start at 0 and the first usable
+ * temporary register is after all inputs. */
+ unsigned temp_offset;
+};
+
void r300_translate_fragment_shader(struct r300_context* r300,
struct r300_fragment_shader* fs);