http://bugs.winehq.org/show_bug.cgi?id=17437
Florian Sievert floriansievert@phobeus.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |floriansievert@phobeus.de
Willem Brosz wbrosz@uvic.ca changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|wbrosz@uvic.ca |
rig0r krims0n32@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|krims0n32@gmail.com |
Dan Merillat winehq@harik.welp.gs changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|winehq@harik.welp.gs |
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mah301s@hotmail.com
hpestilence hpestilence@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #20746|0 |1 is obsolete| |
Mads madsvibe@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madsvibe@gmail.com
Joachim Rousseau syrion.com@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |syrion.com@gmail.com
hpestilence hpestilence@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #20974|0 |1 is obsolete| | Attachment #20998|0 |1 is obsolete| |
--- Comment #57 from Matthieu Bertin bertinm@esiee.fr 2009-04-09 03:54:14 --- how do you remove the compiled version of wine then ? before i compile it again...
--- Comment #58 from Eddy Y. jeyoung@priscimon.com 2009-04-09 04:19:17 --- (In reply to comment #57)
how do you remove the compiled version of wine then ? before i compile it again...
You just overwrite the current version with the one you will be compiling.
First, patch your source code, making sure that you have the corresponding code version and patch (ie. do not apply a patch meant for wine 1.1.7 to wine 1.1.6).
Second, check where your existing wine is with 'whereis wine'.
If it's in /usr/bin, then use
$ ./configure --prefix=/usr
Otherwise, do
$ ./configure
Then,
$ make $ sudo make install
--- Comment #59 from Matthieu Bertin bertinm@esiee.fr 2009-04-09 17:47:25 --- Here it is. I did what you said, and it still doesn't work. I downloaded 1.1.18 from sourceforge and i am using latest proprietary drivers available on synaptic.
here is a short version:
brzhk@gauss:~/winecomp/wine-1.1.18$ patch -p1 < apocrypha.shaders.1.1.17.patch patching file dlls/wined3d/baseshader.c patching file dlls/wined3d/directx.c patching file dlls/wined3d/wined3d_main.c patching file dlls/wined3d/wined3d_private.h Hunk #1 succeeded at 290 (offset -8 lines). brzhk@gauss:~/winecomp/wine-1.1.18$ ./configure (conf. trace) brzhk@gauss:~/winecomp/wine-1.1.18$ make depend && make (traces) brzhk@gauss:~/winecomp/wine-1.1.18$ sudo make install
i also tried with --prefix=/usr/local as it was the path shown by whereis wine.
--- Comment #60 from Eddy Y. jeyoung@priscimon.com 2009-04-10 03:13:49 --- (In reply to comment #59)
Here it is. I did what you said, and it still doesn't work. I downloaded 1.1.18 from sourceforge and i am using latest proprietary drivers available on synaptic.
I use the latest drivers from ATI. Could you try with that please? Also, do you have the user.reg settings specified earlier in the thread?
See http://bugs.winehq.org/show_bug.cgi?id=17437#c23
brzhk@gauss:~/winecomp/wine-1.1.18$ sudo make install
i also tried with --prefix=/usr/local as it was the path shown by whereis wine.
I'm out of ideas.
What error are you getting? Does EVE not run at all? Or, does it run with graphics glitches?
--- Comment #61 from Matthieu Bertin bertinm@esiee.fr 2009-04-10 03:58:51 --- (In reply to comment #60)
(In reply to comment #59)
Here it is. I did what you said, and it still doesn't work. I downloaded 1.1.18 from sourceforge and i am using latest proprietary drivers available on synaptic.
I use the latest drivers from ATI. Could you try with that please? Also, do you have the user.reg settings specified earlier in the thread?
IT JUST DID THE TRICK ! Thanks a lot.
everything works fine now !
--- Comment #62 from Florian Sievert floriansievert@phobeus.de 2009-04-10 15:27:01 ---
IT JUST DID THE TRICK ! Thanks a lot.
I can confirm this. I tried for some days now to get the patch for my ati card. However, everything seems to fail. Adding the options to the user.reg and the patch seems to work fine for ati users. Thanks!
--- Comment #63 from Connor connormcl@hotmail.com 2009-04-12 18:11:29 --- We need a new patch for wine 1.1.19.
Tried to use the 1.1.17 patch on wine-1.1.19 with ATI HD3850 and Catalyst 9.3.
Patched wine compiles, but too much has changed and models are gone again.
Cmd-line shows:
fixme:d3d_shader:shader_glsl_select >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUseProgramObjectARB @ glsl_shader.c / 3757 fixme:d3d_shader:shader_glsl_load_constants >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUniform4fvARB @ glsl_shader.c / 573
--- Comment #64 from Mathieu Belanger b747xx@gmail.com 2009-04-12 22:12:13 --- Created an attachment (id=20410) --> (http://bugs.winehq.org/attachment.cgi?id=20410) Wine 1.1.19 patch for Apocrypha
Here the new patch for Wine 1.1.19!
Enjoy!
--- Comment #65 from Mathieu Belanger b747xx@gmail.com 2009-04-12 22:14:14 --- Created an attachment (id=20411) --> (http://bugs.winehq.org/attachment.cgi?id=20411) Wine 1.1.19 patch for Apocrypha
Here the new patch for Wine 1.1.19!
Enjoy!
--- Comment #66 from Mathieu Belanger b747xx@gmail.com 2009-04-12 22:16:22 --- Created an attachment (id=20412) --> (http://bugs.winehq.org/attachment.cgi?id=20412) Wine 1.1.19 patch for Apocrypha
Here the new patch for Wine 1.1.19!
Enjoy!
--- Comment #67 from Mathieu Belanger b747xx@gmail.com 2009-04-12 22:17:41 --- Sorry for the triple post, got a Time out error from winehq....
--- Comment #68 from A.T. xtcdj15@yahoo.com 2009-04-13 14:06:02 --- author Stefan Dösinger stefan@codeweavers.com
Sun, 22 Mar 2009 11:24:28 +0000 (12:24 +0100)
committer Alexandre Julliard julliard@winehq.org
Fri, 10 Apr 2009 09:22:55 +0000 (11:22 +0200)
commit 754b5cf2adc73a917d7d60c35d5cad5897a5e92d
tree fe1490bead9bf88cc15e0b6d58d17b9c1f35fafe tree | snapshot
parent 0af0bafd6ae40f9832d9c630c24a6696ac284631 commit | diff
wined3d: Deal with reserved shader constants in the backend.
This moves the GLSL and ARB specific reserved constants out of directx.c into
the get_caps methods of the shader backends. That way the number of reserved
constants remains in the backend.
GL_LIMITS({v/p}shader_constantsF) now contains the real number of constants as
advertised by GL instead of some mixture of GL info and backend implementation
specifics. This makes it easier for backends to decide how many constants to
use.
===========================================================
from what i understand this is the (partial) patch already integrated by Stefan in 1.1.19 (should work for nvidia 7xxx series ? ...i will test asap and post results for 7600GT);
the only things missing seems to be the registry keys to force correct values for buggy drivers ( ati 9.3 or older ???.... some people who tested 9.4 beta reported on phoronix forum that 9.4 solved this issue, lets hope is true....9.4 for M$ WIN was released few days ago, so linux 9.4 final seems to be just around the corner)
--- Comment #69 from H. Verbeet hverbeet@gmail.com 2009-04-13 14:25:18 --- (In reply to comment #68)
from what i understand this is the (partial) patch already integrated by Stefan in 1.1.19 (should work for nvidia 7xxx series ? ...i will test asap and post results for 7600GT);
No, it's related, but doesn't solve this issue yet. You need http://www.winehq.org/pipermail/wine-patches/2009-April/071698.html and (for fglrx) the following patches for that. Those still need some work though.
--- Comment #70 from Mathieu Belanger b747xx@gmail.com 2009-04-13 15:03:06 --- This patch (apocrypha.shaders.1.1.19.patch) is still needed for EVE on ATI card and Nvidia 7xxx-
- The ATI Drivers are still buggy and still need overide via registery key for uniform and varying.
- The max_constantsF = GL_LIMITS(vshader_constantsF) stuff moved but the patch is still needed for that because the formula are the same : max_constantsF = GL_LIMITS(vshader_constantsF) - (MAX_CONST_B / 4) - MAX_CONST_I - 1 and MAX_CONST_B & MAX_CONST_I are still static constantes (16 and 16).... So without the patch, ATI and Nvidia 7xxx don't have enough vec4 for EVE Shader.
--- Comment #71 from hpestilence hpestilence@gmail.com 2009-04-14 23:10:35 --- I tested out the patches on the mailing list and the wine from git with my HD4850 and here are the results:
Everything seems to render fine on medium and low shader settings, including shadows and hdr.
On high shaders the title screen was black with hdr and bloom on, turning those off gave me a normal title screen. When I logged on in the game the station / models didn't render regardless if hdr or bloom was on or off.
Looking through my logs it seems it's related to the original ati varyings bug which is easily worked around by hardcoding a lower varying number. Only a problem if you want to run in high settings though. :)
If your a nvidia card owner everything should work for you guys "out of the box" if these patches get accepted.
--- Comment #72 from hpestilence hpestilence@gmail.com 2009-04-22 01:53:28 --- Created an attachment (id=20605) --> (http://bugs.winehq.org/attachment.cgi?id=20605) shader error from wine git
I found a few models that didn't render specifically the covetor (possibly other mining ships) and the dreadnoughts. I found the error and it seems a shader uses 246 uniforms and only 245 is defined.
This is with the current wine in the git and just a little patch to lower my varyings to 52.
--- Comment #73 from Vitaliy Margolen vitaliy@kievinfo.com 2009-04-26 02:00:26 --- *** Bug 18217 has been marked as a duplicate of this bug. ***
--- Comment #74 from hpestilence hpestilence@gmail.com 2009-04-27 02:58:03 --- Created an attachment (id=20746) --> (http://bugs.winehq.org/attachment.cgi?id=20746) wine-1.1.20 patch
This patch is a mix of Stefan's "official" fix for the uniforms issue and the registry option to change the max varyings for ATI users.
This should allow all models to render on medium or low shader settings with all other settings on high, but on high shaders the mining ships and dreadnoughts don't render and maybe some other stuff.
--- Comment #75 from hpestilence hpestilence@gmail.com 2009-04-27 03:03:23 --- oops looks like it copied a whole file into the patch, I'll fix it tomorrow :)
--- Comment #76 from H. Verbeet hverbeet@gmail.com 2009-04-27 03:07:17 --- For what it's worth, "git apply" is better at applying patches than "patch".
--- Comment #77 from hpestilence hpestilence@gmail.com 2009-04-27 17:46:11 --- Created an attachment (id=20762) --> (http://bugs.winehq.org/attachment.cgi?id=20762) fixed wine-1.1.20 patch
--- Comment #78 from Mads madsvibe@gmail.com 2009-04-28 12:25:10 --- still same problem here.. 7900GS - Ubuntu 9.04 - Wine 1.1.20 - tried the patch above with no luck so far
--- Comment #79 from Connor connormcl@hotmail.com 2009-04-28 14:53:20 --- (In reply to comment #78)
still same problem here.. 7900GS - Ubuntu 9.04 - Wine 1.1.20 - tried the patch above with no luck so far
Patch from post #70 for wine-1.1.19 work for wine-1.1.20 on ATI 3850/3870 with Catalyst 9.4.
The patch from post #77 gives the usual errors and shows no models at all:
fixme:d3d_shader:shader_glsl_load_constants >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUniform4fvARB @ glsl_shader.c / 574 fixme:d3d_shader:shader_glsl_select >>>>>>>>>>>>>>>>> GL_INVALID_OPERATION (0x502) from glUseProgramObjectARB @ glsl_shader.c / 3757
--- Comment #80 from Joachim Rousseau syrion.com@gmail.com 2009-04-28 16:40:37 --- (In reply to comment #79)
All patches until 1.1.19 solved the issue with my NVidia 6800GT. With last patch for wine 1.1.20 I had a crash at first Eve run (between the charachter choice end the station loading), but the second launch was fine. And this crash may be unrelated, or due to some odd cache effect. Not tested for a long time.
--- Comment #81 from Bozhan Boiadzhiev bozhan@gmail.com 2009-04-30 15:08:26 --- why patch isn't accepted yet? i hate to compile things... :((((
--- Comment #82 from Joachim Rousseau syrion.com@gmail.com 2009-04-30 17:59:58 --- (In reply to comment #80)
(In reply to comment #79)
Only one problem : salvaging effect is very slow (less than 0.5fps) though I set shader quality to low. I may discover other issues like that I suppose.
--- Comment #83 from hpestilence hpestilence@gmail.com 2009-05-08 17:39:36 --- Created an attachment (id=20974) --> (http://bugs.winehq.org/attachment.cgi?id=20974) wine-1.1.21 ati varying patch
This is just the part of the previous patch that makes it optional to set the varyings in the registry for dx10 ATI cards that have problems displaying models when they're used in a shader.
[Software\Wine\Direct3D] "MaxVaryings" = "52" (multiple of 4, example of a 68 varying card)
This is an example of a card supporting 68 varyings, use glxinfo -l to find out what fglrx is reporting. A lower value than 52 might be needed for some cards.
--- Comment #84 from Stefan Dösinger stefandoesinger@gmx.at 2009-05-08 18:31:32 --- I recommend to define a driver quirk in the quirk table in directx.c for this card/driver. I cannot do this because I do not have a dx10 ATI card to test with.
Besides, I think this should be fixed in fglrx 9.4, or am I mistaken?
--- Comment #85 from hpestilence hpestilence@gmail.com 2009-05-08 20:04:38 --- Nothing involving uniforms or varyings is fixed in the 9.4 drivers for my card at least glxinfo -l seems to report the same as the previous drivers. One of the people who beta tests the driver says 9.5 has more wine fixes, not sure which ones specifically though.
--- Comment #86 from Connor connormcl@hotmail.com 2009-05-09 08:36:33 --- (In reply to comment #83)
Created an attachment (id=20974)
--> (http://bugs.winehq.org/attachment.cgi?id=20974) [details]
wine-1.1.21 ati varying patch
This is just the part of the previous patch that makes it optional to set the varyings in the registry for dx10 ATI cards that have problems displaying models when they're used in a shader.
[Software\Wine\Direct3D] "MaxVaryings" = "52" (multiple of 4, example of a 68 varying card)
This is an example of a card supporting 68 varyings, use glxinfo -l to find out what fglrx is reporting. A lower value than 52 might be needed for some cards.
wine-1.1.21 with the patch does not work for me on ATI 3870.
wine compiles fine but hangs on login. Console says:
err:ntdll:RtlpWaitForCriticalSection section 0x110054 "heap.c: main process heap section" wait timed out in thread 0024, blocked by 0021, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x110054 "heap.c: main process heap section" wait timed out in thread 0028, blocked by 0021, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x110054 "heap.c: main process heap section" wait timed out in thread 0025, blocked by 0021, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x110054 "heap.c: main process heap section" wait timed out in thread 0027, blocked by 0021, retrying (60 sec) err:ntdll:RtlpWaitForCriticalSection section 0x110054 "heap.c: main process heap section" wait timed out in thread 0026, blocked by 0021, retrying (60 sec)
--- Comment #87 from Connor connormcl@hotmail.com 2009-05-09 08:40:01 --- (In reply to comment #86)
(In reply to comment #83)
The above was wine-1.1.21 at log in into a station.
When i use another account to log into space wine crashes and closes:
wine: Unhandled page fault on write access to 0x6c666556 at address 0x7ef93ca5 (thread 0019), starting debugger... err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7ef93ca5
wine-1.1.19 and wine-1.1.20 work fine
--- Comment #88 from hpestilence hpestilence@gmail.com 2009-05-10 00:17:34 --- Created an attachment (id=20998) --> (http://bugs.winehq.org/attachment.cgi?id=20998) ati dx10 varying float fix patch
This patch should work for those with dx10 ATI cards and using fglrx, it changes the max varying floats from 68 to 48 through the quirk table. I chose 48 to cover all hd2000 to hd4000 cards since it's been reported that 52 is too high for some.
--- Comment #89 from Stefan Dösinger stefandoesinger@gmx.at 2009-05-10 04:47:40 --- This patch looks good to me. If it works, go ahead and send it to wine-patches.
--- Comment #90 from Connor connormcl@hotmail.com 2009-05-11 17:09:41 --- (In reply to comment #87)
(In reply to comment #86)
(In reply to comment #83)
The above was wine-1.1.21 at log in into a station.
When i use another account to log into space wine crashes and closes:
wine: Unhandled page fault on write access to 0x6c666556 at address 0x7ef93ca5 (thread 0019), starting debugger... err:seh:raise_exception Unhandled exception code c0000005 flags 0 addr 0x7ef93ca5
wine-1.1.19 and wine-1.1.20 work fine
I did a git regression test and received this as the patch causing the crash:
f9276a64295e5fdff6e8b68958ed9ef0e9a29c31 is first bad commit commit f9276a64295e5fdff6e8b68958ed9ef0e9a29c31 Author: Stefan Dösinger stefan@codeweavers.com Date: Thu May 7 17:31:20 2009 +0200
wined3d: Keep track of used float constants.
:040000 040000 ae0082c6c1dfce84694ea90dcab94cdf2d67d107 3d6199e8e08684e6c71188ee40a8b9a41ad3d82a M dlls
--- Comment #91 from Stefan Dösinger stefandoesinger@gmx.at 2009-05-12 04:46:09 --- Maybe the crash is related to the incorrectly reported constants? Ie, if the driver says 128 constants and the fixup code doesn't catch it, the code will allocate a bitmap for 128 constants. If the shader uses 256 it will blow up memory.
Maybe we need to change something there to prevent a driver bug from causing a memory corruption in wined3d. The game will still not work, but at least we don't corrupt memory.
--- Comment #92 from Stefan Dösinger stefandoesinger@gmx.at 2009-05-12 04:48:18 --- { match_ati_r300_to_500, quirk_ati_dx9, "ATI GLSL constant and normalized texrect quirk" },
Ah yeah, I limited the uniform fixup to <= r500 cards because (a) I expected a fixed r600+ driver soon, and (b) I don't have an r600 card to test. So someone may look into adding the uniform quirk for r600 cards too. (but don't do that normalized texrect stuff on r600. It has real NP2 support)
--- Comment #93 from Connor connormcl@hotmail.com 2009-05-12 09:02:17 --- (In reply to comment #91)
Maybe the crash is related to the incorrectly reported constants? Ie, if the driver says 128 constants and the fixup code doesn't catch it, the code will allocate a bitmap for 128 constants. If the shader uses 256 it will blow up memory.
What i did notice is that my driver does not report any maxvalues when "glxinfo -l" is issued.
I use opensuse 11.1 64bit, ATI 3850 and 3870 with Catalyst 9.4 and a "glxinfo -l" reports no maxvaryings or uniforms.
--- Comment #94 from hpestilence hpestilence@gmail.com 2009-05-14 20:53:53 --- Created an attachment (id=21105) --> (http://bugs.winehq.org/attachment.cgi?id=21105) atidx10quirks.patch
Sorry, my card was getting the ati dx9 quirks applied so I didn't include the arb constants quirk.
This patch should apply to all ATI DX10 hardware.
I'm currently running EVE in high shader mode with everything rendering including exhumers and dreadnoughts :)
--- Comment #95 from hpestilence hpestilence@gmail.com 2009-05-14 23:53:38 --- Oh yeah, I did leave a bug report at the unofficial ATI bugzilla about the varying vec4 array > 13 is used.
Other ATI DX10 card users should report there too if you can't use 64 max_glsl_varyings.
http://ati.cchtml.com/show_bug.cgi?id=1555
--- Comment #96 from Connor connormcl@hotmail.com 2009-05-15 13:58:21 --- (In reply to comment #94)
Created an attachment (id=21105)
--> (http://bugs.winehq.org/attachment.cgi?id=21105) [details]
atidx10quirks.patch
Sorry, my card was getting the ati dx9 quirks applied so I didn't include the arb constants quirk.
This patch should apply to all ATI DX10 hardware.
I'm currently running EVE in high shader mode with everything rendering including exhumers and dreadnoughts :)
Confirming patch working on opensuse 11.1 64bit, wine-1.1.21, catalyst 9.4, ATI 3850.
No crash on login anymore.
--- Comment #97 from hpestilence hpestilence@gmail.com 2009-05-15 16:50:33 --- grr, catalyst 9.5 still reports the wrong opengl capabilities.