summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2012-11-06 17:41:50 +0100
committerMichel Dänzer <michel@daenzer.net>2012-11-14 12:08:19 +0100
commit56ae9be95785e6b86b2979d7e013e6d4b633b224 (patch)
treef9fa56c42e2d74dfbf82f8f070ac30c28aab644b
parent3e20513b8fe38a580ed6e43771fb288922d7b6ff (diff)
radeonsi: Handle TGSI TXL opcode.
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> Reviewed-by: Tom Stellard <thomas.stellard@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--src/gallium/drivers/radeonsi/radeonsi_shader.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gallium/drivers/radeonsi/radeonsi_shader.c b/src/gallium/drivers/radeonsi/radeonsi_shader.c
index a5dddfbc921..21e9018f2e0 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_shader.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c
@@ -792,6 +792,12 @@ static const struct lp_build_tgsi_action txb_action = {
.intr_name = "llvm.SI.sample.bias"
};
+static const struct lp_build_tgsi_action txl_action = {
+ .fetch_args = tex_fetch_args,
+ .emit = lp_build_tgsi_intrinsic,
+ .intr_name = "llvm.SI.sample.lod"
+};
+
int si_pipe_shader_create(
struct pipe_context *ctx,
@@ -829,6 +835,7 @@ int si_pipe_shader_create(
bld_base->op_actions[TGSI_OPCODE_TEX] = tex_action;
bld_base->op_actions[TGSI_OPCODE_TXB] = txb_action;
+ bld_base->op_actions[TGSI_OPCODE_TXL] = txl_action;
bld_base->op_actions[TGSI_OPCODE_TXP] = tex_action;
si_shader_ctx.radeon_bld.load_input = declare_input;