[Mesa-dev] [RFC] gallium/hud: fix issue w/ tgsi_to_nir

Marek Olšák maraeo at gmail.com
Wed Jun 24 09:31:45 PDT 2015


Yes, ArrayID != 0 means it's an array, otherwise it's just a compact
way to add declarations.

I recently added the array support for inputs and outputs, we just
need to enable it on non-radeon non-swrast drivers:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b6ebe7eabf54936a02acc0968e718e0c264a73f5

It would be nice to enable the arrays on all drivers instead of
working around it indefinitely.

Marek

On Wed, Jun 24, 2015 at 1:31 PM, Rob Clark <robdclark at gmail.com> wrote:
> Ok, I *thought* we didn't get ArrayID on IN/OUT, but only TEMP?  If it
> is safe to assume that we always get ArrayID that makes it much
> easier.
>
> BR,
> -R
>
> On Wed, Jun 24, 2015 at 5:39 AM, Marek Olšák <maraeo at gmail.com> wrote:
>> It's not an array, because the ArrayID is 0. It's a valid non-array
>> declaration. If any TGSI user doesn't understand it, that user should
>> be fixed.
>>
>> Marek
>>
>> On Tue, Jun 23, 2015 at 3:20 PM, Rob Clark <robdclark at gmail.com> wrote:
>>> From: Rob Clark <robclark at freedesktop.org>
>>>
>>> Ok, so actually there is a ttn issue here to fix as well.. but it
>>> brought up a question in my mind.  When ttn sees something like
>>>
>>>   DCL IN[0..1]
>>>
>>> it will treat that as an array (which in the end will result in
>>> constraints about where the registers get allocated.  Which is not
>>> really ideal.
>>>
>>> With glsl we don't actually get input arrays (but instead a bunch
>>> of MOV's to a TEMP array) currently.  So I'm not quite sure how
>>> an actual input array should look.  (But my preference would be
>>> IN[a..b] for arrays and IN[c] otherwise)
>>> ---
>>>  src/gallium/auxiliary/hud/hud_context.c | 3 ++-
>>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/src/gallium/auxiliary/hud/hud_context.c b/src/gallium/auxiliary/hud/hud_context.c
>>> index 6a124f7..2b6d3a7 100644
>>> --- a/src/gallium/auxiliary/hud/hud_context.c
>>> +++ b/src/gallium/auxiliary/hud/hud_context.c
>>> @@ -1163,7 +1163,8 @@ hud_create(struct pipe_context *pipe, struct cso_context *cso)
>>>     {
>>>        static const char *vertex_shader_text = {
>>>           "VERT\n"
>>> -         "DCL IN[0..1]\n"
>>> +         "DCL IN[0]\n"
>>> +         "DCL IN[1]\n"
>>>           "DCL OUT[0], POSITION\n"
>>>           "DCL OUT[1], COLOR[0]\n" /* color */
>>>           "DCL OUT[2], GENERIC[0]\n" /* texcoord */
>>> --
>>> 2.4.3
>>>
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list