[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] Re: ogles preprocessor conformance test disambiguated factoring



On Tue, Apr 24, 2012 at 2:51 PM, Kenneth Russell <kbr@google.com> wrote:
> On Sun, Apr 22, 2012 at 5:57 PM, David Sheets <kosmo.zb@gmail.com> wrote:
>>
>> Here are a few more cases that should be added to preprocess2_frag.frag (valid):
>>
>> #define LOC 4 3
>> #line LOC
>> #line __LINE__
>> #line __LINE__ 5
>> #line __LINE__ __FILE__
>
> Hi David,
>
> Could you please incorporate the cases above into your patch and
> regenerate it? It isn't obvious to me exactly what you intended.

Attached.

preprocess2_frag.frag contains all the valid constructions. The new
preprocessor tests each contain an individual failing line directive
test case. This ensures that implementations do not reject valid
shaders and always reject invalid shaders.

Thank you,

David

> I'll ask about incorporating these changes into the ES conformance
> suite so that they can be more easily pulled down into the WebGL
> conformance tests.
>
> Thanks,
>
> -Ken
>
>
>> Thanks,
>>
>> David Sheets
>>
>> On Sun, Apr 22, 2012 at 5:35 PM, David Sheets <kosmo.zb@gmail.com> wrote:
>>> Attached you will find an SVN repo unidiff patch to disambiguate the
>>> various preprocessor errors that can occur in #line directives.
>>> Specifically, macro expansion in line directives is now properly
>>> tested. See <http://code.google.com/p/angleproject/issues/detail?id=183>
>>> for a presently non-conforming implementation.
>>>
>>> Here is an accounting of compliant behavior:
>>>
>>> preprocess2_frag.frag should now PASS
>>> preprocess11_frag.frag should FAIL
>>> preprocess12_frag.frag should FAIL
>>> preprocess13_frag.frag should FAIL
>>> preprocess14_frag.frag should FAIL
>>> preprocess15_frag.frag should FAIL
>>> preprocess16_frag.frag should FAIL
>>>
>>> I would have integrated these tests into the test suite except to
>>> regenerate the autogenerated test suite you must have a working copy
>>> of the private OpenGL ES conformance tests so I didn't do this. I
>>> couldn't do a single iteration of browser testing because of this.
>>> Sorry, Gregg, Khronos is making you do more work by playing semantic
>>> games with their "open" standards.
>>>
>>> I would like to see these tests used up-stream in the OpenGL ES 2.0
>>> GLSL WG's (private) test suite. I release my contributions attached
>>> into the Public Domain.
>>>
>>> Failure to properly test for these bugs (and features) and enforce
>>> conformance will lead to divergence between WebGLSL and OpenGL ES 2.0
>>> GLSL. Divergence of these languages appears to be inevitable as the
>>> WebGL WG produces fundamentally public standards and the OpenGL ES 2.0
>>> WG produces fundamentally private standards (the standards
>>> specification documents do not match ground truth or the test suites
>>> and discussion is private).
>>>
>>> Warm World Wide Web Wishes,
>>>
>>> David Sheets
>>> 2nd Class Netizen
>>>
>>> P.S. When is the WebGLSL specification going to be stored in the
>>> public WebGL SVN repo? Can the official document be converted into
>>> HTML like the vast majority of other web standards?
>>
>> -----------------------------------------------------------
>> You are currently subscribed to public_webgl@khronos.org.
>> To unsubscribe, send an email to majordomo@khronos.org with
>> the following command in the body of your email:
>> unsubscribe public_webgl
>> -----------------------------------------------------------
>>

Attachment: line_directive_tests_revised.patch
Description: Binary data