[Mesa-dev] [PATCH 1/7] gallium: add CONSTBUF type to tgsi_file_type

Ilia Mirkin imirkin at alum.mit.edu
Tue Aug 22 23:08:02 UTC 2017

On Tue, Aug 22, 2017 at 6:55 PM, Timothy Arceri <tarceri at itsqueeze.com> wrote:
> On 23/08/17 00:56, Ilia Mirkin wrote:
>> On Tue, Aug 22, 2017 at 10:51 AM, Roland Scheidegger <sroland at vmware.com>
>> wrote:
>>> I am probably missing something here, but why do you need a new register
>>> file? Since you couldn't use LOAD with TGSI_FILE_CONSTANT before, can't
>>> you just allow LOAD with TGSI_FILE_CONSTANT and achieve the same thing?
>>> Or do you need to know how it's going to be accessed in advance?
>> With bindless, LOAD can take a CONST I believe [which contains the
>> value of the bindless id]. I think it's nice to keep those concepts
>> separate... having CONST sometimes mean the value and other times mean
>> the address is a bit weird. This way CONSTBUF[0] is the address of the
>> 0th constbuf.
> Yeah. I think we also may need another type for bindless as I'm planning to
> use TGSI_FILE_CONSTANT for regular uniforms. The plan is to use LOAD for
> supporting packed uniforms rather than padding everything to vec4.

Shouldn't be necessary... we can think of CONST (and TEMP and IMM) as
"value" registers, and MEMORY/IMAGE/BUFFER/CONSTBUF as "address"
registers. If LOAD receives a value, then it's a bindless image
handle, otherwise it should work based on which of the address
registers it receives.


More information about the mesa-dev mailing list