http://bugs.winehq.org/show_bug.cgi?id=17715
Summary: Incorrect translation of D3D asm instruction "expp"
Product: Wine
Version: 1.1.17
Platform: PC-x86-64
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: directx-d3d
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: liquid.acid(a)gmx.net
CC: stefandoesinger(a)gmx.at
Hi there,
currently wined3d (I only tested this in ARB mode, but it might also affect
GLSL mode) the D3D assembler instruction "expp" is incorrectly translated to
ARBvp assembler language.
wined3d takes this D3D asm line "expp r3.y, r3" and translates it into "EXP
R3.y, R3;". Well, this isn't working.
EXP is of scalarop type, the first parameter being of "masked destination
register" type (masking is used in this case above) and the second parameter
(here lies the problem) is of type "scalar source register".
Sadly R3 is a vector :(
Well, let's add there full shader source for completeness:
--------------------------------------------
vs_1_0
//D3DX8 Shader Assembler Version 0.91
mov r0, v0
add r1, r0, -c85
dp3 r1, r1, r1
rsq r1.x, r1.y
mov r3, r0
dp3 r3.w, r3, r3
rsq r3.w, r3.w
mul r7, r3, r3.w
mul r1.x, r1.x, r1.y
mad r2.x, r1.x, c86.x, c86.y
slt r4, r2.x, c0
mul r4, r4, -c83.w
max r2.x, r2.x, -r2.x
add r2.x, r4.z, r2.x
mul r3, r2.x, c83.y
expp r3.y, r3
mad r3, r3.y, c83.z, c83.w
mul r2, r3.x, r3.x
mul r3.y, r2.x, r3.x
mul r3.z, r2.x, r3.y
mul r3.w, r2.x, r3.z
dp4 r2, c82, r3
mul r2, r2, c86.z
mul r1.x, r1.x, c86.w
add r1.x, c1, -r1.x
max r1.x, c0, r1.x
mad r0.y, r2, r1.x, r0.y
dp4 oPos.x, r0, c2
dp4 oPos.y, r0, c3
dp4 oPos.z, r0, c4
dp4 oPos.w, r0, c5
mov oT0, v3
mov oT1, v3
mov oT2, v3
mov oT3, v3
mov oD0, c1
mov oFog.x, c0
--------------------------------------------
First of all, according to the current MSDN the instruction used above in the
source is NOT valid.
See this: http://msdn.microsoft.com/en-us/library/bb173373(VS.85).aspx
They explicitly state "expp dst, src.{x|y|z|w}" as the syntax.
They furthermore mention:
------------QUOTE---------------------------
src is a source register. Source register requires explicit use of replicate
swizzle, that is, exactly one of the .x, .y, .z, .w swizzle components (or the
.r, .g, .b, .a equivalents) must be specified.
------------UNQUOTE--------------------------
Well, this comment about the src reg doesn't seem to be valid at all....
Let's just take a look at the original D3D8 documentation ("D3DX8 Shader
Assembler Version 0.91" <- !!!).
To fully quote this:
------------------------------------------------------
expp
Provides exponential 2x partial support.
Syntax:
expp vDest, vSrc0
Registers:
vDest: Destination register, holding the result of the operation.
vSrc0: Source register, specifying the input argument.
Operation:
The following code fragment shows the operations performed by the expp
instruction to write a result to the destination.
SetDestReg();
SetSrcReg(0);
float w = m_Source[0].w;
float v = (float)floor(m_Source[0].w);
m_TmpReg.x = (float)pow(2, v);
m_TmpReg.y = w - v;
// Reduced precision exponent
float tmp = (float)pow(2, w);
DWORD tmpd = *(DWORD*)&tmp & 0xffffff00;
m_TmpReg.z = *(float*)&tmpd;
m_TmpReg.w = 1;
WriteResult();
Remarks:
The expp instruction produces undefined results if fed a negative value for the
exponent.
This instruction provides exponential base 2 partial precision. It generates an
approximate answer in vDest.z and allows for a more accurate determination of
vDest.x*function(vDest.y), where function is a user approximation to 2*vDest.y
over the limited range (0.0 <= vDest.y < 1.0).
This instruction accepts a scalar source, and reduced precision arithmetic is
acceptable in evaluating vDest.z. However, the approximation error must be less
than 1/(211) the absolute error (10-bit precision) and over the range (0.0 <=
t.y < 1.0). Also, expp returns 1.0 in w.
The following example illustrates how the expp instruction might be used.
expp r5, r0
------------------------------------------------------
So, the correct translation should be "EXP R3.y, R3.w;"
CCing Stefan Dösinger and Henri Verbeet.
I tried to patch this myself, but it looks like that "expp" has to be moved out
of shader_hw_map2gl to be able to do such an adjustement (but maybe not?).
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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=24328
Summary: Filter Forge 2 demo fails to launch with error: <class
XFW::OSCallError> ::GetScrollInfo failed.
Product: Wine
Version: 1.3.2
Platform: x86-64
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: anomalydetected(a)gmail.com
Created an attachment (id=30664)
--> (http://bugs.winehq.org/attachment.cgi?id=30664)
Screenshot of error message
Filter Forge 2 demo installs without an error message, but when attempting to
launch it and clicking "Use Trial - 30 days left", an error message pops up
<class XFW::OSCallError> ::GetScrollInfo failed. (screenshot attached) and the
program crashes.
Demo is available for download here: http://www.filterforge.com/download/
Regular Terminal output and terminal output with WINEDEBUG=+relay,+seh,+tid
attached also.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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=14740
Summary: Combined Arms is not installable
Product: Wine
Version: 1.1.2
Platform: PC-x86-64
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: starmatz71(a)yahoo.de
The installer shows only a white window, with the buttons "Agree" or
"Disagree". After that a second window pops up, completely blank and without
buttons. Pressing ESC on the keyboard quits the installer.
The registration and the game is free to use and play.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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=19959
Summary: Rome Total War loading screen has correct colors,
rendered twice
Product: Wine
Version: 1.1.29
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: trivial
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: robert.munteanu(a)gmail.com
Created an attachment (id=23473)
--> (http://bugs.winehq.org/attachment.cgi?id=23473)
Screenshot of the loading screen
Rome Total War loading screen has correct colors, and is rendered twice, once
in the left side of the screen and once in the right side.
It's worth noting that the progress bar - the only animated element - is
rendered correctly.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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=23472
Summary: PokerStars continues to crash - Wine 1.2rc5
Product: Wine
Version: 1.2-rc5
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: user32
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: michael.s.cairns(a)gmail.com
Created an attachment (id=29294)
--> (http://bugs.winehq.org/attachment.cgi?id=29294)
CreateToolhelp32Snapshot Unimplemented
I am attempting to run PokerStars with PokerStarsHotKeys. I was able to do
this with out a problem on 7.04. I decided it was time for an update but PS
continues to crash. I'd rather not revert back but if its necessary I'll go
that route.
PokerStars will crash when I open a new window. It will crash if it hangs on a
window. It will crash if I go into a menu list. It basically crashes when it
wants.
I am in communication with PS but I'm sure you would want to know about this
problem.
Thank you for all your work.
Michael
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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=11919
Summary: foobar2000 0.9.5.x with foo_facets.dll: crash in track
popup code
Product: Wine
Version: 0.9.54.
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: user32
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: pujos.michael(a)laposte.net
Created an attachment (id=11218)
--> (http://bugs.winehq.org/attachment.cgi?id=11218)
crash backtrace
Install foobar2000 and the facets plugin
(http://foobar2000.audiohq.de/foo_facets/)
Enable layout editing mode (View->Layout->Enable Editing Mode)
right-click in the UI to add the facets UI element (right click, then select
"Replace UI element" in the popup menu, then select Facets in the UI element
list).
Now right-click in the newly added Facets component to display it's popup menu.
Select "Facet View" in this menu and it'll make foobar2000 crash.
The crash happens in MENU_HideSubPopups() from user32/menu.c. In this function
the MENU_GetMenu() return a NULL pointer hence the subsequent crash.
See the attached file for the full backtrace
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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=21054
Summary: Platform SDK 2003 install slow
Product: Wine
Version: 1.1.34
Platform: x86
OS/Version: Linux
Status: NEW
Keywords: download, Installer
Severity: minor
Priority: P3
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: dank(a)kegel.com
This is not a critical problem, just an observation.
'winetricks psdk2003' works today, but seems a little slow.
It spends about five minutes thinking, then about half an hour (?) copying.
oprofile shows that during the thinking phase,
cpu time is divided up almost evenly between msi.dll and libwine.dll:
213762 52.2918 msi.dll.so
173435 42.4267 libwine.so.1.0
16658 4.0750 kernel32.dll.so
During this time, cpu time inside msi is divided up like this
67832 31.7325 JOIN_fetch_int
33596 15.7165 WHERE_evaluate
28618 13.3878 read_table_int
22133 10.3540 TABLE_fetch_int
14115 6.6031 STRING_evaluate
13322 6.2322 bytes_per_column
and cpu time inside libwine is divided up like this:
152497 87.9275 strlenW
12290 7.0862 compare_unicode_weights
During the copying phase, cpu time is mostly in the kernel:
23340 37.7866 no-vmlinux
15967 25.8500 cabinet.dll.so
5469 8.8541 libwine.so.1.0
Of the 1/4 of the cpu time in cabinet.dll, nearly all of it was in one
function:
15299 95.8164 LZXfdi_decomp
These numbers are with -O0, so they're not especially useful
for predicting normal speeds. It'd be interesting to see where the
cpu time is at -O2.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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=27426
Summary: Duke Nukem Forever Demo crashes on start
Product: Wine
Version: 1.3.21
Platform: x86
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: austinenglish(a)gmail.com
Created an attachment (id=35072)
--> (http://bugs.winehq.org/attachment.cgi?id=35072)
crash dialog
Shows a steam/dnf crash dialog on start, without much info (attached). Also
tried the fixed files version, which fails, trying to import kernel32.dll (!).
Works under windows, so either a really strange crack, or some new copy
protection..
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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=23604
Summary: Armored Fist 3 crashes on startup in (shrinked)
binkplay.exe
Product: Wine
Version: 1.2-rc7
Platform: x86
URL: http://download.cnet.com/Delta-Force-2/3000-2099_4-100
32645.html
OS/Version: Linux
Status: UNCONFIRMED
Severity: minor
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: gyebro69(a)gmail.com
Created an attachment (id=29519)
--> (http://bugs.winehq.org/attachment.cgi?id=29519)
standard terminal output
Wine throws up a crash dialogue when starting the game: Armored Fist 3 (from
Novalogic). The problematic executable is binkplay.exe which is intended to
play the intro video. Interestingly, after pressing on <Close> in the crash
dialogue, the game continues to load and starts up correctly.
A +relay log reveals the game comes with a binkplay.exe which is compressed
with Shrinker v3.3.
There is an already fixed bugreport here on Bugzilla which dealt with a similar
issue: that's bug #2608.
In case it's a regression I tried the game in 1.1.7. The crash still occurs in
1.1.7 for me (it can be seen in the terminal) , but without a crash dialogue.
A possible workaround: replace the bundled binkplay.exe with an un-shrinked one
(e.g from RAD Game tools). Now Wine plays the intro video fine, without a
crash.
There are several more Novalogic games that come with the same shrinked
binkplay.exe, so this bug might affect more than one game (Delta Force 2,
Tachyon).
The Delta Force 2 demo uses the same shrinked binkplay.exe (md5 checksums are
the same), so you can check out the issue using this demo (link added to URL).
Note: 'winetricks ie6' is needed to start the demo correctly (because of its
launcher).
Fedora 13 x86
Wine-1.2-rc7
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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=27138
Summary: Football Manager 2010 Demo Installer: canceling
install yields crash
Product: Wine
Version: 1.3.19
Platform: x86-64
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: frederic.delanoy(a)gmail.com
Canceling installation (in Football Manager 2010 Demo screen) yields a crash.
Be sure *not* to hit "Cancel" on first screen (install anywhere), but wait
until the "Football Manager 2010 Demo" screen appears, then hit Cancel + Quit
Console gives following error:
err:ole:CoReleaseMarshalData IMarshal::ReleaseMarshalData failed with error
0x8001011d
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
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.