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

Re: [Public WebGL] Explicit unboxing for object identifiers



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" <kbr@google.com> wrote:

On Mon, Jan 9, 2012 at 9:37 AM, Gregg Tavares (wrk) <gman@google.com> wrote:
>
>
> On Sun, Jan 8, 2012 at 5:59 PM, Vladimir Vukicevic <vladimir@pobox.com>
> wrote:
>>
>>
>>
>> On Sun, Jan 8, 2012 at 11:37 AM, Benoit Jacob <bjacob@mozilla.com> 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, public-script-coord@w3.org 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 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
-----------------------------------------------------------