Closed Bug 1376039 Opened 7 years ago Closed 7 years ago

WebGL Conformance Failure: deqp/functional/gles3/integerstatequery.html

Categories

(Core :: Graphics: CanvasWebGL, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: svargas, Assigned: svargas)

Details

Attachments

(2 files, 8 obsolete files)

4.23 KB, patch
jgilbert
: review+
Details | Diff | Splinter Review
5.41 KB, patch
svargas
: review+
Details | Diff | Splinter Review
https://www.khronos.org/registry/webgl/sdk/tests/deqp/functional/gles3/integerstatequery.html

Currently fails on:

Start testcase: integers.blend_dst_rgb
FAIL integers.blend_dst_rgb: 

Start testcase: integers.blend_dst_rgb_separate
FAIL integers.blend_dst_rgb_separate: 

Start testcase: integers.blend_dst_alpha
FAIL integers.blend_dst_alpha: 

Start testcase: integers.blend_dst_alpha_separate
FAIL integers.blend_dst_alpha_separate: 

Because 'LOCAL_GL_SRC_ALPHA_SATURATE' isn't recognized as a valid destination format when it should be on WebGL2.
Assignee: nobody → svargas
Attachment #8880976 - Flags: review?(jgilbert)
Remove extraneous 'public:'
Attachment #8880976 - Attachment is obsolete: true
Attachment #8880976 - Flags: review?(jgilbert)
Attachment #8880978 - Flags: review?(jgilbert)
Fixed misaligned braces in ValidateFuncBlendEnums
Attachment #8880978 - Attachment is obsolete: true
Attachment #8880978 - Flags: review?(jgilbert)
Attachment #8880982 - Flags: review?(jgilbert)
Move ValidateBlendFuncEnum from WebGLContextValidate.cpp to WebGLContextGL.cpp where the only invocation of the function is made.
Attachment #8880985 - Flags: review?(jgilbert)
https://treeherder.mozilla.org/#/jobs?repo=try&revision=ad56d6681230a47a2ffe72620f3c30e3b3394afa

Push to try again, forgot to remove unrelated changeset from log.
Forgot to include a logical negation causing sporadic failures on try, fix and reuploaded:

https://treeherder.mozilla.org/#/jobs?repo=try&revision=798df23dd32ae6b8664bc2504e1fd877acb6c3c7
Attachment #8881448 - Flags: review?(jgilbert)
Attachment #8880985 - Attachment is obsolete: true
Attachment #8881448 - Attachment is obsolete: true
Attachment #8880985 - Flags: review?(jgilbert)
Attachment #8881448 - Flags: review?(jgilbert)
Comment on attachment 8880982 [details] [diff] [review]
0001-Bug-1376039-WebGL-Conformance-Failure-deqp-functiona.patch

