[Bug 62510] [i965 1.0.2]Webgl conformance/uniforms/gl-uniform-arrays.html fail

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Feb 18 11:01:44 UTC 2016


https://bugs.freedesktop.org/show_bug.cgi?id=62510

Alejandro Piñeiro (freenode IRC: apinheiro) <apinheiro at igalia.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |apinheiro at igalia.com

--- Comment #8 from Alejandro Piñeiro (freenode IRC: apinheiro) <apinheiro at igalia.com> ---
(In reply to lu hua from comment #7)
> Test on HSW with the latest Mesa master branch and 10.4(5fe79b0b127). Chrome
> version is 39.

I tested it with ubuntu 15.10 mesa (11.0.2) and current master (git-edf774b) on
both Chromium (Chromium 48.0.2564.82 Ubuntu 15.10) and Chrome (Google Chrome
48.0.2564.109). Didn't try with Firefox, as comment #5 mentions that was
working properly.

> Following cases fail on both master and 10.4 branch:
> conformance/extensions/webgl-debug-shaders.html
> conformance/glsl/misc/shader-varying-packing-restrictions.html
> conformance/glsl/literals/float_literal.vert.html
> conformance/glsl/misc/shaders-with-varyings.html
> conformance/misc/webgl-specific.html
> conformance/ogles/mustpass.run.txt
> conformance/typedarrays/array-unit-tests.html

Now the tests failing are:
conformance/glsl/literals/float_literal.vert.html: 1 tests failed
conformance/limits/gl-min-textures.html: 2 tests failed

float-literal was present on comment #7 list, gl-min-textures not.

In both cases, they are failing because the shaders are wrong on version #130,
as google-chrome expose the webgl shaders with that version. But WebGL 1.0
specifies OpenGL ES 1.0 [1], and those shaders are correct with #version 100. 

Going to the details:

* float-literal is failing because the vertex shader doesn't write on
gl_Position. This is allowed on OpenGL ES 1.0. See the spec, section 10.13 [2]

There is a piglit test handling this scenario, that properly passes:
./bin/shader_runner_gles2
./tests/spec/glsl-es-1.00/linker/glsl-no-glposition.shader_test -auto

* gl-min-textures is failing because it is accessing a sampler array with a
constant-index-expression. This is allowed on OpengGL ES 1.0. See the spec,
Appendix A [2]

There is a piglit test handling this scenario, that properly passes:
./bin/glslparsertest_gles2
tests/spec/glsl-es-1.00/compiler/structure-and-array-operations/sampler-array-index.frag
pass 1.00

FWIW, gl-min-textures passes properly using epiphany browser.

With all this in mind, I think that it would be safe to close the bug as
NOTOURBUG, as the problem is caused by the glsl version specified by chrome
when exporting the shaders. But I would let people give his opinion, just in
case.

[1] https://www.khronos.org/registry/webgl/specs/1.0/#4.3
[2]
https://www.khronos.org/registry/gles/specs/2.0/GLSL_ES_Specification_1.0.17.pdf

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/intel-3d-bugs/attachments/20160218/7964a12c/attachment.html>


More information about the intel-3d-bugs mailing list