summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/svga/svga_tgsi_emit.h
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2010-02-02 18:01:52 +0000
committerKeith Whitwell <keithw@vmware.com>2010-02-03 10:36:55 +0000
commit84d41f3c7f636d182c659ab85a4449df50c43bc8 (patch)
treebeb555dbdd0abb7a2af4d693ff766815acd64c43 /src/gallium/drivers/svga/svga_tgsi_emit.h
parent0748fc4f038a0878a981024ac4364f82a23e1ca1 (diff)
svga: fix TXD and TXL opcode translation
Diffstat (limited to 'src/gallium/drivers/svga/svga_tgsi_emit.h')
-rw-r--r--src/gallium/drivers/svga/svga_tgsi_emit.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gallium/drivers/svga/svga_tgsi_emit.h b/src/gallium/drivers/svga/svga_tgsi_emit.h
index a546065f19..e8f75485d5 100644
--- a/src/gallium/drivers/svga/svga_tgsi_emit.h
+++ b/src/gallium/drivers/svga/svga_tgsi_emit.h
@@ -201,6 +201,23 @@ static INLINE boolean emit_op3( struct svga_shader_emitter *emit,
}
+static INLINE boolean emit_op4( struct svga_shader_emitter *emit,
+ SVGA3dShaderInstToken inst,
+ SVGA3dShaderDestToken dest,
+ struct src_register src0,
+ struct src_register src1,
+ struct src_register src2,
+ struct src_register src3)
+{
+ return (emit_instruction( emit, inst ) &&
+ emit_dst( emit, dest ) &&
+ emit_src( emit, src0 ) &&
+ emit_src( emit, src1 ) &&
+ emit_src( emit, src2 ) &&
+ emit_src( emit, src3 ));
+}
+
+
#define TRANSLATE_SWIZZLE(x,y,z,w) ((x) | ((y) << 2) | ((z) << 4) | ((w) << 6))
#define SWIZZLE_XYZW \
TRANSLATE_SWIZZLE(TGSI_SWIZZLE_X,TGSI_SWIZZLE_Y,TGSI_SWIZZLE_Z,TGSI_SWIZZLE_W)