summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/radeonsi_shader.c
diff options
context:
space:
mode:
authorMichel Dänzer <[email protected]>2012-11-06 17:39:01 +0100
committerMichel Dänzer <[email protected]>2012-11-14 12:08:10 +0100
commit3e20513b8fe38a580ed6e43771fb288922d7b6ff (patch)
treeb527dc3574e5dfd7a8d07d92f81fba3d85573055 /src/gallium/drivers/radeonsi/radeonsi_shader.c
parentca5840afb0eae56f86668d0b5562c6d82fe8ad4b (diff)
radeonsi: Handle TGSI TXB opcode.
Signed-off-by: Michel Dänzer <[email protected]> Reviewed-by: Tom Stellard <[email protected]> Reviewed-by: Alex Deucher <[email protected]>
Diffstat (limited to 'src/gallium/drivers/radeonsi/radeonsi_shader.c')
-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 ec9d9f3a7a1..a5dddfbc921 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;