From mboxrd@z Thu Jan 1 00:00:00 1970 From: bugzilla-daemon@freedesktop.org Subject: [Bug 65416] New: r300g does not eliminate unread varyings Date: Wed, 05 Jun 2013 13:26:04 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1338749994==" Return-path: Received: from culpepper.freedesktop.org (unknown [131.252.210.165]) by gabe.freedesktop.org (Postfix) with ESMTP id 2B63EE6490 for ; Wed, 5 Jun 2013 06:26:04 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============1338749994== Content-Type: multipart/alternative; boundary="1370438764.E6f306860.15815"; charset="us-ascii" --1370438764.E6f306860.15815 Date: Wed, 5 Jun 2013 13:26:04 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" https://bugs.freedesktop.org/show_bug.cgi?id=65416 Priority: medium Bug ID: 65416 Assignee: dri-devel@lists.freedesktop.org Summary: r300g does not eliminate unread varyings Severity: normal Classification: Unclassified OS: All Reporter: stefandoesinger@gmx.at Hardware: Other Status: NEW Version: git Component: Drivers/Gallium/r300 Product: Mesa Created attachment 80344 --> https://bugs.freedesktop.org/attachment.cgi?id=80344&action=edit Example shaders r300g tries to interpolate varyings written by the vertex shader even if the fragment shader does not read them. The attached program code illustrates this with two sample shaders. The shaders in question were generated by Wine's fixed function pipeline replacement, generated from a fixed function setup set up by 3DMark 2000. The visible issues caused by this are broken fog because the driver runs out of varyings and reduced performance due to the extra shader instructions. An argument could be made that this is Wine's bug, and it should not generate such inefficient shaders. Doing this would be a major inconvenience though because the vertex and fragment shader are generated independently. As far as I can see the proprietary drivers optimize this inefficiency away. -- You are receiving this mail because: You are the assignee for the bug. --1370438764.E6f306860.15815 Date: Wed, 5 Jun 2013 13:26:04 +0000 MIME-Version: 1.0 Content-Type: text/html; charset="UTF-8"
Priority medium
Bug ID 65416
Assignee dri-devel@lists.freedesktop.org
Summary r300g does not eliminate unread varyings
Severity normal
Classification Unclassified
OS All
Reporter stefandoesinger@gmx.at
Hardware Other
Status NEW
Version git
Component Drivers/Gallium/r300
Product Mesa

Created attachment 80344 [details]
Example shaders

r300g tries to interpolate varyings written by the vertex shader even if the
fragment shader does not read them. The attached program code illustrates this
with two sample shaders.

The shaders in question were generated by Wine's fixed function pipeline
replacement, generated from a fixed function setup set up by 3DMark 2000.

The visible issues caused by this are broken fog because the driver runs out of
varyings and reduced performance due to the extra shader instructions.

An argument could be made that this is Wine's bug, and it should not generate
such inefficient shaders. Doing this would be a major inconvenience though
because the vertex and fragment shader are generated independently. As far as I
can see the proprietary drivers optimize this inefficiency away.


You are receiving this mail because:
  • You are the assignee for the bug.
--1370438764.E6f306860.15815-- --===============1338749994== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel --===============1338749994==--