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

Re: [Public WebGL] Depth+stencil extension

On 03/04/2010 04:01, Kenneth Russell wrote:
> ...
> After rereading the section in the OpenGL ES 2.0 spec on framebuffer
> objects and completeness, it sounds like from a strict standpoint, if
> an OpenGL ES 2.0 implementation supports just a color renderbuffer or
> texture FBO attachment (and no other attachments, for example depth or
> stencil), then it is allowed to return FRAMEBUFFER_UNSUPPORTED from
> CheckFramebufferStatus() for any other configurations.
> Is that correct? Mark Callow or others from the ES working group, is
> this legal (if poor) behavior?
That is my understanding as well. FRAMEBUFFER_UNSUPPORTED is described
in terms of "combinations" of formats. Some people interpret that to
mean that each individual format must be supported in some way and only
combinations like depth+stencil can lead to failure. Others would argue
that, e.g., stencil with nothing is a combination and can fail.

The ES2 conformance test tries a number of different texture and
renderbuffer formats for the color0 attachment,  alone and together with
a DEPTH_COMPONENT16 depth attachment. Unfortunately it allows the
implementation to return FRAMEBUFFER_UNSUPPORTED for any of them. It
separately tests, an RGB format texture as the color0 attachment + a
DEPTH_COMPONENT16 depth attachment and requires the implementation to
return FRAMEBUFFER_COMPLETE, Lastly, it tests an RGB format texture as
the color0 attachment + DEPTH_COMPONENT16 + STENCIL_INDEX8 but allows
the implementation to return FRAMEBUFFER_UNSUPPORTED. It does not test a
color0 attachment + STENCIL_INDEX8 nor STENCIL_INDEX8 alone.

Unlike desktop, the ES spec. does not have a "Required framebuffer
formats" section.

I have submitted an enhancement request to the OpenGL ES WG to
strengthen the language. It won't help now but hopefully can improve
things in the future.

> Basically, the question is whether the majority of ES 2.0
> implementations today support all of the FBO attachment combinations
> color, color+depth, color+stencil, and color+depth+stencil. If they
> don't, then there is basically no issue. If they do, then we should
> specifically mention in the Differences section of the WebGL spec that
> WebGL implementations may have less support of certain framebuffer
> attachment combinations than is implied by the OpenGL ES 2.0
> specification.
Hardware makers will have to speak up. Of the 2 who responded to a
previous query I made, 1 supports OES_packed_depth_stencil, the other
does not, but "in theory" supports simultaneous depth + stencil. My
respondent was not sure if their internal tests covered this case.


fn:Mark Callow
org:HI Corporation;Graphics Lab, Research & Development
adr:Higashiyama 1-4-4, Meguro-ku;;Meguro Higashiyama Bldg 5F;Tokyo;;153-0043;Japan
title:Chief Architect
tel;work:+81 3 3710 9367 x228
tel;fax:+81 3 5773 8660
url:http://www.hicorp.co.jp,  http://www.mascotcapsule.com