http://bugs.freedesktop.org/show_bug.cgi?id=21354
Summary: Better optimize loading constants in VertexShaders
Product: Mesa
Version: unspecified
Platform: x86 (IA32)
URL: http://www.gamershell.com/download_16702.shtml
OS/Version: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: Drivers/DRI/i915
AssignedTo: [email protected]
ReportedBy: [email protected]
So running FlatOut 2 on Linux with Wine 1.1.19 I got the following error:
fixme:d3d_shader:shader_arb_generate_vshader HW VertexShader Error at position
1543: "Too many parameter variables"
It turns out it is caused by this VertexShader fragment:
PARAM helper_const = { 2.0, -1.0, %d.0, 0.0 };
...
MOV result.fogcoord, 0.0;
>From what I have been told (I'm not a 3D expert), the MOV causes the driver to
use a shader constant for the 0.0, thus going over the limit. We've worked
around this issue by rewriting the above as:
MOV result.fogcoord, helper_const.w;
But it has been pointed out that the driver should be able to figure this out
by itself and do the optimization itself. Hence this report.
Packages:
* From Debian Testing
* libgl1-mesa-dri 7.0.3-7
* linux-image-2.6.26-2-686 2.6.26-15
* xserver-xorg-video-intel 2:2.3.2-2+lenny6.
See also:
* WineHQ Bug 17528 - 3D Mark 2001 SE Dragothic: Textures not rendered on
running humans
http://bugs.winehq.org/show_bug.cgi?id=17528
To reproduce:
* Go to http://www.winehq.org/announce/1.1.19 and grab Wine 1.1.19 (later
versions will have the workaround I mentioned above and thus not be suitable
for reproducing this issue)
* Compile / Install it.
* Install DirectX 9 or copy d3dx9_36.dll to ~/.wine/drive_c/windows/system32.
* Download the FlatOut 2 Demo from:
http://www.gamershell.com/download_16702.shtml
* Unzip that file and chdir to that directory.
* Then run:
wine FlatOut2.exe
The game should crash on startup and print the above HW VertexShader error on
stderr.
--
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
--
_______________________________________________
Dri-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dri-devel