aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/include
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2014-08-14 18:38:51 +1000
committerDave Airlie <[email protected]>2015-02-20 08:49:12 +1000
commit3cd1338534374c8ed13651548dcbf3949857dbcd (patch)
tree95836bf4ab683aa3d38684421ad173ac0ed711b4 /src/gallium/include
parent14b9bf630c23ad060ea8bd12da2f7b18cb4f4101 (diff)
gallium: add double opcodes and TGSI execution (v4.2)
This patch adds support for a set of double opcodes to TGSI. It is an update of work done originally by Michal Krol on the gallium-double-opcodes branch. The opcodes have a hint where they came from in the header file. v2: add unsigned/int <-> double v2.1: update docs. v3: add DRSQ (Glenn), fix review comments (Glenn). v4: drop DDIV v4.1: cleanups, fix some docs bugs, (Ilia) rework store_dest and fetch_source fns. (Ilia) 4.2: fixup float comparisons (Ilia) This is based on code by Michael Krol <[email protected]> Roland and Glenn also reviewed earlier versions. Reviewed-by: Ilia Mirkin <[email protected]> Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/gallium/include')
-rw-r--r--src/gallium/include/pipe/p_shader_tokens.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h
index 442b67b79c9..0e3f8965b69 100644
--- a/src/gallium/include/pipe/p_shader_tokens.h
+++ b/src/gallium/include/pipe/p_shader_tokens.h
@@ -494,7 +494,31 @@ struct tgsi_property_data {
#define TGSI_OPCODE_INTERP_SAMPLE 193
#define TGSI_OPCODE_INTERP_OFFSET 194
-#define TGSI_OPCODE_LAST 195
+/* sm5 marked opcodes are supported in D3D11 optionally - also DMOV, DMOVC */
+#define TGSI_OPCODE_F2D 195 /* SM5 */
+#define TGSI_OPCODE_D2F 196
+#define TGSI_OPCODE_DABS 197
+#define TGSI_OPCODE_DNEG 198 /* SM5 */
+#define TGSI_OPCODE_DADD 199 /* SM5 */
+#define TGSI_OPCODE_DMUL 200 /* SM5 */
+#define TGSI_OPCODE_DMAX 201 /* SM5 */
+#define TGSI_OPCODE_DMIN 202 /* SM5 */
+#define TGSI_OPCODE_DSLT 203 /* SM5 */
+#define TGSI_OPCODE_DSGE 204 /* SM5 */
+#define TGSI_OPCODE_DSEQ 205 /* SM5 */
+#define TGSI_OPCODE_DSNE 206 /* SM5 */
+#define TGSI_OPCODE_DRCP 207 /* eg, cayman */
+#define TGSI_OPCODE_DSQRT 208 /* eg, cayman also has DRSQ */
+#define TGSI_OPCODE_DMAD 209 /* DFMA? */
+#define TGSI_OPCODE_DFRAC 210 /* eg, cayman */
+#define TGSI_OPCODE_DLDEXP 211 /* eg, cayman */
+#define TGSI_OPCODE_DFRACEXP 212 /* eg, cayman */
+#define TGSI_OPCODE_D2I 213
+#define TGSI_OPCODE_I2D 214
+#define TGSI_OPCODE_D2U 215
+#define TGSI_OPCODE_U2D 216
+#define TGSI_OPCODE_DRSQ 217 /* eg, cayman also has DRSQ */
+#define TGSI_OPCODE_LAST 218
#define TGSI_SAT_NONE 0 /* do not saturate */
#define TGSI_SAT_ZERO_ONE 1 /* clamp to [0,1] */