[Mesa-dev] [PATCH] radeonsi: fix/silence unused variable warnings in optimized builds
Marek Olšák
maraeo at gmail.com
Wed Nov 9 23:11:06 UTC 2016
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Wed, Nov 9, 2016 at 4:02 PM, Nicolai Hähnle <nhaehnle at gmail.com> wrote:
> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>
> I'm leaving num_out_sgpr around since it's not in a fast path, and besides
> the compiler should be able to optimize it away easily. The alternative
> with #if/#endif would be extremely ugly.
> ---
> src/gallium/drivers/radeonsi/si_dma.c | 3 +--
> src/gallium/drivers/radeonsi/si_shader.c | 3 ++-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/src/gallium/drivers/radeonsi/si_dma.c b/src/gallium/drivers/radeonsi/si_dma.c
> index dee5ec5..8d186c3 100644
> --- a/src/gallium/drivers/radeonsi/si_dma.c
> +++ b/src/gallium/drivers/radeonsi/si_dma.c
> @@ -91,37 +91,36 @@ static void si_dma_copy_tile(struct si_context *ctx,
> unsigned src_y,
> unsigned src_z,
> unsigned copy_height,
> unsigned pitch,
> unsigned bpp)
> {
> struct radeon_winsys_cs *cs = ctx->b.dma.cs;
> struct r600_texture *rsrc = (struct r600_texture*)src;
> struct r600_texture *rdst = (struct r600_texture*)dst;
> unsigned dst_mode = rdst->surface.level[dst_level].mode;
> - unsigned src_mode = rsrc->surface.level[src_level].mode;
> bool detile = dst_mode == RADEON_SURF_MODE_LINEAR_ALIGNED;
> struct r600_texture *rlinear = detile ? rdst : rsrc;
> struct r600_texture *rtiled = detile ? rsrc : rdst;
> unsigned linear_lvl = detile ? dst_level : src_level;
> unsigned tiled_lvl = detile ? src_level : dst_level;
> struct radeon_info *info = &ctx->screen->b.info;
> unsigned index = rtiled->surface.tiling_index[tiled_lvl];
> unsigned tile_mode = info->si_tile_mode_array[index];
> unsigned array_mode, lbpp, pitch_tile_max, slice_tile_max, size;
> unsigned ncopy, height, cheight, i;
> unsigned linear_x, linear_y, linear_z, tiled_x, tiled_y, tiled_z;
> unsigned sub_cmd, bank_h, bank_w, mt_aspect, nbanks, tile_split, mt;
> uint64_t base, addr;
> unsigned pipe_config;
>
> - assert(dst_mode != src_mode);
> + assert(dst_mode != rsrc->surface.level[src_level].mode);
>
> sub_cmd = SI_DMA_COPY_TILED;
> lbpp = util_logbase2(bpp);
> pitch_tile_max = ((pitch / bpp) / 8) - 1;
>
> linear_x = detile ? dst_x : src_x;
> linear_y = detile ? dst_y : src_y;
> linear_z = detile ? dst_z : src_z;
> tiled_x = detile ? src_x : dst_x;
> tiled_y = detile ? src_y : dst_y;
> diff --git a/src/gallium/drivers/radeonsi/si_shader.c b/src/gallium/drivers/radeonsi/si_shader.c
> index b170eb9..86dd9d5 100644
> --- a/src/gallium/drivers/radeonsi/si_shader.c
> +++ b/src/gallium/drivers/radeonsi/si_shader.c
> @@ -6865,21 +6865,22 @@ static void si_build_wrapper_function(struct si_shader_context *ctx,
> unsigned num_parts,
> unsigned main_part)
> {
> struct gallivm_state *gallivm = &ctx->gallivm;
> LLVMBuilderRef builder = ctx->gallivm.builder;
> /* PS epilog has one arg per color component */
> LLVMTypeRef param_types[48];
> LLVMValueRef out[48];
> LLVMTypeRef function_type;
> unsigned num_params;
> - unsigned num_out_sgpr, num_out;
> + unsigned num_out;
> + MAYBE_UNUSED unsigned num_out_sgpr; /* used in debug checks */
> unsigned num_sgprs, num_vgprs;
> unsigned last_sgpr_param;
> unsigned gprs;
>
> for (unsigned i = 0; i < num_parts; ++i) {
> LLVMAddFunctionAttr(parts[i], LLVMAlwaysInlineAttribute);
> LLVMSetLinkage(parts[i], LLVMPrivateLinkage);
> }
>
> /* The parameters of the wrapper function correspond to those of the
> --
> 2.7.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list