summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/radeonsi/si_shader.c
diff options
context:
space:
mode:
authorMarek Olšák <marek.olsak@amd.com>2016-10-17 01:36:58 +0200
committerMarek Olšák <marek.olsak@amd.com>2016-10-18 18:40:59 +0200
commit4e5d076fcf8aae76c553531d713a3c9213fb419d (patch)
treee8bab00b21061ad8fd119b6417a1c1901085b66a /src/gallium/drivers/radeonsi/si_shader.c
parent41754f743fc42e59944a58188830d82c5ecfe138 (diff)
downloadexternal_mesa3d-4e5d076fcf8aae76c553531d713a3c9213fb419d.zip
external_mesa3d-4e5d076fcf8aae76c553531d713a3c9213fb419d.tar.gz
external_mesa3d-4e5d076fcf8aae76c553531d713a3c9213fb419d.tar.bz2
radeonsi: move LLVM ALU codegen into radeonsi
Acked-by: Nicolai Hähnle <nicolai.haehnle@amd.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Acked-by: Edward O'Callaghan <funfunctor@folklore1984.net>
Diffstat (limited to 'src/gallium/drivers/radeonsi/si_shader.c')
-rw-r--r--src/gallium/drivers/radeonsi/si_shader.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
index a361418..37a812a 100644
--- a/src/gallium/drivers/radeonsi/si_shader.c
+++ b/src/gallium/drivers/radeonsi/si_shader.c
@@ -42,6 +42,7 @@
#include "tgsi/tgsi_util.h"
#include "tgsi/tgsi_dump.h"
+#include "si_shader_internal.h"
#include "si_pipe.h"
#include "sid.h"
@@ -4659,7 +4660,7 @@ static void tex_fetch_args(
target == TGSI_TEXTURE_CUBE_ARRAY ||
target == TGSI_TEXTURE_SHADOWCUBE ||
target == TGSI_TEXTURE_SHADOWCUBE_ARRAY)
- radeon_llvm_emit_prepare_cube_coords(bld_base, emit_data, coords, derivs);
+ si_prepare_cube_coords(bld_base, emit_data, coords, derivs);
if (opcode == TGSI_OPCODE_TXD)
for (int i = 0; i < num_deriv_channels * 2; i++)
@@ -6510,6 +6511,7 @@ static void si_init_shader_ctx(struct si_shader_context *ctx,
&ctx->radeon_bld, "amdgcn--",
(shader && shader->selector) ? &shader->selector->info : NULL,
(shader && shader->selector) ? shader->selector->tokens : NULL);
+ si_shader_context_init_alu(&ctx->radeon_bld.soa.bld_base);
ctx->tm = tm;
ctx->screen = sscreen;
if (shader && shader->selector)
@@ -6593,11 +6595,6 @@ static void si_init_shader_ctx(struct si_shader_context *ctx,
bld_base->op_actions[TGSI_OPCODE_EMIT].emit = si_llvm_emit_vertex;
bld_base->op_actions[TGSI_OPCODE_ENDPRIM].emit = si_llvm_emit_primitive;
bld_base->op_actions[TGSI_OPCODE_BARRIER].emit = si_llvm_emit_barrier;
-
- bld_base->op_actions[TGSI_OPCODE_MAX].emit = build_tgsi_intrinsic_nomem;
- bld_base->op_actions[TGSI_OPCODE_MAX].intr_name = "llvm.maxnum.f32";
- bld_base->op_actions[TGSI_OPCODE_MIN].emit = build_tgsi_intrinsic_nomem;
- bld_base->op_actions[TGSI_OPCODE_MIN].intr_name = "llvm.minnum.f32";
}
int si_compile_tgsi_shader(struct si_screen *sscreen,