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)
Core
Graphics: CanvasWebGL
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().
Assignee | ||
Comment 1•8 years ago
|
||
Attachment #8773630 -
Flags: review?(jgilbert)
Assignee | ||
Comment 2•8 years ago
|
||
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.
Updated•8 years ago
|
Attachment #8773630 -
Flags: review?(jgilbert) → review+
Assignee | ||
Updated•8 years ago
|
Attachment #8773630 -
Attachment is obsolete: true
Assignee | ||
Comment 4•8 years ago
|
||
Assignee | ||
Comment 5•8 years ago
|
||
please land the attachment 8773777 [details] [diff] [review] to m-c
Keywords: checkin-needed
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
Comment 7•8 years ago
|
||
bugherder |
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
status-firefox50:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
You need to log in
before you can comment on or make changes to this bug.
Description
•