summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2012-11-06 17:39:01 +0100
committerMichel Dänzer <michel@daenzer.net>2012-11-14 12:08:10 +0100
commit3e20513b8fe38a580ed6e43771fb288922d7b6ff (patch)
treeb527dc3574e5dfd7a8d07d92f81fba3d85573055 /src
parentca5840afb0eae56f86668d0b5562c6d82fe8ad4b (diff)
radeonsi: Handle TGSI TXB 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>
Diffstat (limited to 'src')
-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 ec9d9f3a7a..a5dddfbc92 100644
--- a/src/gallium/drivers/radeonsi/radeonsi_shader.c
+++ b/src/gallium/drivers/radeonsi/radeonsi_shader.c
@@ -786,6 +786,12 @@ static const struct lp_build_tgsi_action tex_action = {
.intr_name = "llvm.SI.sample"
};
+static const struct lp_build_tgsi_action txb_action = {
+ .fetch_args = tex_fetch_args,
+ .emit = lp_build_tgsi_intrinsic,
+ .intr_name = "llvm.SI.sample.bias"
+};
+
int si_pipe_shader_create(
struct pipe_context *ctx,
@@ -822,6 +828,7 @@ int si_pipe_shader_create(
bld_base->emit_epilogue = si_llvm_emit_epilogue;
bld_base->op_actions[TGSI_OPCODE_TEX] = tex_action;
+ bld_base->op_actions[TGSI_OPCODE_TXB] = txb_action;
bld_base->op_actions[TGSI_OPCODE_TXP] = tex_action;
si_shader_ctx.radeon_bld.load_input = declare_input;