Closed sarnex closed 10 years ago
csgo works fine for me (nouveau: gtx 770) probly a radeon nine problem
Tom^ in irc also uses nouveau and gets the same crash as me exactly. Okias gets the same crash as me on r600g(I think). Very strange that you don't get it. Are you sure you are using mesa compiled with libd3dadapter and wine w/ gallium nine and UseNative=1?
@Uramekus are you sure you running on nine? Can you upload somewhere log with nine enabled? Also which version of kernel/mesa/wine do you run? It's d3d9 state tracker from patch or git?
Linux arque 3.16.1-1-ARCH #1 SMP PREEMPT Thu Aug 14 07:40:19 CEST 2014 x86_64 GNU/Linux (using arch linux)
mesa from here (compiled 25 aug) https://docs.google.com/file/d/0B29SlCylOCovMFRDcnVNN0Z2QXc/edit?pli=1 ^ that wine (outdated version) will upload the log later, i disabled nine and wine debug but i'm going to enable, no prob 2 recompile
ps: do not enable the overlay to run CS:GO, that can bug the game
OS: Gentoo Kernel: 3.16.1 Wine: From my ppa, 1.7.21-r1 from ::ixit overlay Mesa: 2014-08-26 10:40 LLVM: 3.5.0svn GPU & Driver: Radeon HD 6550D, r600g CS:GO Version: 1.34.1.1 Used my patch: http://pastebin.ca/2834953 (improved version is in git e824ec5 )
It works, about 20fps on 1920x1080, lowest settings (debug version)
@sarnex launching steam with -nobreakpad may let DOTA2's crash reach winedbg, I haven't done it personally, but I hear that has a chance.
@Tele42 Just tested it, unfortunately it doesn't.
OS: Mint 17 Kernel: 3.16.0 Wine: sarnex's ppa Mesa: oibaf/sarnex (nine) GPU: 6670 (not sure about driver) Max settings @ 1080 running at 15-18~ fps (60 fps stable if i use lowest) Works everything except shadows, they are not shown in his correct place
TGSI log: http://pastebin.com/raw.php?i=2cJSULsp
Here is some info from marek:
Important part of log is: D3D9 Shader:
PS3.0
DEF c0 { 1.000000 0.000000 1.041667 -0.020833 }
DEF c2 { 0.500000 0.212500 0.715400 0.072100 }
DCL v0.xy__ TEXCOORD0
DCL v1.___w TEXCOORD3
DCL v2 TEXCOORD7
DCL v3 TEXCOORD6
DCL v4 TEXCOORD2
DCL s0 2D
DCL s15 2D
TEX r0 v0 s0
IF bconst[0] /* this seems to be correct */
MAD r1 v2.xyzx c0.xxxy c0.yyyx
DP4 r2.__z_ r1 c71
DP4 r3.x___ r1 c73
DP4 r3._y__ r1 c74
MAD r3.__zw r3.xyxy c0.zzzz c0.wwww
MOV sat r4.xy__ r3.zwzw
ADD r3.__zw -(r3) r4.xyxy
DP2ADD r3.__z_ r3.zwzw c0.xxxx c0.yyyy
DP4 r3.___w r1 c77
DP4 r1.x___ r1 c78
CMP sat r4.x___ -abs(r3).zzzz r3.xxxx r3.wwww
CMP sat r4._y__ -abs(r3).zzzz r3.yyyy r1.xxxx
MOV r1.xy__ c86
CMP r1.xy__ -abs(r3).zzzz r1 c87
MAD r2.xy__ r4 c2.xxxx r1
MOV pp r2.___w c0.yyyy
TEXLDL r1 r2 s15
ADD r1._yzw -(c89).xxyz v2.xxyz
DP3 r1._y__ r1.yzww r1.yzww
MAD sat r1._y__ r1.yyyy c68.yyyy c68.xxxx
LRP r2.x___ r1.yyyy c0.xxxx r1.xxxx
ELSE
MOV r2.x___ c0.xxxx
ENDIF
MOV r1.xyz_ v4
MAD r1.xyz_ r1 r2.xxxx v3
IF bconst[0] /* also seems to be correct */
DP3 r1.___w r1 c2.yzww
RCP r1.___w r1.wwww
MUL r1.___w r1.wwww v4.wwww
ADD r2.x___ -(r2).xxxx c0.xxxx
MAD r1.___w r1.wwww -(r2).xxxx c0.xxxx
MUL r2.xyz_ r1.wwww r1.zyxw
MAD r2.___w r1.wwww c2.xxxx c2.xxxx
LRP r1.xyz_ r2.wwww r2.zyxw r2
ENDIF
... and ... TGSI generated code:
FRAG
DCL IN[0], GENERIC[0], PERSPECTIVE
DCL IN[1], GENERIC[3], PERSPECTIVE
DCL IN[2], GENERIC[7], PERSPECTIVE
DCL IN[3], GENERIC[6], PERSPECTIVE
DCL IN[4], GENERIC[2], PERSPECTIVE
DCL OUT[0], COLOR
DCL SAMP[0]
DCL SAMP[15]
DCL CONST[0..275]
DCL TEMP[0..4]
DCL TEMP[5], LOCAL
IMM[0] FLT32 { 1.0000, 0.0000, 1.0417, -0.0208}
IMM[1] FLT32 { 0.5000, 0.2125, 0.7154, 0.0721}
0: TEX TEMP[0], IN[0], SAMP[0], 2D
1: UIF CONST[1283].xxxx :0 /* random number, jump to :0 ?! */
2: MAD TEMP[1], IN[2].xyzx, IMM[0].xxxy, IMM[0].yyyx
3: DP4 TEMP[2].z, TEMP[1], CONST[71]
4: DP4 TEMP[3].x, TEMP[1], CONST[73]
5: DP4 TEMP[3].y, TEMP[1], CONST[74]
6: MAD TEMP[3].zw, TEMP[3].xyxy, IMM[0].zzzz, IMM[0].wwww
7: MOV_SAT TEMP[4].xy, TEMP[3].zwzw
8: ADD TEMP[3].zw, -TEMP[3], TEMP[4].xyxy
9: DP2 TEMP[5].x, TEMP[3].zwzw, IMM[0].xxxx
10: ADD TEMP[3].z, IMM[0].yyyy, TEMP[5].xxxx
11: DP4 TEMP[3].w, TEMP[1], CONST[77]
12: DP4 TEMP[1].x, TEMP[1], CONST[78]
13: CMP_SAT TEMP[4].x, -|TEMP[3].zzzz|, TEMP[3].wwww, TEMP[3].xxxx
14: CMP_SAT TEMP[4].y, -|TEMP[3].zzzz|, TEMP[1].xxxx, TEMP[3].yyyy
15: MOV TEMP[1].xy, CONST[86]
16: CMP TEMP[1].xy, -|TEMP[3].zzzz|, CONST[87], TEMP[1]
17: MAD TEMP[2].xy, TEMP[4], IMM[1].xxxx, TEMP[1]
18: MOV TEMP[2].w, IMM[0].yyyy
19: TXL TEMP[1], TEMP[2], SAMP[15], SHADOW2D
20: ADD TEMP[1].yzw, -CONST[89].xxyz, IN[2].xxyz
21: DP3 TEMP[1].y, TEMP[1].yzww, TEMP[1].yzww
22: MAD_SAT TEMP[1].y, TEMP[1].yyyy, CONST[68].yyyy, CONST[68].xxxx
23: LRP TEMP[2].x, TEMP[1].yyyy, IMM[0].xxxx, TEMP[1].xxxx
24: ELSE :26
25: MOV TEMP[2].x, IMM[0].xxxx
26: ENDIF
27: MOV TEMP[1].xyz, IN[4]
28: MAD TEMP[1].xyz, TEMP[1], TEMP[2].xxxx, IN[3]
29: UIF CONST[1283].xxxx :38 /* random number (previously filled), jump correct location */
30: DP3 TEMP[1].w, TEMP[1], IMM[1].yzww
31: RCP TEMP[1].w, TEMP[1].wwww
32: MUL TEMP[1].w, TEMP[1].wwww, IN[4].wwww
33: ADD TEMP[2].x, -TEMP[2].xxxx, IMM[0].xxxx
34: MAD TEMP[1].w, TEMP[1].wwww, -TEMP[2].xxxx, IMM[0].xxxx
35: MUL TEMP[2].xyz, TEMP[1].wwww, TEMP[1].zyxw
36: MAD TEMP[2].w, TEMP[1].wwww, IMM[1].xxxx, IMM[1].xxxx
37: LRP TEMP[1].xyz, TEMP[2].wwww, TEMP[2].zyxw, TEMP[2]
38: ENDIF
...
It seems it goes wrong in function src/gallium/state_trackers/nine/nine_shader.c:1594 or in function "tx_src_param" or function "tx_cond"
UPDATE: correct mean it works, it seems I get also non-sense (>=275 or <0 values on r600g, but it somehow works) correct is from r600g on my HD 6550D. broken is from radeonsi on sarnex 7950, steam lastest
--- correct 2014-08-31 14:23:51.854428575 +0200
+++ broken 2014-08-31 14:23:04.183432960 +0200
@@ -12,7 +12,7 @@
IMM[0] FLT32 { 1.0000, 0.0000, 1.0417, -0.0208}
IMM[1] FLT32 { 0.5000, 0.2125, 0.7154, 0.0721}
0: TEX TEMP[0], IN[0], SAMP[0], 2D
- 1: UIF CONST[272].xxxx :0
+ 1: UIF CONST[1283].xxxx :0
2: MAD TEMP[1], IN[2].xyzx, IMM[0].xxxy, IMM[0].yyyx
3: DP4 TEMP[2].z, TEMP[1], CONST[71]
4: DP4 TEMP[3].x, TEMP[1], CONST[73]
@@ -30,7 +30,7 @@
16: CMP TEMP[1].xy, -|TEMP[3].zzzz|, CONST[87], TEMP[1]
17: MAD TEMP[2].xy, TEMP[4], IMM[1].xxxx, TEMP[1]
18: MOV TEMP[2].w, IMM[0].yyyy
- 19: TXL TEMP[1], TEMP[2], SAMP[15], 2D
+ 19: TXL TEMP[1], TEMP[2], SAMP[15], SHADOW2D
20: ADD TEMP[1].yzw, -CONST[89].xxyz, IN[2].xxyz
21: DP3 TEMP[1].y, TEMP[1].yzww, TEMP[1].yzww
22: MAD_SAT TEMP[1].y, TEMP[1].yyyy, CONST[68].yyyy, CONST[68].xxxx
@@ -40,7 +40,7 @@
26: ENDIF
27: MOV TEMP[1].xyz, IN[4]
28: MAD TEMP[1].xyz, TEMP[1], TEMP[2].xxxx, IN[3]
- 29: UIF CONST[272].xxxx :38
+ 29: UIF CONST[1283].xxxx :38
30: DP3 TEMP[1].w, TEMP[1], IMM[1].yzww
31: RCP TEMP[1].w, TEMP[1].wwww
32: MUL TEMP[1].w, TEMP[1].wwww, IN[4].wwww ```
broken is from CS:GO 1.34.1.1 HD 7950 (radeonsi). correct from mine
--- correct 2014-08-31 15:24:36.872093310 +0200
+++ broken 2014-08-31 15:24:12.028095595 +0200
@@ -18,7 +18,7 @@
2: MUL TEMP[0].xyz, TEMP[0], IN[3]
3: MUL OUT[0].w, TEMP[0].wwww, IN[3].wwww
4: MUL TEMP[2].xyz, TEMP[1], CONST[12]
- 5: UIF CONST[272].xxxx :39
+ 5: UIF CONST[-1].xxxx :39
6: SLT TEMP[3].x, -TEMP[1].wwww, IMM[0].xxxx
7: IF TEMP[3].xxxx :38
8: DP3 TEMP[0].w, TEMP[1], IMM[0].yzww
@@ -41,7 +41,7 @@
25: CMP TEMP[1].xy, -|TEMP[2].wwww|, CONST[87], TEMP[1]
26: MAD TEMP[4].xy, TEMP[6], IMM[2].xxxx, TEMP[1]
27: MOV TEMP[4].w, IMM[0].xxxx
- 28: TXL TEMP[1], TEMP[4], SAMP[15], 2D
+ 28: TXL TEMP[1], TEMP[4], SAMP[15], SHADOW2D
29: ADD TEMP[1].yzw, -CONST[89].xxyz, IN[2].xxyz
30: DP3 TEMP[1].y, TEMP[1].yzww, TEMP[1].yzww
31: MAD_SAT TEMP[1].y, TEMP[1].yyyy, CONST[68].yyyy, CONST[68].xxxx
problem is in overwritten const_b_base value. I'll look into it tomorrow, there is need attach debugger (winedbg or gdb) and monitor this value to find out, what code cause problem.
should be fixed by "nine: always set info.const_{i,b}_base", commit 92392bf (until rebase)
Hi. When I am loading a map in CSGO and DOTA 2, the game crashes while loading. I can't backtrace Dota 2 because Steam will close Dota 2 when it isn't opened by Steam. If you know of a way to backtrace Dota 2, let me know.
OS: Mint 17 x86_64 Kernel: 3.16.1-031601-generic gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2 Wine: From my ppa, 1.7.24 with patch from Thermionix, and 1.7.19 from okias's github. Mesa: From oibaf's ppa, mesa git with this patch from okias: http://pastebin.ca/2834953 AND mesa with f4b0ab7afd83c811329211eae8167c9bf238870c reverted LLVM: Tried 3.5 and 3.6 from llvm.org/apt GPU & Driver: Radeon HD 7950, radeonsi CS:GO Version: Latest version from Steam and 1.34.1.1 Dota 2 Version: Only latest from Steam
Backtrace for CSGO with okias patch included: http://pastebin.com/raw.php?i=8nPmkfrn Backtrace for CSGO without okias patch: http://pastebin.com/raw.php?i=4atw8eqJ