[Piglit] [PATCH] shader_runner: fix uniform array name lookups
tapani.palli at intel.com
Wed Mar 4 08:12:04 PST 2015
On 03/04/2015 05:57 PM, Ilia Mirkin wrote:
> On Wed, Mar 4, 2015 at 10:31 AM, Tapani <tapani.palli at intel.com
> <mailto:tapani.palli at intel.com>> wrote:
> On 03/04/2015 05:07 PM, Ilia Mirkin wrote:
>> On Wed, Mar 4, 2015 at 9:58 AM, Ilia Mirkin<imirkin at alum.mit.edu> <mailto:imirkin at alum.mit.edu> wrote:
>>> On Wed, Mar 4, 2015 at 4:53 AM, Arthur Huillet<arthur.huillet at free.fr> <mailto:arthur.huillet at free.fr> wrote:
>>>> From: Arthur Huillet<ahuillet at nvidia.com> <mailto:ahuillet at nvidia.com>
>>>> Don't look up uniform names for non-zero array elements, as this is illegal per GL4.5.
>>>> From the discussion of GetProgramResourceIndex in the GL4.5 spec:
>>>> If name exactly matches the name string of one of the active resources for
>>>> programInterface, the index of the matched resource is returned. Additionally, if
>>>> name would exactly match the name string of an active resource if "" were
>>>> appended to name, the index of the matched resource is returned. Otherwise, name
>>>> is considered not to be the name of an active resource, and INVALID_INDEX is
>>>> returned. Note that if an interface enumerates a single active resource list entry for
>>>> an array variable (e.g., "a"), a name identifying any array element other than
>>>> the first (e.g., "a") is not considered to match.
>>> Hm, and the spec goes on to define GetUniformIndices in terms of
>>> What does this say about a.b.c ? Do they all have to be 0
>>> and you have to retrieve all 3 strides? If so, your implementation
>>> isn't quite doing that.
>> Also I'm having a ton of trouble parsing the meaning of
>> Note that if an interface enumerates a single active resource list entry for
>> an array variable (e.g., "a"), a name identifying any array element
>> other than
>> the first (e.g., "a") is not considered to match.
>> It's unclear to me that it means what you claim it means in the first
>> place. Ian, as the resident GL and UBO expert, care to comment? :)
> IMO Arthur's interpretation is correct. I had to read this many
> many times while writing test for GetProgramResourceIndex to get
> it, the "a" example seems misleading at first.
> GL_ARB_array_of_arrays is special case explained in
> GL_ARB_program_interface_query spec:
> "For a uniform array such as: uniform vec4 a; we
> enumerate twenty different entries ("a" through
> "a"), ..."
> Great, so that means that Arthur's approach should work fine here as
> well. As long as this is indeed what the spec is saying, the original
> patch is
> Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu
> <mailto:imirkin at alum.mit.edu>>
Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Piglit