[Public WebGL] Explicit unboxing for object identifiers

James Robinson [email protected]
Thu Apr 26 19:49:23 PDT 2012


I think they should double and triple equals false, otherwise the gc
implications are pretty crazy.

- James
On Apr 26, 2012 7:05 PM, "Kenneth Russell" <[email protected]> wrote:

>
> On Mon, Jan 9, 2012 at 9:37 AM, Gregg Tavares (wrk) <[email protected]>
> wrote:
> >
> >
> > On Sun, Jan 8, 2012 at 5:59 PM, Vladimir Vukicevic <[email protected]>
> > wrote:
> >>
> >>
> >>
> >> On Sun, Jan 8, 2012 at 11:37 AM, Benoit Jacob <[email protected]>
> wrote:
> >>>
> >>>
> >>> In Firefox <= 10, equal uniform locations give the same
> >>> WebGLUniformLocation object, so the location1 === location2 test just
> works.
> >>>
> >>> We just changed this for Firefox 11 as (per a mailing list discussion)
> >>> there was agreement that this wasn't needed, and so the extra code in
> Gecko
> >>> needed to make that work was seen as unneeded complexity.
> >>>
> >>> What is you use case for comparing uniform locations? Why can't you
> >>> implement it on your side, maybe with a shim/wrapper around
> >>> webgl.getUniformLocation?
> >>
> >>
> >> Hrrm, does this mean that:
> >>
> >>   gl.getUniformLocation(prog, "foo") != gl.getUniformLocation(prog,
> "foo")
> >
> >
> > I think
> >
> >     gl.getUniformLocation(prog, "foo") == gl.getUniformLocation(prog,
> "foo")
> >
> > should be true but
> >
> >     gl.getUniformLocation(prog, "foo") === gl.getUniformLocation(prog,
> > "foo")
> >
> > can be false
> >
> > although honestly it's not hard to guarantee the second be true as well.
>
> Resurrecting this old thread. Meant to test this some time ago.
>
> At least in current Firefox and Chrome,
>
>    gl.getUniformLocation(prog, "foo") == gl.getUniformLocation(prog, "foo")
>
> is false.
>
> I don't know what would be required to try to make the "==" operator
> work in this case. Web IDL says nothing about equality comparisons
> between different host objects. I tried simply defining operator== on
> the C++ WebGLUniformLocation class in WebKit, but that had no effect;
> it isn't called by the JavaScript engine.
>
> If anyone wants to pursue this issue, [email protected] is
> probably the best forum.
>
> -Ken
>
>
>
> >>
> >>
> >> ?  That seems really unexpected and very likely to cause hard to untable
> >> confusion and bugs.  Hashtable (object property) storage especially
> using
> >> uniform locations as keys doesn't seem that unexpected, for example to
> store
> >> the current value or somesuch for optimization purpose.
> >>
> >> A developer or a library can't just wrap getUniformLocation -- they'd
> have
> >> to track all shaders attached to 'prog', track compilation and linking,
> >> etc., because any of those could cause the return value to actually
> -need-
> >> to change.  It seems very tricky to get right in a wrapper, and I don't
> see
> >> any reason to dump this complexity on wrappers when a simple hashtable
> would
> >> do it on the implementation side.
> >>
> >>     - Vlad
> >>
> >>
> >
> >
>
> -----------------------------------------------------------
> You are currently subscribed to [email protected]
> To unsubscribe, send an email to [email protected] with
> the following command in the body of your email:
> unsubscribe public_webgl
> -----------------------------------------------------------
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://khronos.org/pipermail/public_webgl_khronos.org/attachments/20120426/cd024a04/attachment.html>


More information about the public_webgl mailing list