Patch to correct slow WebGL in Firefox (Needs 8.0.3)

Bug #988343 reported by madbiologist
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
mesa (Ubuntu)
Fix Released
High
Unassigned
Precise
Fix Released
Medium
Unassigned
Quantal
Fix Released
High
Unassigned

Bug Description

The Mesa 8.0 branch contains the following patch which avoids Firefox falling back to the slow path during WebGL rendering. Could it please be added to Precise as an SRU?

author Brian Paul <email address hidden> 2012-04-17 23:41:09 (GMT)
committer Brian Paul <email address hidden> 2012-04-17 23:41:09 (GMT)
commit 49ed43b6de98482c898334a9abfc574720391c9f
tree b9fab1a668caff3f81a75f1bbcf04d543371ca9b
parent 9f150ffe8ee5f184861a377637091e4f06210927

mesa: add a couple fast-paths to fast_read_rgba_pixels_memcpy()

Accelerates a few glReadPixels cases for WebGL.
See https://bugs.freedesktop.org/show_bug.cgi?id=48545

 v2: Per Jose, use bit twiddling for the swizzle case instead of ubyte arrays (it's about 44% faster).

Note: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <email address hidden>

(cherry picked from commit a5e95a419e4f6ad93e35a960113d97ae2de27476)

TESTCASE:
  Open following website and compare performance:
  http://swiss3d.openwebglobe.org/

madbiologist (me-again)
description: updated
Bryce Harrington (bryce)
summary: - Patch to correct slow WebGL in Firefox
+ Patch to correct slow WebGL in Firefox (Needs 8.0.3)
Revision history for this message
Bryce Harrington (bryce) wrote :

Hi s-j-turner, we certainly can consider this for a Precise SRU, thank you for proposing it.

What we need though is a test case to reproduce the problem that this patch fixes. Are you able to reproduce the rendering problem? If so can you write a procedure for testers to follow to recreate the bug?

Changed in mesa (Ubuntu):
status: New → Incomplete
Bryce Harrington (bryce)
Changed in mesa (Ubuntu Quantal):
status: Incomplete → Fix Committed
Changed in mesa (Ubuntu Precise):
status: New → Incomplete
importance: Undecided → Medium
Changed in mesa (Ubuntu Quantal):
importance: Undecided → High
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mesa - 8.0.3-0ubuntu1

---------------
mesa (8.0.3-0ubuntu1) quantal; urgency=low

  * New upstream stable release.
    + Fixes crash in intel_miptree_release()
      (LP: #952896)
    + Fixes slow WebGL in firefox
      (LP: #988343)

  [ Robert Hooker ]
  * Drop 118_fix_rendering_from_textures.patch and
    117_intel_fix_hiz_null_dereference.patch, both included upstream.
  * Refresh patches.

  [ Bryce Harrington ]
  * Add 117_nullptr_check_in_query_version.patch: Fix null pointer
    deref in QueryVersion() during login.
    (LP: #968284)
  * Add 118_glsl_initialize_samplers.patch: Initialize samplers to 0, as
    required by the spec. Fixes rendering corruption in MapsGL labels.
    Cherrypick from mesa master.
    (LP: #981883)
 -- Bryce Harrington <email address hidden> Mon, 18 Jun 2012 19:02:09 -0700

Changed in mesa (Ubuntu Quantal):
status: Fix Committed → Fix Released
Revision history for this message
madbiologist (me-again) wrote :

Sorry for the delay.

To recreate this bug, first boot into an environment where LLVMpipe software 3D rendering is being used instead of hardware accelerated rendering (eg. in Virtualbox or by blacklisting your video driver, or using a Radeon HD4770 without the fix from the upstream 3.2.20 kernel). Then use Firefox to load the web page in the attachment. Adding the patch almost doubles the frame-rate.

Although if you bring mesa 8.0.3 to Precise as you are considering doing, that will take care of this.

madbiologist (me-again)
Changed in mesa (Ubuntu Precise):
status: Incomplete → New
Revision history for this message
Chris Halse Rogers (raof) wrote : Please test proposed package

Hello madbiologist, or anyone else affected,

Accepted mesa into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/mesa/8.0.3-0ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in mesa (Ubuntu Precise):
status: New → Fix Committed
tags: added: verification-needed
description: updated
Revision history for this message
Chris Halse Rogers (raof) wrote :

Hello madbiologist, or anyone else affected,

Accepted mesa into precise-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/mesa/8.0.4-0ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from verification-needed to verification-done. If it does not, change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Updating to 8.0.4 brought ca. 50% performance increase on my Radeon HD 4670, running the WebGL_benchmark.html. Visible improvement at eg. http://maps3d.svc.nokia.com/webgl/index.html

tags: added: verification-done
removed: verification-needed
Revision history for this message
Scott Kitterman (kitterman) wrote : Update Released

The verification of this Stable Release Update has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mesa - 8.0.4-0ubuntu0.1

---------------
mesa (8.0.4-0ubuntu0.1) precise-proposed; urgency=low

  * New upstream stable release. (LP: #1019444)
    + Fixes crash in intel_miptree_release()
      (LP: #952896)
    + Fixes slow WebGL in firefox
      (LP: #988343)

  [ Robert Hooker ]
  * Drop 118_fix_rendering_from_textures.patch and
    117_intel_fix_hiz_null_dereference.patch, both included upstream.
  * Refresh patches.

  [ Bryce Harrington ]
  * Add 117_nullptr_check_in_query_version.patch: Fix null pointer
    deref in QueryVersion() during login.
    (LP: #968284)
  * Add 118_glsl_initialize_samplers.patch: Initialize samplers to 0, as
    required by the spec. Fixes rendering corruption in MapsGL labels.
    Cherrypick from mesa master.
    (LP: #981883)
 -- Bryce Harrington <email address hidden> Fri, 07 Sep 2012 13:59:12 -0700

Changed in mesa (Ubuntu Precise):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.