Bug 48131

Summary: Very large 2D texture is sometimes corrupted
Product: Mesa Reporter: Benoit Jacob <bjacob>
Component: Drivers/Gallium/r600Assignee: Default DRI bug account <dri-devel>
Status: RESOLVED WORKSFORME QA Contact:
Severity: normal    
Priority: medium CC: sa
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Benoit Jacob 2012-03-31 12:40:04 UTC
This WebGL testcase just creates a huge blank texture and draws a quad with it:

http://people.mozilla.org/~bjacob/webgltexture2D5k.html

You should see only black. But here I occasionally see some corruption with vertical yellow stripes on a rectangular part of the image. Reloading the page a few times makes the problem go away.

The testcase uses webgl.texImage2D with null pixel data, which causes the browser to calloc() a buffer and pass it to glTexImage2D. So it's not just an uninitialized texture. The application is doing what's right to properly initialize the texture with zero'd image data.

If there is any risk that this might be exposing uninitialized texture memory, then please treat this as a high priority, as we'd have to find a work around.

FWIW, on a different proprietary platform, this does expose video memory and forced us to artificially limit the max texture size to 4k.
Comment 1 Benoit Jacob 2012-03-31 12:40:44 UTC
By the way, this is on Ubuntu 11.10, 64 bit,

X.Org -- Gallium 0.4 on AMD RV710 -- 2.1 Mesa 7.11
Comment 2 Alex Deucher 2012-04-01 06:00:32 UTC
Can you try with a newer version of mesa?
Comment 3 Benoit Jacob 2012-04-02 13:40:51 UTC
Maybe, if there is a package for Ubuntu 11.10 that is safe and easy to install?
Comment 4 roberth 2012-04-02 14:35:38 UTC
The safest way would be to just try a 12.04 beta 2 or newer livecd out, it has 8.0.2
Comment 5 Sven Arvidsson 2012-04-02 15:32:53 UTC
FWIW, for me the test segfaults with 8.0 but works (without artefacts AFAICT) with 8.0.2. This is on a HD 5670.

(I suppose the component of the bug should be moved to Drivers/Gallium/r600 ?)
Comment 6 Andreas Boll 2012-08-08 18:03:21 UTC
(In reply to comment #0)
> This WebGL testcase just creates a huge blank texture and draws a quad with it:
> 
> http://people.mozilla.org/~bjacob/webgltexture2D5k.html
> 
> You should see only black. But here I occasionally see some corruption with
> vertical yellow stripes on a rectangular part of the image. Reloading the page
> a few times makes the problem go away.
> 
> The testcase uses webgl.texImage2D with null pixel data, which causes the
> browser to calloc() a buffer and pass it to glTexImage2D. So it's not just an
> uninitialized texture. The application is doing what's right to properly
> initialize the texture with zero'd image data.
> 
> If there is any risk that this might be exposing uninitialized texture memory,
> then please treat this as a high priority, as we'd have to find a work around.
> 
> FWIW, on a different proprietary platform, this does expose video memory and
> forced us to artificially limit the max texture size to 4k.

With current firefox nightly 20120808
and current mesa 8.1-devel (git-be42a45) this site works for me.
I see only black.

WebGL Renderer: X.Org -- Gallium 0.4 on AMD RV770 -- 2.1 Mesa 8.1-devel (git-be42a45)

Feel free to reopen this report if the issue persists.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.