diff options
author | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2011-01-23 21:29:30 +0100 |
---|---|---|
committer | Christoph Bumiller <e0425955@student.tuwien.ac.at> | 2011-01-23 21:35:27 +0100 |
commit | a287a758c6567405a7ea10df21e586d1e2ff08ec (patch) | |
tree | a06f473b7558331d6c54c18ad208cd4f86f5a8b8 /src/gallium/drivers/nvc0/nvc0_program.h | |
parent | f154cd231552d16c66b87ca1e32be5451f6bdae4 (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.h | 4 |
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; |