[Mesa-dev] [PATCH 4/6] configure.ac: Set and use HAVE_GALLIUM_LLVM define
Tobias Droste
tdroste at gmx.de
Thu Dec 8 02:03:38 UTC 2016
Gallium code used HAVE_LLVM to check if it needs to compile code for
LLVM in header and source files.
With the new logic HAVE_LLVM is always set. Use extra define to figure
out if LLVM is used.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99010
Signed-off-by: Tobias Droste <tdroste at gmx.de>
---
configure.ac | 1 +
src/gallium/auxiliary/draw/draw_context.c | 14 +++++++-------
src/gallium/auxiliary/draw/draw_context.h | 2 +-
src/gallium/auxiliary/draw/draw_pt.c | 4 ++--
src/gallium/auxiliary/draw/draw_vs.c | 2 +-
src/gallium/auxiliary/draw/draw_vs.h | 2 +-
6 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/configure.ac b/configure.ac
index 7362ecdfaf..d11f6cebc7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2561,6 +2561,7 @@ if test "x$enable_gallium_llvm" == "xyes"; then
llvm_add_default_components "gallium"
HAVE_GALLIUM_LLVM=yes
+ DEFINES="${DEFINES} -DHAVE_GALLIUM_LLVM"
fi
dnl Set HAVE_LLVM compiler define if LLVM is used.
diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c
index 56abcff5a2..f0dae1b1fe 100644
--- a/src/gallium/auxiliary/draw/draw_context.c
+++ b/src/gallium/auxiliary/draw/draw_context.c
@@ -45,7 +45,7 @@
#include "draw_vs.h"
#include "draw_gs.h"
-#if HAVE_LLVM
+#if HAVE_GALLIUM_LLVM
#include "gallivm/lp_bld_init.h"
#include "gallivm/lp_bld_limits.h"
#include "draw_llvm.h"
@@ -78,7 +78,7 @@ draw_create_context(struct pipe_context *pipe, void *context,
/* we need correct cpu caps for disabling denorms in draw_vbo() */
util_cpu_detect();
-#if HAVE_LLVM
+#if HAVE_GALLIUM_LLVM
if (try_llvm && draw_get_option_use_llvm()) {
draw->llvm = draw_llvm_create(draw, (LLVMContextRef)context);
}
@@ -112,7 +112,7 @@ draw_create(struct pipe_context *pipe)
}
-#if HAVE_LLVM
+#if HAVE_GALLIUM_LLVM
struct draw_context *
draw_create_with_llvm_context(struct pipe_context *pipe,
void *context)
@@ -221,7 +221,7 @@ void draw_destroy( struct draw_context *draw )
draw_pt_destroy( draw );
draw_vs_destroy( draw );
draw_gs_destroy( draw );
-#ifdef HAVE_LLVM
+#ifdef HAVE_GALLIUM_LLVM
if (draw->llvm)
draw_llvm_destroy( draw->llvm );
#endif
@@ -1003,7 +1003,7 @@ draw_set_samplers(struct draw_context *draw,
draw->num_samplers[shader_stage] = num;
-#ifdef HAVE_LLVM
+#ifdef HAVE_GALLIUM_LLVM
if (draw->llvm)
draw_llvm_set_sampler_state(draw, shader_stage);
#endif
@@ -1020,7 +1020,7 @@ draw_set_mapped_texture(struct draw_context *draw,
uint32_t img_stride[PIPE_MAX_TEXTURE_LEVELS],
uint32_t mip_offsets[PIPE_MAX_TEXTURE_LEVELS])
{
-#ifdef HAVE_LLVM
+#ifdef HAVE_GALLIUM_LLVM
if (draw->llvm)
draw_llvm_set_mapped_texture(draw,
shader_stage,
@@ -1057,7 +1057,7 @@ int
draw_get_shader_param(unsigned shader, enum pipe_shader_cap param)
{
-#ifdef HAVE_LLVM
+#ifdef HAVE_GALLIUM_LLVM
if (draw_get_option_use_llvm()) {
switch(shader) {
case PIPE_SHADER_VERTEX:
diff --git a/src/gallium/auxiliary/draw/draw_context.h b/src/gallium/auxiliary/draw/draw_context.h
index 145fc2ed46..782dec2dde 100644
--- a/src/gallium/auxiliary/draw/draw_context.h
+++ b/src/gallium/auxiliary/draw/draw_context.h
@@ -65,7 +65,7 @@ struct draw_so_target {
struct draw_context *draw_create( struct pipe_context *pipe );
-#if HAVE_LLVM
+#if HAVE_GALLIUM_LLVM
struct draw_context *draw_create_with_llvm_context(struct pipe_context *pipe,
void *context);
#endif
diff --git a/src/gallium/auxiliary/draw/draw_pt.c b/src/gallium/auxiliary/draw/draw_pt.c
index 5a49acb64d..1be983f56a 100644
--- a/src/gallium/auxiliary/draw/draw_pt.c
+++ b/src/gallium/auxiliary/draw/draw_pt.c
@@ -191,7 +191,7 @@ boolean draw_pt_init( struct draw_context *draw )
if (!draw->pt.middle.general)
return FALSE;
-#if HAVE_LLVM
+#if HAVE_GALLIUM_LLVM
if (draw->llvm)
draw->pt.middle.llvm = draw_pt_fetch_pipeline_or_emit_llvm( draw );
#endif
@@ -519,7 +519,7 @@ draw_vbo(struct draw_context *draw,
draw->pt.vertex_element,
draw->pt.nr_vertex_elements,
info);
-#if HAVE_LLVM
+#if HAVE_GALLIUM_LLVM
if (!draw->llvm)
#endif
{
diff --git a/src/gallium/auxiliary/draw/draw_vs.c b/src/gallium/auxiliary/draw/draw_vs.c
index 415c4fa949..e9966cf725 100644
--- a/src/gallium/auxiliary/draw/draw_vs.c
+++ b/src/gallium/auxiliary/draw/draw_vs.c
@@ -59,7 +59,7 @@ draw_create_vertex_shader(struct draw_context *draw,
tgsi_dump(shader->tokens, 0);
}
-#if HAVE_LLVM
+#if HAVE_GALLIUM_LLVM
if (draw->pt.middle.llvm) {
vs = draw_create_vs_llvm(draw, shader);
}
diff --git a/src/gallium/auxiliary/draw/draw_vs.h b/src/gallium/auxiliary/draw/draw_vs.h
index 6a900224c1..7b9fd4fac7 100644
--- a/src/gallium/auxiliary/draw/draw_vs.h
+++ b/src/gallium/auxiliary/draw/draw_vs.h
@@ -163,7 +163,7 @@ draw_create_vs_exec(struct draw_context *draw,
struct draw_vs_variant_key;
struct draw_vertex_shader;
-#if HAVE_LLVM
+#if HAVE_GALLIUM_LLVM
struct draw_vertex_shader *
draw_create_vs_llvm(struct draw_context *draw,
const struct pipe_shader_state *state);
--
2.11.0
More information about the mesa-dev
mailing list