04Bug 38266: normal, P2, ---, wine-bugs, UNCONFIRMED , Precision of math functions needs to be improved
jarkko
there is an explanation of the issue
catpigger joined the channel
catpig has quit
slackner
jarkko: is probably easy to fix, either requires changes to the FPU flags (easy to test), or alternatively an assembler implementation for those math functions - would you mind opening a wine-staging bug for this?
jarkko
slackner: i will
DarkPlayer
fpu and assembler? ugh
slackner
DarkPlayer: its not that hard, i even implemented fpu stuff into my proof of concept compiler back then ^^
DarkPlayer
i don't even know which registers you need to preserve in cdecl or stdcall when using the fpu
slackner
DarkPlayer: not sure to which api function exp(...) maps, but some of the wine functions have a wrapper - the arguments are passed directly in the FPU, and wine then stores them in double variables
which could also explain the loss of precision
fpu = 80bit, double=64 bit
DarkPlayer
slackner: gcc supports special float datatypes to store all 80bit ;-)
catpigger has quit
slackner
DarkPlayer: well, then its probably even easier to fix ^^
jarkko: dx10 ... not sure if its worth fixing bugs there before the wined3d people have finished upstreaming at least a minimal set of base functions ^^
jarkko
i looked and changed some dx10 return codes so i could forward with 3dmark and i was suprized that there is quite a lot code
i am not the right person to say but i would assume dx10 isnt that far away
DarkPlayer
jarkko: DX10 is mostly about shaders and all that stuff and correctly Wine does not support those shaders
jarkko
what's so hard about the shader stuff?
is there anyone who could even implement them?
DarkPlayer
that wined3d is undocumented and this stuff is really complex
first you need to parse the opcodes of the directx shaders add them into some complex structures and then they are converted into an GLSL shader again
depending on what kind of hardware you have, there are even different shader generators
slackner
jarkko: i am not sure, but it could indeed be possible that some of the wined3d devs already have working prototypes of working dx10 stuff - nevertheless, upstreaming takes some time, and every second patch introduces another regression, so ...
jarkko: [06wine](00http://is.gd/ZSTqeU) 02John Edmonds: wined3d: Turn off message filtering temporarily in the Reset() method to allow certain messages (e.g. WM_ACTIVATEAPP) through.
jarkko
any idea why 1 spec is different?
slackner
jarkko: d3dx10_43 is where the implementation will be later (currently a stub), the rest just redirects to d3dx10_43
jarkko: thats the usual method to avoid reimplementing the function for all versions of the dll
jarkko
i tried the demo just now and i dont know if the font is even the issue now
=>0 0x005f0e3e in cascades (+0x1f0e3e) (0x0033e2dc) and similar lines
fixme:dxgi:dxgi_device_init Ignoring adapter type. same as 3dmark vantage. i quess it wants to know if we have dx10