[Mesa-dev] [PATCH 1/2] prog_to_nir: Use a variable for uniform data

Jason Ekstrand jason at jlekstrand.net
Sat May 23 11:52:46 PDT 2015


On Sat, May 23, 2015 at 11:47 AM, Kenneth Graunke <kenneth at whitecape.org> wrote:
> On Tuesday, May 19, 2015 05:28:17 PM Jason Ekstrand wrote:
>> Previously, the prog_to_nir pass was directly generating uniform load/store
>> intrinsics.  This converts it to use a single giant "parameters" variable
>> and we now depend on lowering to get the uniform load/store intrinsics.
>> One advantage of this is that we now have one code-path after we do the
>> initial conversion into NIR.
>>
>> No shader-db changes.
>>
>> Signed-off-by: Jason Ekstrand <jason.ekstrand at intel.com>
>> ---
>>  src/mesa/drivers/dri/i965/brw_nir.c | 15 ++-------
>>  src/mesa/program/prog_to_nir.c      | 65 ++++++++++++++++++++-----------------
>>  2 files changed, 38 insertions(+), 42 deletions(-)
>
> That is indeed nicer...much less special casing.  This patch also makes
> an eventual goal of mine easier:
>
> If we ever start converting ARB programs directly to NIR, we'll be able
> to create multiple variables for disjoint sections of parameters---several
> arrays, rather than one giant array.  (Currently, that information is lost
> in Mesa IR, as far as I know.)  This would allow us to eliminate more
> unused parameters in the presence of indirects.

Yeah, hopefully we can start doing some sort of array-splitting in NIR
which would help with that.  Doing that on uniforms can be tricky
though...

> Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>

Thanks!


More information about the mesa-dev mailing list