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: dri-devel@lists.sourceforge.net
        ReportedBy: fgou...@codeweavers.com


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
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to