Closed
Bug 1316546
Opened 8 years ago
Closed 6 years ago
Failure on 2/conformance2/textures/misc/copy-texture-image.html
Categories
(Core :: Graphics: CanvasWebGL, defect)
Core
Graphics: CanvasWebGL
Tracking
()
RESOLVED
FIXED
mozilla53
Tracking | Status | |
---|---|---|
firefox53 | --- | fixed |
People
(Reporter: cleu, Assigned: jgilbert)
References
Details
Attachments
(1 file, 6 obsolete files)
We have some exceptions caused by bad arguments not following the spec, we need to adjust out current checking mechanism in CopyTexImage2D
https://www.khronos.org/registry/webgl/sdk/tests/conformance2/textures/misc/copy-texture-image.html?webglVersion=2&quiet=0
Reporter | ||
Updated•8 years ago
|
Assignee: nobody → cleu
Reporter | ||
Updated•8 years ago
|
Attachment #8809319 -
Attachment description: WIP - fix conformance failure texture-image → Part1 - fix conformance failure texture-image about incorrect internal format checking order.
Reporter | ||
Comment 1•8 years ago
|
||
Fix indentation inconsistency.
Attachment #8809319 -
Attachment is obsolete: true
Reporter | ||
Comment 2•8 years ago
|
||
Reporter | ||
Updated•8 years ago
|
Attachment #8810299 -
Flags: review?(ethlin)
Reporter | ||
Comment 3•8 years ago
|
||
Comment on attachment 8810300 [details] [diff] [review]
Part2 - Add DEPTH_STENCIL_ATTACHMENT support for WebGLFramebuffer::ValidForRead
Review of attachment 8810300 [details] [diff] [review]:
-----------------------------------------------------------------
We still have to add a record inside WebGLFramebuffer because CopyTexImage2D doesn't pass buffer target enum.
We should record it when we call FramebufferTexture2D.
Attachment #8810300 -
Flags: review?(ethlin)
Comment 4•8 years ago
|
||
Comment on attachment 8810299 [details] [diff] [review]
Part1 - Fix conformance failure texture-image caused by incorrect internal format checking order.
Review of attachment 8810299 [details] [diff] [review]:
-----------------------------------------------------------------
Please fix the indent.
Attachment #8810299 -
Flags: review?(ethlin) → review+
Updated•8 years ago
|
Attachment #8810300 -
Flags: review?(ethlin) → review?(jgilbert)
Updated•8 years ago
|
Attachment #8810299 -
Flags: review?(jgilbert)
Reporter | ||
Comment 5•8 years ago
|
||
Attachment #8810299 -
Attachment is obsolete: true
Attachment #8810299 -
Flags: review?(jgilbert)
Attachment #8813984 -
Flags: review?(jgilbert)
Assignee | ||
Comment 6•8 years ago
|
||
Comment on attachment 8810300 [details] [diff] [review]
Part2 - Add DEPTH_STENCIL_ATTACHMENT support for WebGLFramebuffer::ValidForRead
Review of attachment 8810300 [details] [diff] [review]:
-----------------------------------------------------------------
I'm not sure what you're trying to record here.
::: dom/canvas/WebGLFramebuffer.h
@@ +154,4 @@
>
> ////
>
> + GLenum mCurrentAttachEnum;
Framebuffers have no concept like this that I'm aware of.
Attachment #8810300 -
Flags: review?(jgilbert) → review-
Assignee | ||
Comment 7•8 years ago
|
||
Comment on attachment 8813984 [details] [diff] [review]
Part1 - Fix conformance failure texture-image caused by incorrect internal format checking order.
Review of attachment 8813984 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/canvas/WebGLTextureUpload.cpp
@@ +1925,5 @@
>
> + if (!ValidateSizedInternalFormat(dstFormat->sizedFormat)) {
> + webgl->ErrorInvalidEnum("%s: Invalid Sized internalFormat.", funcName);
> + return nullptr;
> + }
Why is this needed?
Reporter | ||
Comment 8•8 years ago
|
||
(In reply to Jeff Gilbert [:jgilbert] from comment #7)
> Comment on attachment 8813984 [details] [diff] [review]
> Part1 - Fix conformance failure texture-image caused by incorrect internal
> format checking order.
>
> Review of attachment 8813984 [details] [diff] [review]:
> -----------------------------------------------------------------
>
> ::: dom/canvas/WebGLTextureUpload.cpp
> @@ +1925,5 @@
> >
> > + if (!ValidateSizedInternalFormat(dstFormat->sizedFormat)) {
> > + webgl->ErrorInvalidEnum("%s: Invalid Sized internalFormat.", funcName);
> > + return nullptr;
> > + }
>
> Why is this needed?
The conformance test has several subtests with invalid internal format enum which should return ERROR_INVALID_ENUM, but we didn't check it, so it will continue executing until it fails checks about format consistency which returns ERROR_INVALID_OPERATION and it is not correct for the test.
https://dxr.mozilla.org/mozilla-central/source/dom/canvas/WebGLTextureUpload.cpp?q=%2Bfunction%3A%22mozilla%3A%3AValidateCopyDestUsage%28const+char+%2A%2C+mozilla%3A%3AWebGLContext+%2A%2C+const+webgl%3A%3AFormatInfo+%2A%2C+GLenum%29%22&redirect_type=single#1877
Reporter | ||
Comment 9•8 years ago
|
||
Attachment #8810300 -
Attachment is obsolete: true
Reporter | ||
Comment 10•8 years ago
|
||
Attachment #8816016 -
Attachment is obsolete: true
Reporter | ||
Comment 11•8 years ago
|
||
After discussing with Ethan, we think this test issue is a matter of internal format checking order.
So both INVALID_ENUM and INVALID_OPERATION should be correct in this case.
Maybe we should change the test instead of Gecko part.
Assignee | ||
Comment 12•8 years ago
|
||
Comment on attachment 8816018 [details] [diff] [review]
Part2 - Add Support for non-color buffer in WebGLFramebuffer::ValidateForRead
Review of attachment 8816018 [details] [diff] [review]:
-----------------------------------------------------------------
This function is only for color buffers.
Attachment #8816018 -
Flags: review-
Assignee | ||
Comment 13•8 years ago
|
||
(In reply to Michael Leu[:lenzak800](UTC+8) from comment #11)
> After discussing with Ethan, we think this test issue is a matter of
> internal format checking order.
>
> So both INVALID_ENUM and INVALID_OPERATION should be correct in this case.
>
> Maybe we should change the test instead of Gecko part.
This happens a lot, so this is fairly likely.
Assignee | ||
Updated•8 years ago
|
Summary: [WebGL2 confomance test] Pass 2/conformance2/textures/misc/copy-texture-image.html → Failure on 2/conformance2/textures/misc/copy-texture-image.html
Assignee | ||
Comment 14•8 years ago
|
||
Here's the PR for the test:
https://github.com/KhronosGroup/WebGL/pull/2226
Assignee: cleu → jgilbert
Comment hidden (mozreview-request) |
Reporter | ||
Comment 16•8 years ago
|
||
mozreview-review |
Comment on attachment 8822810 [details]
Bug 1316546 - CopyTexImage can convert unsigned fixed-point to signed fixed-point. -
https://reviewboard.mozilla.org/r/101598/#review102108
Attachment #8822810 -
Flags: review?(cleu) → review+
Assignee | ||
Updated•8 years ago
|
Attachment #8813984 -
Attachment is obsolete: true
Attachment #8813984 -
Flags: review?(jgilbert)
Assignee | ||
Updated•8 years ago
|
Attachment #8816018 -
Attachment is obsolete: true
Comment 17•8 years ago
|
||
Pushed by jgilbert@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5345e4d62611
CopyTexImage can convert unsigned fixed-point to signed fixed-point. - r=lenzak800
Comment 18•8 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox53:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Assignee | ||
Comment 19•8 years ago
|
||
Based on discussion with the WG, it sounds like this is an inaccuracy in the GLES3 spec:
https://github.com/KhronosGroup/WebGL/pull/2226
Word is that CopyTexImage should not accept unorm->snorm conversions.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 20•6 years ago
|
||
We're gonna handle that change in bug 1524748.
Status: REOPENED → RESOLVED
Closed: 8 years ago → 6 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•