summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvc0/nvc0_program.h
diff options
context:
space:
mode:
authorChristoph Bumiller <e0425955@student.tuwien.ac.at>2011-01-23 21:29:30 +0100
committerChristoph Bumiller <e0425955@student.tuwien.ac.at>2011-01-23 21:35:27 +0100
commita287a758c6567405a7ea10df21e586d1e2ff08ec (patch)
treea06f473b7558331d6c54c18ad208cd4f86f5a8b8 /src/gallium/drivers/nvc0/nvc0_program.h
parentf154cd231552d16c66b87ca1e32be5451f6bdae4 (diff)
nvc0: implement point coord replacement
But we have to cheat and peek at the GENERIC semantic indices the state tracker uses for TEXn. Only outputs from 0x300 to 0x37c can be replaced, and so we have to know on shader compilation which ones to put there in order to keep doing separate shader objects properly. At some point I'll probably create a patch that makes gallium not force us to discard the information about what is a TexCoord.
Diffstat (limited to 'src/gallium/drivers/nvc0/nvc0_program.h')
-rw-r--r--src/gallium/drivers/nvc0/nvc0_program.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/gallium/drivers/nvc0/nvc0_program.h b/src/gallium/drivers/nvc0/nvc0_program.h
index e6b210d135..3450cec175 100644
--- a/src/gallium/drivers/nvc0/nvc0_program.h
+++ b/src/gallium/drivers/nvc0/nvc0_program.h
@@ -21,16 +21,18 @@ struct nvc0_program {
unsigned code_size;
unsigned parm_size;
- uint32_t hdr[20];
+ uint32_t hdr[20]; /* TODO: move this into code to save space */
uint32_t flags[2];
struct {
uint8_t edgeflag;
uint8_t num_ucps;
+ uint8_t out_pos[PIPE_MAX_SHADER_OUTPUTS];
} vp;
struct {
uint8_t early_z;
+ uint8_t in_pos[PIPE_MAX_SHADER_INPUTS];
} fp;
void *relocs;