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

Re: [Public WebGL] Re: WebGL 2 EXT_disjoint_timer_query in Firefox

WebGL 1 does not have the query functions, WebGL 2 does. The timer query extension defines constants to be used with the query functions, but since that function does not exist in WebGL 1, it is added to the extension object. Thus you have to make a choice, deliver the same extension that has different things in it depending on what context it came from, requiring the application programmer to test if the symbols are present, and if not test if they are present on the context itself, or have two extensions that're unambigously named which are two distinct objects with a well defined set of symbols. Neither choice is optimal as it rubs up against an impedance missmatch between how OpenGL ES does things, and how WebGL does things.

On Wed, May 24, 2017 at 10:34 PM, Jeff Gilbert <jgilbert@mozilla.com> wrote:

I remember having objections to this. I'll try to hunt down the
minutes for this, because I remember strongly disagreeing with this

On Wed, May 24, 2017 at 1:07 PM, Tarek Sherif <tsherif@gmail.com> wrote:
> Here are some relevant Firefox bug tickets:
> https://bugzilla.mozilla.org/show_bug.cgi?id=1308057
> https://bugzilla.mozilla.org/show_bug.cgi?id=1328882
> Tarek Sherif
> http://tareksherif.net/
> https://www.biodigital.com/
> On Wed, May 24, 2017 at 1:55 PM, Kenneth Russell <kbr@google.com> wrote:
>> That's correct, it's not supposed to be advertised.
>> EXT_disjoint_timer_query is for WebGL 1.0, and _webgl2 for 2.0.
>> The split was made fairly late in the WebGL 2.0 spec process, which is
>> probably why it slipped by in Firefox.
>> https://github.com/KhronosGroup/WebGL/pull/2405 strengthens the
>> conformance test. Thanks for pointing this out.
>> -Ken
>> On Wed, May 24, 2017 at 10:36 AM, Kai Ninomiya <kainino@google.com> wrote:
>>> IIRC the EXT_disjoint_timer_query extension is not supposed to be
>>> available at all for WebGL 2 contexts. Getting that extension should fail.
>>> It's possible we forgot to add a conformance test for this behavior, and it
>>> slipped by in Firefox.
>>> On Wed, May 24, 2017 at 8:19 AM Tarek Sherif <tsherif@gmail.com> wrote:
>>>> Ah, I just realized I was only using the TIME_ELAPSED_EXT and
>>>> GPU_DISJOINT_EXT enums on the extensions, which is why they appeared to be
>>>> interchangeable. The presence of the original EXT_disjoint_timer_query on a
>>>> WebGL 2 context does still strike me as odd, since the text from spec I
>>>> quoted suggests that it shouldn't be.
>>>> Tarek Sherif
>>>> http://tareksherif.net/
>>>> https://www.biodigital.com/
>>>> On Wed, May 24, 2017 at 9:29 AM, Tarek Sherif <tsherif@gmail.com> wrote:
>>>>> I'm confused by how EXT_disjoint_timer_query is behaving with WebGL 2
>>>>> contexts in Firefox. It allows both WebGL 1 (e.g. ext.createQueryEXT) and
>>>>> WebGL 2 (gl.createQuery) usage. Is the WebGL 2 usage is guaranteed for this
>>>>> extension? The EXT_disjoint_timer_query spec doesn't mention the WebGL 2
>>>>> usage, but does state: "This version of the disjoint_timer_query extension
>>>>> is exposed only on on WebGL 1.0 contexts. See the _webgl2 version of the
>>>>> extension for how it is exposed on WebGL 2.0 contexts." Does that mean
>>>>> EXT_disjoint_timer_query should behave as specified in
>>>>> EXT_disjoint_timer_query_webgl2 when using a WebGL 2 context? If so, it
>>>>> would seem that the WebGL 1-like functionality that Firefox exposes on that
>>>>> extension is incorrect.
>>>>> Either way, this all seems more confusing than it needs to be...
>>>>> Tarek Sherif
>>>>> http://tareksherif.net/
>>>>> https://www.biodigital.com/

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