i965: Add opcodes for F32TO16 and F16TO32
The GLSL ES 3.00 operations packHalf2x16 and unpackHalf2x16 will emit
these opcodes.
- Define the opcodes BRW_OPCODE_{F32TO16,F16TO32}.
- Add the opcodes to the brw_disasm table.
- Define convenience functions brw_{F32TO16,F16TO32}.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Acked-by: Paul Berry <stereotype441@gmail.com>
Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
This commit is contained in:
@@ -644,6 +644,8 @@ enum opcode {
|
||||
BRW_OPCODE_ASR = 12,
|
||||
BRW_OPCODE_CMP = 16,
|
||||
BRW_OPCODE_CMPN = 17,
|
||||
BRW_OPCODE_F32TO16 = 19,
|
||||
BRW_OPCODE_F16TO32 = 20,
|
||||
BRW_OPCODE_JMPI = 32,
|
||||
BRW_OPCODE_IF = 34,
|
||||
BRW_OPCODE_IFF = 35,
|
||||
|
||||
@@ -41,6 +41,8 @@ const struct opcode_desc opcode_descs[128] = {
|
||||
[BRW_OPCODE_RNDZ] = { .name = "rndz", .nsrc = 1, .ndst = 1 },
|
||||
[BRW_OPCODE_NOT] = { .name = "not", .nsrc = 1, .ndst = 1 },
|
||||
[BRW_OPCODE_LZD] = { .name = "lzd", .nsrc = 1, .ndst = 1 },
|
||||
[BRW_OPCODE_F32TO16] = { .name = "f32to16", .nsrc = 1, .ndst = 1 },
|
||||
[BRW_OPCODE_F16TO32] = { .name = "f16to32", .nsrc = 1, .ndst = 1 },
|
||||
|
||||
[BRW_OPCODE_MUL] = { .name = "mul", .nsrc = 2, .ndst = 1 },
|
||||
[BRW_OPCODE_MAC] = { .name = "mac", .nsrc = 2, .ndst = 1 },
|
||||
|
||||
@@ -157,6 +157,8 @@ ALU2(SHL)
|
||||
ALU2(RSR)
|
||||
ALU2(RSL)
|
||||
ALU2(ASR)
|
||||
ALU1(F32TO16)
|
||||
ALU1(F16TO32)
|
||||
ALU2(JMPI)
|
||||
ALU2(ADD)
|
||||
ALU2(AVG)
|
||||
|
||||
@@ -907,6 +907,8 @@ ALU2(SHL)
|
||||
ALU2(RSR)
|
||||
ALU2(RSL)
|
||||
ALU2(ASR)
|
||||
ALU1(F32TO16)
|
||||
ALU1(F16TO32)
|
||||
ALU1(FRC)
|
||||
ALU1(RNDD)
|
||||
ALU2(MAC)
|
||||
|
||||
Reference in New Issue
Block a user