radeonsi/nir: tidy up si_nir_load_sampler_desc()
authorTimothy Arceri <tarceri@itsqueeze.com>
Thu, 22 Mar 2018 00:55:20 +0000 (11:55 +1100)
committerTimothy Arceri <tarceri@itsqueeze.com>
Tue, 10 Apr 2018 04:43:45 +0000 (14:43 +1000)
This makes it easier to follow the code, and also initialises
dynamic_index which will be useful for adding bindless textures
support.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/drivers/radeonsi/si_shader_nir.c

index 45cbf1ce7f3ebcfe20c13146663308a5564c65c3..c0e08c79a56cbe843143b4a650de29f38bb275af 100644 (file)
@@ -885,14 +885,12 @@ si_nir_load_sampler_desc(struct ac_shader_abi *abi,
        struct si_shader_context *ctx = si_shader_context_from_abi(abi);
        LLVMBuilderRef builder = ctx->ac.builder;
        LLVMValueRef list = LLVMGetParam(ctx->main_fn, ctx->param_samplers_and_images);
-       LLVMValueRef index = dynamic_index;
+       LLVMValueRef index;
 
        assert(!descriptor_set);
 
-       if (!index)
-               index = ctx->ac.i32_0;
-
-       index = LLVMBuildAdd(builder, index,
+       dynamic_index = dynamic_index ? dynamic_index : ctx->ac.i32_0;
+       index = LLVMBuildAdd(builder, dynamic_index,
                             LLVMConstInt(ctx->ac.i32, base_index + constant_index, false),
                             "");