Can you move this one before patch 1, so that HAVE_LLVM is always defined? With that change, patches 2-5, 7-9 are Reviewed-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl>
With my comment on 6 resolved, that one also has my r-b. - Bas On Mon, Jan 2, 2017 at 9:16 PM, Marek Olšák <mar...@gmail.com> wrote: > From: Marek Olšák <marek.ol...@amd.com> > > --- > src/gallium/drivers/radeon/r600_pipe_common.c | 14 +++++++++----- > src/gallium/drivers/radeonsi/si_shader.c | 19 +++++++++++-------- > 2 files changed, 20 insertions(+), 13 deletions(-) > > diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c > b/src/gallium/drivers/radeon/r600_pipe_common.c > index 74e8de9..d45a385 100644 > --- a/src/gallium/drivers/radeon/r600_pipe_common.c > +++ b/src/gallium/drivers/radeon/r600_pipe_common.c > @@ -36,20 +36,24 @@ > #include "vl/vl_decoder.h" > #include "vl/vl_video_buffer.h" > #include "radeon/radeon_video.h" > #include <inttypes.h> > #include <sys/utsname.h> > > #ifndef HAVE_LLVM > #define HAVE_LLVM 0 > #endif > > +#ifndef MESA_LLVM_VERSION_PATCH > +#define MESA_LLVM_VERSION_PATCH 0 > +#endif > + > struct r600_multi_fence { > struct pipe_reference reference; > struct pipe_fence_handle *gfx; > struct pipe_fence_handle *sdma; > > /* If the context wasn't flushed at fence creation, this is non-NULL. > */ > struct { > struct r600_common_context *ctx; > unsigned ib_index; > } gfx_unflushed; > @@ -1194,25 +1198,25 @@ bool r600_common_screen_init(struct > r600_common_screen *rscreen, > { > char llvm_string[32] = {}, kernel_version[128] = {}; > struct utsname uname_data; > > ws->query_info(ws, &rscreen->info); > > if (uname(&uname_data) == 0) > snprintf(kernel_version, sizeof(kernel_version), > " / %s", uname_data.release); > > -#if HAVE_LLVM > - snprintf(llvm_string, sizeof(llvm_string), > - ", LLVM %i.%i.%i", (HAVE_LLVM >> 8) & 0xff, > - HAVE_LLVM & 0xff, MESA_LLVM_VERSION_PATCH); > -#endif > + if (HAVE_LLVM > 0) { > + snprintf(llvm_string, sizeof(llvm_string), > + ", LLVM %i.%i.%i", (HAVE_LLVM >> 8) & 0xff, > + HAVE_LLVM & 0xff, MESA_LLVM_VERSION_PATCH); > + } > > snprintf(rscreen->renderer_string, sizeof(rscreen->renderer_string), > "%s (DRM %i.%i.%i%s%s)", > r600_get_chip_name(rscreen), rscreen->info.drm_major, > rscreen->info.drm_minor, rscreen->info.drm_patchlevel, > kernel_version, llvm_string); > > rscreen->b.get_name = r600_get_name; > rscreen->b.get_vendor = r600_get_vendor; > rscreen->b.get_device_vendor = r600_get_device_vendor; > diff --git a/src/gallium/drivers/radeonsi/si_shader.c > b/src/gallium/drivers/radeonsi/si_shader.c > index 72cf827..f18aa82 100644 > --- a/src/gallium/drivers/radeonsi/si_shader.c > +++ b/src/gallium/drivers/radeonsi/si_shader.c > @@ -1764,30 +1764,33 @@ static void declare_system_value( > } > > case TGSI_SEMANTIC_BLOCK_ID: > value = LLVMGetParam(radeon_bld->main_fn, SI_PARAM_BLOCK_ID); > break; > > case TGSI_SEMANTIC_THREAD_ID: > value = LLVMGetParam(radeon_bld->main_fn, SI_PARAM_THREAD_ID); > break; > > -#if HAVE_LLVM >= 0x0309 > case TGSI_SEMANTIC_HELPER_INVOCATION: > - value = lp_build_intrinsic(gallivm->builder, > - "llvm.amdgcn.ps.live", > - ctx->i1, NULL, 0, > - LP_FUNC_ATTR_READNONE); > - value = LLVMBuildNot(gallivm->builder, value, ""); > - value = LLVMBuildSExt(gallivm->builder, value, ctx->i32, ""); > + if (HAVE_LLVM >= 0x0309) { > + value = lp_build_intrinsic(gallivm->builder, > + "llvm.amdgcn.ps.live", > + ctx->i1, NULL, 0, > + LP_FUNC_ATTR_READNONE); > + value = LLVMBuildNot(gallivm->builder, value, ""); > + value = LLVMBuildSExt(gallivm->builder, value, > ctx->i32, ""); > + } else { > + assert(!"TGSI_SEMANTIC_HELPER_INVOCATION > unsupported"); > + return; > + } > break; > -#endif > > default: > assert(!"unknown system value"); > return; > } > > radeon_bld->system_values[index] = value; > } > > static void declare_compute_memory(struct si_shader_context *radeon_bld, > -- > 2.7.4 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev