aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau/codegen/nv50_ir.h
diff options
context:
space:
mode:
authorBen Skeggs <[email protected]>2014-05-09 15:56:05 +1000
committerBen Skeggs <[email protected]>2014-05-15 09:54:49 +1000
commitd548d47edf9f05e6dbf9656abc2f8e78d02cb2f6 (patch)
tree9427f4339be135386d41b160c1e1e38b7e80eb56 /src/gallium/drivers/nouveau/codegen/nv50_ir.h
parent7b9475fa652b9df6d599edbea8fa5049fdd995e1 (diff)
nvc0: add maxwell (sm50) compiler backend
The big missing part here is proper sched data calculations, but hopefully the chosen placeholder will be sufficient for now. Passes piglit as well as GK107 does. Signed-off-by: Ben Skeggs <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
Diffstat (limited to 'src/gallium/drivers/nouveau/codegen/nv50_ir.h')
-rw-r--r--src/gallium/drivers/nouveau/codegen/nv50_ir.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir.h b/src/gallium/drivers/nouveau/codegen/nv50_ir.h
index f082f856ffc..88440309e6b 100644
--- a/src/gallium/drivers/nouveau/codegen/nv50_ir.h
+++ b/src/gallium/drivers/nouveau/codegen/nv50_ir.h
@@ -157,6 +157,7 @@ enum operation
OP_VSHL,
OP_VSEL,
OP_CCTL, // cache control
+ OP_SHFL, // warp shuffle
OP_LAST
};
@@ -223,6 +224,10 @@ enum operation
#define NV50_IR_SUBOP_PIXLD_OFFSET 3
#define NV50_IR_SUBOP_PIXLD_CENT_OFFSET 4
#define NV50_IR_SUBOP_PIXLD_SAMPLEID 5
+#define NV50_IR_SUBOP_SHFL_IDX 0
+#define NV50_IR_SUBOP_SHFL_UP 1
+#define NV50_IR_SUBOP_SHFL_DOWN 2
+#define NV50_IR_SUBOP_SHFL_BFLY 3
#define NV50_IR_SUBOP_MADSP_SD 0xffff
// Yes, we could represent those with DataType.
// Or put the type into operation and have a couple 1000 values in that enum.
@@ -379,6 +384,7 @@ enum SVSemantic
SV_LBASE,
SV_SBASE,
SV_VERTEX_STRIDE,
+ SV_INVOCATION_INFO,
SV_UNDEFINED,
SV_LAST
};