Am 11.01.2016 um 20:55 schrieb Marek Olšák:
On Mon, Jan 11, 2016 at 8:00 PM, Rob Clark <robdcl...@gmail.com> wrote:
On Mon, Jan 11, 2016 at 1:52 PM, Marek Olšák <mar...@gmail.com> wrote:
On Mon, Jan 11, 2016 at 6:07 PM, Rob Clark <robdcl...@gmail.com> wrote:
Quite possibly I am..  although wouldn't I still have the same issue
with other state trackers?  So in that case I'd have to detect
indirect access, but without ArrayID's, and still set this flag.
Yes, PIPE_SHADER_CAP_TGSI_ANY_INOUT_DECL_RANGE adds array support for
TGSI inputs and outputs. If ArrayID > 0, there is an array
declaration. If ArrayID == 0, the entire file is an array. This
applies to all files.(input, output, temp)
The question is whether there would be any ArrayID==0 case that we
actually care about.  I suppose wine/nine-st isn't worth caring about
on arm (vc4/freedreno).  Unsure about other state trackers (or ARB
shader or other cases coming from mesa-st)?
I don't think so. ARB asm programs don't support indirect addressing
on temps, inputs, and outputs. Regarding inputs and outputs,
glsl_to_tgsi automatically declares an array for anything that is an
array in GLSL even if indirect addressing is not used, so proper array
declarations are always present. I'm not sure about temporaries, but I
think glsl_to_tgsi has correctly generated temp arrays for many years
now.

Actually I added the ArrayID to TGSI in 2013 to fix the same problem for radeonsi Rob has now as well.

You should be fine from the OpenGL side.

Yeah, indeed. Otherwise radeonsi won't work correctly either.

Regards,
Christian.


Marek
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to