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

Re: [Public WebGL] Re: meaning of the specification of FBO sampling and interpretation by UAs



I believe the behavior should be specified and implemented on all platforms the same, indifferently from the backend or UA. Agreed?

On Mon, Mar 20, 2017 at 7:25 PM, Kenneth Russell <kbr@google.com> wrote:
It's not feasible to detect during a given draw call that the bound program sampled a texture which actually ended up causing a rendering feedback loop. For this reason Chrome's detection of feedback loops iterates over all of the samplers of the currently bound program, and looks at the texture objects bound to those texture units. If any of those textures are bound to the current framebuffer object, it generates an error.

This is a conservative check, but covers all of the undefined cases on mobile hardware. When this check was instituted some time ago, content which was updated to render correctly with it started working on mobile devices where it had previously failed.

-Ken



On Mon, Mar 20, 2017 at 10:14 AM, Zhenyao Mo <zmo@chromium.org> wrote:

We have WebGL conformance tests for feedback loop detection, but we
don't have a positive test that a texture is bound but not sampled,
that it is not feedback loop and no error should be generated.

The ES spec doesn't generate GL errors on feedback loops.  It's simply
stating the results are undefined.

On Mon, Mar 20, 2017 at 9:48 AM, Florian Bösch <pyalot@gmail.com> wrote:
> I'm not 100% sure it's the case, the error I looked at was somewhat complex.
> Do we have unit-test for it?
>
> On Mon, Mar 20, 2017 at 5:46 PM, Zhenyao Mo <zmo@chromium.org> wrote:
>>
>> To clarify, drivers never generate errors in such situation.  It's
>> simply an undefined behavior.  The error you see is not from NVidia
>> drivers, but from Chrome's GPU command buffer.
>>
>> On Sun, Mar 19, 2017 at 2:07 PM, Florian Bösch <pyalot@gmail.com> wrote:
>> > I might add, OpenGL adopts the latter more lenient interptation (at
>> > least
>> > with nvidia drivers),  and that works fine on Chrome on these systems,
>> > but
>> > on Windows Chrome/ANGLE use a more strict interpretation.
>> >
>> > On Sun, Mar 19, 2017 at 10:05 PM, Florian Bösch <pyalot@gmail.com>
>> > wrote:
>> >>
>> >> The ES specification states that the result of sampling from a texture
>> >> attached to a framebuffer at the same time as sampling to that
>> >> framebuffer
>> >> is undefined.
>> >>
>> >> Google chrome seems to interprete this as: If a texture is bound to any
>> >> texturing unit while that framebuffer is used it's an error.
>> >>
>> >> However a different interpretation of this would be: If a texture that
>> >> is
>> >> bound is actually sampled during the framebuffer operation it's an
>> >> error.
>> >>
>> >> Which of these interpretations is the correct one?
>> >
>> >
>
>

-----------------------------------------------------------
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
-----------------------------------------------------------