summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/svga/svga_tgsi_insn.c
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2009-11-24 13:41:03 +0000
committerKeith Whitwell <keithw@vmware.com>2009-11-24 13:41:03 +0000
commitba1ca28cc62fed71c77902b95ae4ed36c6bf25f8 (patch)
tree084fbb1b23239140a2adbd76013be830e1ba6f26 /src/gallium/drivers/svga/svga_tgsi_insn.c
parent3c46bbee1bb4f107d68addae472cf7bbc0976653 (diff)
gallium: simplify tgsi tokens further
Drop anonymous 'Extended' fields, have every optional token named explicitly in its parent. Eg. there is now an Instruction.Label flag, etc. Drop destination modifiers and other functionality which cannot be generated by tgsi_ureg.c, which is now the primary way of creating shaders. Pull source modifiers into the source register token, drop the second negate flag. The source register token is now full - if we need to expand it, probably best to move all of the modifiers to a new token and have a single flag for it.
Diffstat (limited to 'src/gallium/drivers/svga/svga_tgsi_insn.c')
-rw-r--r--src/gallium/drivers/svga/svga_tgsi_insn.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/gallium/drivers/svga/svga_tgsi_insn.c b/src/gallium/drivers/svga/svga_tgsi_insn.c
index ea409b7e16..3ef6cb1074 100644
--- a/src/gallium/drivers/svga/svga_tgsi_insn.c
+++ b/src/gallium/drivers/svga/svga_tgsi_insn.c
@@ -227,14 +227,14 @@ translate_src_register( const struct svga_shader_emitter *emit,
/* src.mod isn't a bitfield, unfortunately:
* See tgsi_util_get_full_src_register_sign_mode for implementation details.
*/
- if (reg->SrcRegisterExtMod.Absolute) {
- if (reg->SrcRegisterExtMod.Negate)
+ if (reg->SrcRegister.Absolute) {
+ if (reg->SrcRegister.Negate)
src.base.srcMod = SVGA3DSRCMOD_ABSNEG;
else
src.base.srcMod = SVGA3DSRCMOD_ABS;
}
else {
- if (reg->SrcRegister.Negate != reg->SrcRegisterExtMod.Negate)
+ if (reg->SrcRegister.Negate)
src.base.srcMod = SVGA3DSRCMOD_NEG;
else
src.base.srcMod = SVGA3DSRCMOD_NONE;
@@ -986,8 +986,8 @@ static boolean emit_kil(struct svga_shader_emitter *emit,
inst = inst_token( SVGA3DOP_TEXKILL );
src0 = translate_src_register( emit, reg );
- if (reg->SrcRegisterExtMod.Absolute ||
- reg->SrcRegister.Negate != reg->SrcRegisterExtMod.Negate ||
+ if (reg->SrcRegister.Absolute ||
+ reg->SrcRegister.Negate ||
reg->SrcRegister.Indirect ||
reg->SrcRegister.SwizzleX != 0 ||
reg->SrcRegister.SwizzleY != 1 ||
@@ -1953,7 +1953,7 @@ static boolean emit_bgnsub( struct svga_shader_emitter *emit,
static boolean emit_call( struct svga_shader_emitter *emit,
const struct tgsi_full_instruction *insn )
{
- unsigned position = insn->InstructionExtLabel.Label;
+ unsigned position = insn->InstructionLabel.Label;
unsigned i;
for (i = 0; i < emit->nr_labels; i++) {