BBBsmoke / angleproject

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

WebGL conformance_extensions_oes_texture{_half}_float_with_canvas failing in D3D9 #896

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
After the WebGL conformance test roll 
https://chromium.googlesource.com/chromium/src/+/d078856c1dab3d76f81bf84c39d994f
6e024071e , conformance_extensions_oes_texture_float_with_canvas and 
conformance_extensions_oes_texture_half_float_with_canvas started failing with 
ANGLE's D3D9 backend.

Geoff investigated this and reported:

"""This looks like a failure in our code that keeps the TextureStorage in sync 
with the images for cubemaps.

In this case the cube map has all 2x2 faces and it tries to CopyTexImage into 
the first face and set the size to 257x257.  This resizes the image mip chain 
for the first face and then it (probably mistakenly) decides that it can create 
a TextureStorage despite the miss-matched face sizes and the call to 
IDirect3DDevice9::UpdateSurface in Image9::copyToSurface fails when updating 
the new TextureStorage to the image contents.  This only fails in D3D9, it 
probably only succeeds in D3D11 because our texture copy methods are more 
robust.

The easiest fix I can think of is not creating the TextureStorage in this case 
unless the texture is cube and mip complete, will discuss with Jamie when he's 
around.  The TextureStorage/Image syncing has been a source of many bugs, maybe 
we need to rethink it a bit so that there are not as many edge cases."""

Filing this bug to track the issue. Will suppress the failures under this bug 
ID for the moment.

Original issue reported on code.google.com by kbr@chromium.org on 26 Jan 2015 at 6:32

GoogleCodeExporter commented 9 years ago

Original comment by shannonw...@chromium.org on 27 Feb 2015 at 7:48

GoogleCodeExporter commented 9 years ago
The bots are failing this test again today, because of problems with 
CopyTexImage and changing formats of cube map textures from float to ARGB. Are 
these tests supposed to be disabled?

Original comment by jmad...@chromium.org on 5 Mar 2015 at 10:30