From 015a48743dfcf138cce5752098e01a6cfd6efefe Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Sat, 1 Dec 2012 21:49:43 -0800 Subject: [PATCH] i965: Add support for emitting the LRP instruction. Like MAD, this is another three-source instruction. Reviewed-by: Matt Turner Reviewed-by: Eric Anholt Signed-off-by: Kenneth Graunke --- src/mesa/drivers/dri/i965/brw_defines.h | 1 + src/mesa/drivers/dri/i965/brw_disasm.c | 1 + src/mesa/drivers/dri/i965/brw_eu.h | 1 + src/mesa/drivers/dri/i965/brw_eu_emit.c | 1 + 4 files changed, 4 insertions(+) diff --git a/src/mesa/drivers/dri/i965/brw_defines.h b/src/mesa/drivers/dri/i965/brw_defines.h index 79cc12f..d0794c8 100644 --- a/src/mesa/drivers/dri/i965/brw_defines.h +++ b/src/mesa/drivers/dri/i965/brw_defines.h @@ -685,6 +685,7 @@ enum opcode { BRW_OPCODE_LINE = 89, BRW_OPCODE_PLN = 90, BRW_OPCODE_MAD = 91, + BRW_OPCODE_LRP = 92, BRW_OPCODE_NOP = 126, /* These are compiler backend opcodes that get translated into other diff --git a/src/mesa/drivers/dri/i965/brw_disasm.c b/src/mesa/drivers/dri/i965/brw_disasm.c index 50551f4..8736764 100644 --- a/src/mesa/drivers/dri/i965/brw_disasm.c +++ b/src/mesa/drivers/dri/i965/brw_disasm.c @@ -50,6 +50,7 @@ const struct opcode_desc opcode_descs[128] = { [BRW_OPCODE_LINE] = { .name = "line", .nsrc = 2, .ndst = 1 }, [BRW_OPCODE_PLN] = { .name = "pln", .nsrc = 2, .ndst = 1 }, [BRW_OPCODE_MAD] = { .name = "mad", .nsrc = 3, .ndst = 1 }, + [BRW_OPCODE_LRP] = { .name = "lrp", .nsrc = 3, .ndst = 1 }, [BRW_OPCODE_SAD2] = { .name = "sad2", .nsrc = 2, .ndst = 1 }, [BRW_OPCODE_SADA2] = { .name = "sada2", .nsrc = 2, .ndst = 1 }, [BRW_OPCODE_DP4] = { .name = "dp4", .nsrc = 2, .ndst = 1 }, diff --git a/src/mesa/drivers/dri/i965/brw_eu.h b/src/mesa/drivers/dri/i965/brw_eu.h index adb3c4d..60ce231 100644 --- a/src/mesa/drivers/dri/i965/brw_eu.h +++ b/src/mesa/drivers/dri/i965/brw_eu.h @@ -175,6 +175,7 @@ ALU2(DP2) ALU2(LINE) ALU2(PLN) ALU3(MAD) +ALU3(LRP) ROUND(RNDZ) ROUND(RNDE) diff --git a/src/mesa/drivers/dri/i965/brw_eu_emit.c b/src/mesa/drivers/dri/i965/brw_eu_emit.c index cf0a894..8ed8c4a 100644 --- a/src/mesa/drivers/dri/i965/brw_eu_emit.c +++ b/src/mesa/drivers/dri/i965/brw_eu_emit.c @@ -924,6 +924,7 @@ ALU2(DP2) ALU2(LINE) ALU2(PLN) ALU3(MAD) +ALU3(LRP) ROUND(RNDZ) ROUND(RNDE) -- 2.7.4