Closed Bug 849555 Opened 12 years ago Closed 7 years ago

WebGLContext with NON power of two size is crashing some SGX530 drivers

Categories

(Core :: Graphics: CanvasWebGL, defect)

22 Branch
ARM
Maemo
defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: ivo.g.dimitrov.75, Assigned: jgilbert)

Details

(Whiteboard: webgl-driver)

Attachments

(1 file, 1 obsolete file)

Opening http://www.randelshofer.ch/webgl/rubikscube/ results in http://tinypic.com/view.php?pic=smsfn5&s=6 . I played with different WebGL pages, and found that if canvas size of http://learningwebgl.com/lessons/lesson05/index.html is changed(by downloading the page locally) from 500x500 to 512x512, the content plays without problem. The other "good" combinations are 256x256, 256x512, 512x256. In general, if the canvas size is not power of 2, it either results in distorted canvas rendering or device hang.
Could be that non pow2 canvas causing non-pow2 FB/GLStreamingBuffer creation, which is not very friendly to some drivers... IIUC that works fine with Non POW2 GLContext size and SW rendering (no GLStreaming buffer involved)
Yes, with SW rendering(no GLStreaming buffer involved) those pages work with non ^2 canvas size, albeit with much lower fps.
Can we get an about:support for the affected systems?
Application Basics Name Firefox Version 22.0a1 User Agent Mozilla/5.0 (X11; Linux armv7l; rv:22.0) Gecko/20130312 Firefox/22.0 Build Configuration about:buildconfig Extensions Name Version Enabled ID Important Modified Preferences Name Value browser.cache.disk.capacity 2048 browser.cache.disk.smart_size_cached_value 102400 browser.cache.disk.smart_size.first_run false browser.cache.disk.smart_size.use_old_max false browser.places.importBookmarksHTML false browser.places.smartBookmarksVersion 4 browser.startup.homepage_override.buildID 20130312133817 browser.startup.homepage_override.mstone 22.0a1 dom.max_script_run_time 0 extensions.lastAppVersion 22.0a1 javascript.options.ion.content false javascript.options.ion.parallel_compilation false javascript.options.methodjit.chrome false javascript.options.methodjit.content false network.cookie.prefsMigrated true places.history.expiration.transient_current_max_pages 3638 plugin.disable_full_page_plugin_for_types application/pdf privacy.sanitize.migrateFx3Prefs true Graphics GPU Accelerated Windows 0/1 Basic Blocked for your graphics driver version. Try updating your graphics driver to version <Anything with EXT_texture_from_pixmap support> or newer. WebGL Renderer Imagination Technologies -- PowerVR SGX 530 AzureCanvasBackend cairo AzureContentBackend none AzureFallbackCanvasBackend none JavaScript Incremental GC true Accessibility Activated false Prevent Accessibility 0 Library Versions Expected minimum version Version in use NSPR 4.9.6 Beta 4.9.6 Beta NSS 3.14.3.0 Basic ECC Beta 3.14.3.0 Basic ECC Beta NSSSMIME 3.14.3.0 Basic ECC Beta 3.14.3.0 Basic ECC Beta NSSSSL 3.14.3.0 Basic ECC Beta 3.14.3.0 Basic ECC Beta NSSUTIL 3.14.3.0 Beta 3.14.3.0 Beta
Now the bug 843015 is fixed, I am able to pass webgl conformance tests https://www.khronos.org/registry/webgl/conformance-suites/1.0.1/webgl-conformance-tests.html with SW rendering (GLStreamingBuffers disabled) with no(serious) issues. Could I have some support/help on what and where needs to be done, in order to have that bug resolved?
How are you going about disabling streaming buffers? Just flipping the force-readback pref?
I think that is going to be the same as SW mode, but with additional upload of SW buffer into top level GL context, and will be 2x slower... IIUC from last measurement simple GLScene with flipping colors 512x512 has ~15FPS difference SW mode comparing HW mode.
Assignee: nobody → jgilbert
Status: UNCONFIRMED → NEW
Ever confirmed: true
Attachment #748215 - Flags: review?(bjacob)
Attachment #748215 - Flags: review?(bjacob) → review+
Here's an alternative. One option is to fail to give anything NPOT on this hardware, which is spec-conformant. However, the spec guarantees that we fail 'width' and 'height' small, never upscaling them. We can, however, give back a smaller width and height, but boost the drawingBufferWidth/Height a la FSAA. We probably want this patch instead, unless it looks unusably awful.
Attachment #748263 - Flags: review?(bjacob)
Comment on attachment 748263 [details] [diff] [review] Alternative: 'downscale' to nearest POT, but add FSAA Making some more changes.
Attachment #748263 - Attachment is obsolete: true
Attachment #748263 - Flags: review?(bjacob)
Whiteboard: webgl-driver
This hardware is from 2005 and should not be on the internet.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: