Closed Bug 1288598 Opened 8 years ago Closed 8 years ago

[WebGL2] pass gl.getFramebufferAttachmentParameter() call for default framebuffer in gl-object-get-calls.html

Categories

(Core :: Graphics: CanvasWebGL, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla50
Tracking Status
firefox50 --- fixed

People

(Reporter: jerry, Assigned: jerry)

References

Details

Attachments

(1 file, 1 obsolete file)

There are some failed with default framebuffer in gl-object-get-calls.html // test default framebuffer gl.bindFramebuffer(gl.FRAMEBUFFER, null); gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL, gl.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE) gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL, gl.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE) gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL, gl.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING) This bug try to fix some error handling in getFramebufferAttachmentParameter().
Comment on attachment 8773630 [details] [diff] [review] handle gl.getFramebufferAttachmentParameter() call for default framebuffer. v1 Review of attachment 8773630 [details] [diff] [review]: ----------------------------------------------------------------- If these change are matched to the spec, maybe we also need to check the depth/stencil setting for FB attachment case. e.g. https://hg.mozilla.org/mozilla-central/annotate/4c05938a64a7fde3ac2d7f4493aee1c5f2ad8a0a/dom/canvas/WebGLFramebuffer.cpp#l463 https://hg.mozilla.org/mozilla-central/annotate/4c05938a64a7fde3ac2d7f4493aee1c5f2ad8a0a/dom/canvas/WebGLFramebuffer.cpp#l554 ::: dom/canvas/WebGLContextGL.cpp @@ +774,5 @@ > return JS::NullValue(); > } > > switch (pname) { > case LOCAL_GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: This is for the case: //use default framebuffer without stencil. shouldBe('gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)', 'gl.NONE'); ---- Currently, we return LOCAL_GL_FRAMEBUFFER_DEFAULT for all case. I check whether if we have depth or stencil. Return GL_NONE for the mismatch case. gles3 spec: https://www.khronos.org/opengles/sdk/docs/man3/html/glGetFramebufferAttachmentParameteriv.xhtml @@ +808,5 @@ > if (attachment == LOCAL_GL_BACK) > return JS::NumberValue(8); > return JS::NumberValue(0); > > case LOCAL_GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE: These three are for test: wtu.shouldGenerateGLError(gl, gl.INVALID_OPERATION, 'gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL, gl.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE)'); ------ For ATTACHMENT_XXX_SIZE, if the default framebuffer doesn't have the corresponding buffer, return InvalidOperation() for that case. @@ +840,3 @@ > return JS::NumberValue(0); > > case LOCAL_GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE: This is for test: wtu.shouldGenerateGLError(gl, gl.INVALID_OPERATION, 'gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL, gl.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE)'); ----- Return InvalidOperation() if the default framebuffer doesn't have the corresponding buffer. @@ +855,2 @@ > > case LOCAL_GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING: Similar to previous one.
Attachment #8773630 - Flags: review?(jgilbert) → review+
Attachment #8773630 - Attachment is obsolete: true
Pushed by ryanvm@gmail.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/b005858abf58 Handle gl.getFramebufferAttachmentParameter() call for default framebuffer. r=jgilbert
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: