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

Re: [Public WebGL] Interaction of WebGL 2 query objects and WebGL timer queries extension EXT_disjoint_timer_query



I'll also note that it's undefined what happens when you call an EXT function when the extension is not present.

On Fri, Sep 23, 2016 at 1:20 PM Geoff Lang <[email protected]> wrote:
For OpenGL in general, glGenQueries and glGenQueriesEXT are allowed to be the same function pointer and in some ARB extensions the function name isn't even suffixed (GL_ARB_get_program_binary for example).

On Fri, Sep 23, 2016 at 1:15 PM Florian Bösch <[email protected]> wrote:
On Fri, Sep 23, 2016 at 6:28 PM, Jukka Jylänki <[email protected]> wrote:
Should these two types of query objects be considered to be strictly separate?

The question isn't just a valid one for WebGL, it is a valid question for OpenGL ES in general. Are the ES functions glGenQueries and glGenQueriesEXT considered interchangable? Can you for instance call glGenQuery, then glBeginQuery(GL_TIME_ELAPSED_EXT)?

I'd propose that if If the answer is yes, then those functions are overlapping and the object that either glGenQueries and glGenQueriesEXT outputs is identical. If the answer is no, then they are not identical.

It might be kind of a unique case, where a core specification introduces some functionality that an extension introduced, but it's introduced to satisfy another original extension (EXT_occlusion_query_boolean), which also introduces the symbol glGenQueriesEXT. I would have to assume if you load up both the occlusion query and disjoint timer query extensions, that there would not be 2 different functions for glGenQueriesEXT (the disjoint function) and glGenQueriesEXT (the occlusion query). This would suggest to me tentatively that glGenQueries is interchangable with glGenQueriesEXT (of any flavor).

If the above is a correct conclusion, then no change to the specification would be required (as there wouldn't be queryEXT objects).