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

Re: [Public WebGL] WEBGL_depth_texture unspecified case: sampling from an uninitialized depth texture



On 13-09-26 08:04 PM, Kenneth Russell wrote:
> On Thu, Sep 26, 2013 at 12:26 PM, Daniel Koch <dkoch@nvidia.com> wrote:
>> I think Chrome either initializes or clears all textures before use.
>> While you can't provide initial data for an ANGLE_depth_texture texture
>> you still should be able to attach it to an FBO and clear it.
>>
>> (Ken: feel free to correct me based on actual implementation details. I'm
>> basing this from memory of some discussions I had with Greg.)
> Correct. Chrome lazily clears all uninitialized textures and
> renderbuffers, including depth_texture textures.
> http://www.khronos.org/registry/webgl/specs/latest/1.0/#4.1 mandates
> that all resources be cleared before they can be used. The
> WEBGL_depth_texture extension does not violate this rule.

Oh, I see. That's the part of the spec that I didn't remember, that
makes this already fully specified. Thanks.

Benoit

>
> -Ken
>
>
>> -Daniel
>>
>>
>>
>> On 2013-09-26 3:05 PM, "Benoit Jacob" <bjacob@mozilla.com> wrote:
>>
>>> Hi,
>>>
>>> WEBGL_depth_texture introduces a basic possibility that does not exist
>>> in the core WebGL spec: the possibility of an uninitialized texture.
>>>
>>> While uninitialized renderbuffers are only an implementation detail that
>>> doesn't have any existence at the level of the WebGL spec, uninitialized
>>> textures are different because they can be sampled from.
>>>
>>> The question is what should the spec mandate implementations to do when
>>> executing code like this:
>>>
>>>   CreateAndTexImage2DSomeUninitializedDepthTexture();
>>>   SetUpRenderingStateSamplingFromThatTexture();
>>>   Draw();
>>>
>>>
>>> It's not technically an INVALID_FRAMEBUFFER_OPERATION since the
>>> uninitialized texture here is one we are sampling from, not one we are
>>> rendering to. So should that be an INVALID_OPERATION?
>>>
>>> Note: I'm running into this while implementing support for
>>> WEBGL_depth_texture on clients supporting only ANGLE_depth_texture. I
>>> understand that Chrome already supports that. I would like to know what
>>> is Chrome's current behavior there.
>>>
>>> Thanks,
>>> Benoit
>>>
>>> -----------------------------------------------------------
>>> 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
>>> -----------------------------------------------------------
>>>


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