[Mesa-dev] [PATCH v2 12/12] radeonsi: add an assertion that only two-dimensional constant references are used
Timothy Arceri
tarceri at itsqueeze.com
Tue Aug 29 00:44:23 UTC 2017
On 29/08/17 10:32, Timothy Arceri wrote:
> I'd like to see the clean-ups mentioned in patch 3, that would mean you
> need to remove this assert. I guess you could leave this patch and do
> the clean-up as a follow-up so that you can more easily debug/bisect if
> something has gone wrong, up to you.
Ignore this I just noticed Dimension is still used for other things such
as input/outputs.
Series:
Reviewed-by: Timothy Arceri <tarceri at itsqueeze.com>
>
> On 28/08/17 18:58, Nicolai Hähnle wrote:
>> From: Nicolai Hähnle <nicolai.haehnle at amd.com>
>>
>> v2: remove some redundant checks
>>
>> Acked-by: Roland Scheidegger <sroland at vmware.com> (v1)
>> Tested-by: Dieter Nützel <Dieter at nuetzel-hh.de> (v1)
>> ---
>> src/gallium/drivers/radeonsi/si_shader.c | 5 +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/gallium/drivers/radeonsi/si_shader.c
>> b/src/gallium/drivers/radeonsi/si_shader.c
>> index f02fc9e9ba2..81b00246559 100644
>> --- a/src/gallium/drivers/radeonsi/si_shader.c
>> +++ b/src/gallium/drivers/radeonsi/si_shader.c
>> @@ -1844,24 +1844,25 @@ static LLVMValueRef fetch_constant(
>> if (swizzle == LP_CHAN_ALL) {
>> unsigned chan;
>> LLVMValueRef values[4];
>> for (chan = 0; chan < TGSI_NUM_CHANNELS; ++chan)
>> values[chan] = fetch_constant(bld_base, reg, type, chan);
>> return lp_build_gather_values(&ctx->gallivm, values, 4);
>> }
>> - buf = reg->Register.Dimension ? reg->Dimension.Index : 0;
>> + assert(reg->Register.Dimension);
>> + buf = reg->Dimension.Index;
>> idx = reg->Register.Index * 4 + swizzle;
>> - if (reg->Register.Dimension && reg->Dimension.Indirect) {
>> + if (reg->Dimension.Indirect) {
>> LLVMValueRef ptr = LLVMGetParam(ctx->main_fn,
>> ctx->param_const_and_shader_buffers);
>> LLVMValueRef index;
>> index = si_get_bounded_indirect_index(ctx, ®->DimIndirect,
>> reg->Dimension.Index,
>> ctx->num_const_buffers);
>> index = LLVMBuildAdd(ctx->gallivm.builder, index,
>> LLVMConstInt(ctx->i32, SI_NUM_SHADER_BUFFERS,
>> 0), "");
>> bufp = ac_build_indexed_load_const(&ctx->ac, ptr, index);
>> } else
>> bufp = load_const_buffer_desc(ctx, buf);
>>
> _______________________________________________
> 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