[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