diff options
author | Zack Rusin <[email protected]> | 2013-10-08 15:11:02 -0400 |
---|---|---|
committer | Zack Rusin <[email protected]> | 2013-10-09 18:30:20 -0400 |
commit | 6905698fc21710c18722295dedceb96ef5d5923b (patch) | |
tree | 448459df4604df868382f02fac033f354356f1c0 /src/gallium/include | |
parent | c01c6a95b41607dc58a343b2aa67bc3da673ca35 (diff) |
gallium: Add support for 32x32 muls with 64 bit results
The code introduces two new 32bit integer multiplication opcodes which
can be used to produce correct 64 bit results. GLSL, OpenCL and D3D10+
require them. We use two seperate opcodes, because they match the
behavior of GLSL and OpenCL, are a lot easier to add than a single
opcode with multiple destinations and because there's not much (any)
difference wrt code-generation.
Signed-off-by: Zack Rusin <[email protected]>
Reviewed-by: José Fonseca <[email protected]>
Reviewed-by: Roland Scheidegger <[email protected]>
Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/gallium/include')
-rw-r--r-- | src/gallium/include/pipe/p_shader_tokens.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gallium/include/pipe/p_shader_tokens.h b/src/gallium/include/pipe/p_shader_tokens.h index 1beec054c1b..801090204fa 100644 --- a/src/gallium/include/pipe/p_shader_tokens.h +++ b/src/gallium/include/pipe/p_shader_tokens.h @@ -450,7 +450,10 @@ struct tgsi_property_data { #define TGSI_OPCODE_TXB2 178 #define TGSI_OPCODE_TXL2 179 -#define TGSI_OPCODE_LAST 180 +#define TGSI_OPCODE_IMUL_HI 180 +#define TGSI_OPCODE_UMUL_HI 181 + +#define TGSI_OPCODE_LAST 182 #define TGSI_SAT_NONE 0 /* do not saturate */ #define TGSI_SAT_ZERO_ONE 1 /* clamp to [0,1] */ |