Review of attachment 8880982 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/canvas/WebGLContextGL.cpp
@@ +215,5 @@
>      gl->fBlendEquationSeparate(modeRGB, modeAlpha);
>  }
>  
> +static bool
> +ValidateBlendFuncEnums(WebGLContext* context, GLenum srcRGB, GLenum srcAlpha,

Generally name it `WebGLContext* webgl`.

@@ +220,5 @@
> +                       GLenum dstRGB, GLenum dstAlpha, const char* funcName)
> +{
> +    if (!context->IsWebGL2()) {
> +       if (dstRGB == LOCAL_GL_SRC_ALPHA_SATURATE || dstAlpha == LOCAL_GL_SRC_ALPHA_SATURATE)
> +          return false;

Add a ErrorInvalidEnum* here

@@ +241,5 @@
>          return;
>  
> +    if (!ValidateBlendFuncEnums(this, sfactor, sfactor, dfactor, dfactor, "blendFunc")) {
> +       return;
> +    }

No {} around this return.
Attachment #8880982 - Flags: review?(jgilbert) → review-
Comment on attachment 8881454 [details] [diff] [review]
0002-Bug-1376039-Convert-ValidateBlendFuncEnum-to-static-.patch

Review of attachment 8881454 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/canvas/WebGLContextGL.cpp
@@ +216,4 @@
>  }
>  
>  static bool
> +ValidateBlendFuncEnum(WebGLContext* context, GLenum factor, const char* funcName, const char* varName)

WebGLContext* webgl
Attachment #8881454 - Flags: review+
Attachment #8880982 - Attachment is obsolete: true
Attachment #8881565 - Flags: review?(jgilbert)
Attachment #8881454 - Attachment is obsolete: true
Attachment #8881566 - Flags: review?(jgilbert)
Comment on attachment 8881565 [details] [diff] [review]
0001-Bug-1376039-WebGL-Conformance-Failure-deqp-functiona.patch

Review of attachment 8881565 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/canvas/WebGLContextGL.cpp
@@ +222,5 @@
> +    if (!webgl->IsWebGL2()) {
> +       if (dstRGB == LOCAL_GL_SRC_ALPHA_SATURATE || dstAlpha == LOCAL_GL_SRC_ALPHA_SATURATE) {
> +          const char* prompt = "%s: LOCAL_GL_SRC_ALPHA_SATURATE as a destination format is disallowed on < WebGL2" \
> +                               " (dstRGB = 0x%04x, dstAlpha = 0x%04x).";
> +          const nsPrintfCString err(prompt, funcName, dstRGB, dstAlpha);

Inline `prompt`, splitting across lines like:

            const nsPrintfCString err("%s: LOCAL_GL_SRC_ALPHA_SATURATE as a destination"
                                      " format is disallowed on < WebGL2 (dstRGB ="
                                      " 0x%04x, dstAlpha = 0x%04x).",
                                      funcName, dstRGB, dstAlpha);
Attachment #8881565 - Flags: review?(jgilbert) → review+
Comment on attachment 8881565 [details] [diff] [review]
0001-Bug-1376039-WebGL-Conformance-Failure-deqp-functiona.patch

Review of attachment 8881565 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/canvas/WebGLContextGL.cpp
@@ +222,5 @@
> +    if (!webgl->IsWebGL2()) {
> +       if (dstRGB == LOCAL_GL_SRC_ALPHA_SATURATE || dstAlpha == LOCAL_GL_SRC_ALPHA_SATURATE) {
> +          const char* prompt = "%s: LOCAL_GL_SRC_ALPHA_SATURATE as a destination format is disallowed on < WebGL2" \
> +                               " (dstRGB = 0x%04x, dstAlpha = 0x%04x).";
> +          const nsPrintfCString err(prompt, funcName, dstRGB, dstAlpha);

s/format/blend function/
s/on < WebGL2/in WebGL 1/
Attachment #8881566 - Flags: review?(jgilbert) → review+
Attachment #8881565 - Attachment is obsolete: true
Comment on attachment 8882421 [details] [diff] [review]
0001-Bug-1376039-WebGL-Conformance-Failure-deqp-functiona.patch

r=jgilbert
Attachment #8882421 - Flags: review+
Attachment #8881566 - Attachment is obsolete: true
Attachment #8881566 - Attachment is obsolete: false
https://treeherder.mozilla.org/#/jobs?repo=try&revision=25a273ef8fd7e07ae5a13f192b3cb8fde9dae040


Replaced webgl->ErrorInvalidEnum(err.get()); with webgl->ErrorInvalidEnum("%s", err.get()); (It was causing build errors on Try)
Attachment #8882421 - Attachment is obsolete: true
Attachment #8883134 - Flags: review+
Keywords: checkin-needed
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a5cf326ec71f
WebGL Conformance Failure: deqp/functional/gles3/integerstatequery.html. r=jgilbert
https://hg.mozilla.org/integration/mozilla-inbound/rev/91ad989f575a
Convert ValidateBlendFuncEnum to static func. r=jgilbert
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/a5cf326ec71f
https://hg.mozilla.org/mozilla-central/rev/91ad989f575a
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: