oizma / angleproject

Automatically exported from code.google.com/p/angleproject
Other
0 stars 0 forks source link

The texture-active-bind-2 WebGL conformance tests fails in ANGLE #88

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Run Chromium with ANGLE
2. Go to 
https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conforma
nce/texture-active-bind-2.html

What is the expected output?

The test should pass

What do you see instead?

The test fails

Run chromium with --use-gl=desktop to see it pass using OpenGL

The test says "Tests that binding both TEXTURE_2D and TEXTURE_3D to the same 
active texture unit works as long as they are not used simultaneously in the 
same shader program." 

Original issue reported on code.google.com by g...@chromium.org on 4 Dec 2010 at 2:17

GoogleCodeExporter commented 9 years ago
This appears to be caused by the glClear call. When disabling multi-sampling, 
the image changes. Investigating further...

Original comment by nicolas....@gmail.com on 11 Feb 2011 at 4:05

GoogleCodeExporter commented 9 years ago
BTW the test output message is wrong.  It says TEXTURE_3D and it should say 
TEXTURE_CUBE.

Original comment by dan...@transgaming.com on 11 Feb 2011 at 4:11

GoogleCodeExporter commented 9 years ago
> BTW the test output message is wrong.  It says TEXTURE_3D and it should say 
TEXTURE_CUBE.

Thanks; fixed.

Original comment by kbr@chromium.org on 11 Feb 2011 at 7:24

GoogleCodeExporter commented 9 years ago
By increasing the canvas size from 2x2 to 40x40 and setting the clear color to 
green, I got the attached results for desktop OpenGL versus ANGLE...

It's clearly not a texture binding issue. I verified that with a stand-alone 
test as well. The textures are only 1x1(x1) so something is preventing the 
draws from covering all of the four quadrants completely. I'll check viewport 
and scissor rectangles now.

Original comment by nicolas....@gmail.com on 15 Feb 2011 at 7:53

Attachments:

GoogleCodeExporter commented 9 years ago
I found that the actual issues is that the second program (which uses the cube 
texture) is using the buffer with texture coordinates as position attributes.

This doesn't appear to be an ANGLE issue. The test isn't binding the attribute 
stream index 0 to the "vPosition" shader attribute variable, for the 
programCube program. Note that initWebGL() binds the attributes for the 
program2d program, but the loadProgram() call used for programCube does not. 
It's only a coincidence that this test works with desktop GL; the position 
attributes just so happens to be bound to index 0 at program link.

The test should be calling bindAttribLocation() to explicitly set the attribute 
index, or retrieve the assigned index after linking by using 
getAttribLocation().

Original comment by nicolas....@gmail.com on 15 Feb 2011 at 2:52

GoogleCodeExporter commented 9 years ago
Thanks for finding that. Sorry about that.

Original comment by g...@google.com on 15 Feb 2011 at 9:00