From: Tobias Droste Date: Thu, 8 Dec 2016 02:03:38 +0000 (+0100) Subject: configure.ac: Set and use HAVE_GALLIUM_LLVM define X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4d0efb9683856cada2f34b124c77ef20a2fe0332;p=mesa.git configure.ac: Set and use HAVE_GALLIUM_LLVM define 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 --- diff --git a/configure.ac b/configure.ac index 9c9c316c4e3..5740da6ee91 100644 --- a/configure.ac +++ b/configure.ac @@ -2573,6 +2573,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 We need to validate some needed dependencies for renderonly drivers. diff --git a/src/gallium/auxiliary/draw/draw_context.c b/src/gallium/auxiliary/draw/draw_context.c index 56abcff5a24..f0dae1b1fec 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 145fc2ed467..782dec2dde3 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 5a49acb64d3..1be983f56a3 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 415c4fa949a..e9966cf725e 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 6a900224c11..7b9fd4fac7b 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);