http://bugs.winehq.org/show_bug.cgi?id=17708
Heiko zuxez@uni.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zuxez@uni.de
--- Comment #15 from Heiko zuxez@uni.de 2013-02-20 11:22:20 CST --- Hello, I still encounter the problems even with recent git. I'm not quite sure how and why it's happening, but it started with just the character's shadow being awkward. Later the whole character layout is screwed in normal and night vision, but is rendered correctly in thermal and sound vision. So I suspect it being something related to the shaders. With native directx dlls the character is rendered like on the 'tar pit' screenshot. With wines d3dx9_36 the character is rendered almost like a cube (because of the lack of the vertex/pixel shader support in there).
After a bit of debunkering in d3d_shader one can find several lines a la
fixme:d3d_shader:print_glsl_info_log 0(12) : warning C7050: "R1.zw" might be used before being initialized
The shaders passed to the glsl compiler seem to contain directx-specific content, that being CTAB- and PRES-shader-comments. I hacked a CTAB-reader together, which shows several global variables with and several without default values:
trace:d3d_shader:shader_sm1_read_comment // "CTAB\x1c\x00\x00\x00\xc3\x00... trace:d3d_shader:GetConstantTable byte_code 0x7710d54, constant_table (nil) trace:d3d_shader:GetConstantTable Creator "Microsoft (R) D3DX9 Shader Compiler 9.11.519.0000", Version fffe0101, Constants 3, Target "vs_1_1" trace:d3d_shader:parse_ctab_constant_type name LocalToScreen, elements 1, index 8, defaultvalue (nil), regset D3DXRS_FLOAT4 trace:d3d_shader:parse_ctab_constant_type class D3DXPC_MATRIX_COLUMNS, type D3DXPT_FLOAT, rows 4, columns 4, elements 1, struct_members 0 trace:d3d_shader:parse_ctab_constant_type name g_GlobalConstants, elements 1, index 0, defaultvalue (nil), regset D3DXRS_FLOAT4
Basically, my question is, are these comments relevant to the actual rendering within wined3d? Should they be set on the renderer device with wined3d_device_set_vs_consts_f() and friends? I couldn't find any place in there handling them. And I'm not quite sure if they should be handled in wined3d at all or are used in d3dx9's dlls only?
Btw, I'm on an Intel Q6600 with an NVidia 9800GTX
media-libs/mesa-9.1_rc2 x11-base/xorg-server-1.13.2.901 x11-drivers/nvidia-drivers-310.32