* [Bug 65416] New: r300g does not eliminate unread varyings
@ 2013-06-05 13:26 bugzilla-daemon
2013-06-05 13:30 ` [Bug 65416] " bugzilla-daemon
` (6 more replies)
0 siblings, 7 replies; 8+ messages in thread
From: bugzilla-daemon @ 2013-06-05 13:26 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 1455 bytes --]
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.
[-- Attachment #1.2: Type: text/html, Size: 2872 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug 65416] r300g does not eliminate unread varyings
2013-06-05 13:26 [Bug 65416] New: r300g does not eliminate unread varyings bugzilla-daemon
@ 2013-06-05 13:30 ` bugzilla-daemon
2013-06-05 13:43 ` bugzilla-daemon
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: bugzilla-daemon @ 2013-06-05 13:30 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 765 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=65416
--- Comment #1 from Stefan Dösinger <stefandoesinger@gmx.at> ---
Fwiw, I don't know if r600g is affected. The HW has enough varyings to run the
unoptimized shaders, and the applications affected by this performance wise are
CPU limited on my r600g system.
Wine has some checks to prevent writing texture coordinates in the vertex
shader when there is no input to generate them. Unfortunately 3DMark 2000 and
Unreal Tournament 2004 use a strange vertex processing setup that breaks those
checks(D3DTSS_TEXCOORDINDEX of all texture stages is 0, thus they're reading
the first texture coordinate input, which does exist).
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1547 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug 65416] r300g does not eliminate unread varyings
2013-06-05 13:26 [Bug 65416] New: r300g does not eliminate unread varyings bugzilla-daemon
2013-06-05 13:30 ` [Bug 65416] " bugzilla-daemon
@ 2013-06-05 13:43 ` bugzilla-daemon
2013-06-06 1:17 ` bugzilla-daemon
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: bugzilla-daemon @ 2013-06-05 13:43 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 342 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=65416
--- Comment #2 from Alex Deucher <agd5f@yahoo.com> ---
Couldn't this be done in a device independent manner in mesa when linking
shaders? Drop outputs if there is no matching input in the subsequent shader
stage?
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1093 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug 65416] r300g does not eliminate unread varyings
2013-06-05 13:26 [Bug 65416] New: r300g does not eliminate unread varyings bugzilla-daemon
2013-06-05 13:30 ` [Bug 65416] " bugzilla-daemon
2013-06-05 13:43 ` bugzilla-daemon
@ 2013-06-06 1:17 ` bugzilla-daemon
2013-06-06 13:29 ` bugzilla-daemon
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: bugzilla-daemon @ 2013-06-06 1:17 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 331 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=65416
--- Comment #3 from Marek Olšák <maraeo@gmail.com> ---
I think the GLSL compiler only eliminates unused user-defined varyings, unused
legacy varyings are not eliminated. I'm taking this task.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1104 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug 65416] r300g does not eliminate unread varyings
2013-06-05 13:26 [Bug 65416] New: r300g does not eliminate unread varyings bugzilla-daemon
` (2 preceding siblings ...)
2013-06-06 1:17 ` bugzilla-daemon
@ 2013-06-06 13:29 ` bugzilla-daemon
2013-06-12 19:05 ` bugzilla-daemon
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: bugzilla-daemon @ 2013-06-06 13:29 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 216 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=65416
--- Comment #4 from Stefan Dösinger <stefandoesinger@gmx.at> ---
Cool, thanks!
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 998 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug 65416] r300g does not eliminate unread varyings
2013-06-05 13:26 [Bug 65416] New: r300g does not eliminate unread varyings bugzilla-daemon
` (3 preceding siblings ...)
2013-06-06 13:29 ` bugzilla-daemon
@ 2013-06-12 19:05 ` bugzilla-daemon
2013-06-13 8:31 ` bugzilla-daemon
2013-07-13 15:34 ` bugzilla-daemon
6 siblings, 0 replies; 8+ messages in thread
From: bugzilla-daemon @ 2013-06-12 19:05 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 678 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=65416
--- Comment #5 from Marek Olšák <maraeo@gmail.com> ---
I have implemented it, but there is a problem. If I enable the optimization,
EXT_separate_shader_objects must be disabled. Is it okay with you?
This is a valid sequence with EXT_sso:
glUseProgram(prog_with_vs_and_fs);
glUseShaderProgramEXT(prog_with_fs);
prog_with_vs_and_fs cannot be optimized, because the program object can be
bound partially (in this case only the vertex shader from the program object is
bound).
ARB_separate_shader_objects doesn't have this issue.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1451 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug 65416] r300g does not eliminate unread varyings
2013-06-05 13:26 [Bug 65416] New: r300g does not eliminate unread varyings bugzilla-daemon
` (4 preceding siblings ...)
2013-06-12 19:05 ` bugzilla-daemon
@ 2013-06-13 8:31 ` bugzilla-daemon
2013-07-13 15:34 ` bugzilla-daemon
6 siblings, 0 replies; 8+ messages in thread
From: bugzilla-daemon @ 2013-06-13 8:31 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 360 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=65416
--- Comment #6 from Stefan Dösinger <stefandoesinger@gmx.at> ---
I guess that's ok for wined3d's purposes. We don't use either extension right
now, and if we ever use one of them we'll probably go with the ARB one anyway.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1142 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug 65416] r300g does not eliminate unread varyings
2013-06-05 13:26 [Bug 65416] New: r300g does not eliminate unread varyings bugzilla-daemon
` (5 preceding siblings ...)
2013-06-13 8:31 ` bugzilla-daemon
@ 2013-07-13 15:34 ` bugzilla-daemon
6 siblings, 0 replies; 8+ messages in thread
From: bugzilla-daemon @ 2013-07-13 15:34 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 624 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=65416
Marek Olšák <maraeo@gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #7 from Marek Olšák <maraeo@gmail.com> ---
Fixed by a commit series which starts here:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=74edd56927801e8c646c7d5cddba397c2f54b4ef
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 2199 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-07-13 15:34 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-06-05 13:26 [Bug 65416] New: r300g does not eliminate unread varyings bugzilla-daemon
2013-06-05 13:30 ` [Bug 65416] " bugzilla-daemon
2013-06-05 13:43 ` bugzilla-daemon
2013-06-06 1:17 ` bugzilla-daemon
2013-06-06 13:29 ` bugzilla-daemon
2013-06-12 19:05 ` bugzilla-daemon
2013-06-13 8:31 ` bugzilla-daemon
2013-07-13 15:34 ` bugzilla-daemon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).