summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/nvfx/nvfx_shader.h
diff options
context:
space:
mode:
authorLuca Barbieri <luca@luca-barbieri.com>2010-09-03 18:31:18 +0200
committerLuca Barbieri <luca@luca-barbieri.com>2010-09-03 20:48:14 +0200
commitb946984e3bbd91da3111edd0d62f90cfd4967ad3 (patch)
treeff0a2c8912924699d4680bf282ee009173b5259c /src/gallium/drivers/nvfx/nvfx_shader.h
parent7e282b8e62fb5d237a2e2cc94ac6a39a2f73f271 (diff)
nvfx: support indirect addressing in vps
Negative or huge offsets not yet supported.
Diffstat (limited to 'src/gallium/drivers/nvfx/nvfx_shader.h')
-rw-r--r--src/gallium/drivers/nvfx/nvfx_shader.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gallium/drivers/nvfx/nvfx_shader.h b/src/gallium/drivers/nvfx/nvfx_shader.h
index 35006eec3d..e642a27af8 100644
--- a/src/gallium/drivers/nvfx/nvfx_shader.h
+++ b/src/gallium/drivers/nvfx/nvfx_shader.h
@@ -414,14 +414,16 @@
#define abs(s) nvfx_src_abs((s))
struct nvfx_reg {
- uint8_t type;
+ int8_t type;
uint32_t index;
};
struct nvfx_src {
struct nvfx_reg reg;
- /* src only */
+ uint8_t indirect : 1;
+ uint8_t indirect_reg : 1;
+ uint8_t indirect_swz : 2;
uint8_t negate : 1;
uint8_t abs : 1;
uint8_t swz[4];
@@ -483,6 +485,7 @@ nvfx_src(struct nvfx_reg reg)
.abs = 0,
.negate = 0,
.swz = { 0, 1, 2, 3 },
+ .indirect = 0,
};
return temp;
}