i965: Add opcodes for F32TO16 and F16TO32
authorChad Versace <chad.versace@linux.intel.com>
Wed, 9 Jan 2013 19:35:47 +0000 (11:35 -0800)
committerChad Versace <chad.versace@linux.intel.com>
Fri, 25 Jan 2013 05:24:10 +0000 (21:24 -0800)
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>
src/mesa/drivers/dri/i965/brw_defines.h
src/mesa/drivers/dri/i965/brw_disasm.c
src/mesa/drivers/dri/i965/brw_eu.h
src/mesa/drivers/dri/i965/brw_eu_emit.c

index 8c8895e92b7b0138e77cf32a48ee6e92afd9dd26..e2f1e653b126237259010c1683222dece750ce6c 100644 (file)
@@ -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,
index 1621769b9dd4795ada517f76193e7fafae570ef9..50551f46c95e387274dbd04622546d4dc795a54b 100644 (file)
@@ -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 },
index 7b874c7b439b374496d7c2a94947f3310d2b9176..06daabac9bd09ff2e7619088c12b4e9336d598d7 100644 (file)
@@ -157,6 +157,8 @@ ALU2(SHL)
 ALU2(RSR)
 ALU2(RSL)
 ALU2(ASR)
+ALU1(F32TO16)
+ALU1(F16TO32)
 ALU2(JMPI)
 ALU2(ADD)
 ALU2(AVG)
index bd9c182d665f57d529daeded61e515cb6ec36157..fecbff15d655b85ff221d7b0226dd13a019c4f1a 100644 (file)
@@ -907,6 +907,8 @@ ALU2(SHL)
 ALU2(RSR)
 ALU2(RSL)
 ALU2(ASR)
+ALU1(F32TO16)
+ALU1(F16TO32)
 ALU1(FRC)
 ALU1(RNDD)
 ALU2(MAC)