[Bug 59950] New: Shader compilation fails when starting Just Cause.
http://bugs.winehq.org/show_bug.cgi?id=59950 Bug ID: 59950 Summary: Shader compilation fails when starting Just Cause. Product: Wine Version: 11.10 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: d3d-util Assignee: wine-bugs@list.winehq.org Reporter: ldmwbjbipxjqwacdhk@kjkpc.net Distribution: --- Created attachment 81324 --> http://bugs.winehq.org/attachment.cgi?id=81324 Patch that fixes the issue Shader compilation fails when starting Just Cause. When I start Just Cause on Wine 11.10 or newer, I get 3 message boxes complaining about syntax errors. Title: Vertex shader error! Line 40: Unexpected input e Line 40: Error "syntax error" from bison Title: Vertex shader error! Line 42: Unexpected input e Line 42: Error "syntax error" from bison Title: Vertex shader error! Line 48: Unexpected input e Line 48: Error "syntax error" from bison Here is a snippet of some interesting lines when enabling tracing with WINEDEBUG=trace+d3dcompiler,asmshader 0024:trace:asmshader:asmshader_parse Vertex shader 1.1 0024:trace:asmshader:asmparser_constF Adding float constant 90 at pos 0. 0024:trace:asmshader:asmparser_constF Adding float constant 91 at pos 1. 0024:trace:d3dcompiler:compilation_message Line 40: Unexpected input e 0024:trace:d3dcompiler:compilation_message Line 40: Error "syntax error" from bison 0024:trace:d3dcompiler:assemble_shader Assembler messages: 0024:trace:d3dcompiler:assemble_shader "Line 40: Unexpected input e\nLine 40: Error \"syntax error\" from bison\n" 0024:trace:d3dcompiler:assemble_shader Shader source: 0024:trace:d3dcompiler:assemble_shader "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nvs_1_1 \r\ndef c90 , 768 , 256 , 0.5 , - 0.00138883968 \r\ndef c91 , 0.159154937 , 0.25 , 0.5 , 0.0416666418 \r\ndef c92 , 6.28318548 , - 3.14159274 , - 2.52398507e-007 , 2.47609005e-005 \r\ndef c93 , - 0.5 , 1 , 0 , "... 0024:trace:d3dcompiler:D3DCreateBlob data_size 70, blob 0032F594. 0024:trace:d3dcompiler:D3DCreateBlob Created ID3DBlob 0558F108 0024:trace:d3dcompiler:d3dcompiler_blob_GetBufferPointer iface 0558F108 0024:err:d3dcompiler:assemble_shader Asm reading failed This is a regression. The game starts fine on Wine 11.0, 11.5, 11.7, 11.9, and probably older versions as well. Suspected cause: If I am reading the git log correctly, Wine 11.10 defaulted to builtin Direct3D libraries, instead of using the native libraries. This revealed a deficiency in the Direct3D shader parser. The problem seems to be that the game uses the exponent notation for some floating-point literals, but the Wine's parser grammar does not accept that. Proposed solution: A one line change to dlls/d3dcompiler_43/asmshader.l , that adds support for the exponent notation, seems to solve the problem. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59950 Ken Sharp <imwellcushtymelike@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=59950 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |d56bae228090e474f96bd2310f2 | |609270bd32b98 CC| |z.figura12@gmail.com Keywords| |regression -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla