[Piglit] Testing against undefined behaviour in asmparsertest/shaders/ARBvp1.0/address-06
g02maran at gmail.com
Mon Jun 10 12:55:24 PDT 2013
On Mon, Jun 10, 2013 at 1:49 PM, Marek Olšák <maraeo at gmail.com> wrote:
> If I'm reading the grammar correctly, the constant offset must be in
> the range [-64, 63]:
> <addrRegRelOffset> ::= ""
> | "+" <addrRegPosOffset>
> | "-" <addrRegNegOffset>
> <addrRegPosOffset> ::= <integer> from 0 to 63
> <addrRegNegOffset> ::= <integer> from 0 to 64
> However, proprietary drivers allow a greater range than that and there
> is at least one app which doesn't work if we obey the spec, so I
> decided to bump the relative address offset limits long time ago and
> the test has been failing ever since. The way I see it, the piglit
> test should be removed, because it's not useful anymore.
ok, so I was missing something. I also agree that the test should be
removed if there isn't any intention of following the spec.
> On Sat, Jun 8, 2013 at 1:44 PM, Martin Andersson <g02maran at gmail.com> wrote:
>> The asmparsertest/shaders/ARBvp1.0/address-06.txt tests against
>> "constant array index offset too large" and expects it to fail.
>> Currently in mesa this does not cause the program to fail and based on
>> my reading of  this is the correct behaviour. The test uses
>> relative addressing for which out-of-bounds access is undefined, but
>> it does not say that the program should fail to load as it says about
>> out-of-bounds access with absolute addressing .
>> Section 18.104.22.168
>> "If the computed offset is negative or exceeds the size of the array,
>> the results of the access are undefined, but may not lead to program
>> or GL termination."
>> I think the test should be expected to pass, or am I missing something?
>>  http://www.opengl.org/registry/specs/ARB/vertex_program.txt
>> Piglit mailing list
>> Piglit at lists.freedesktop.org
More information about the Piglit