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=29290
Bug #: 29290
Summary: "The Settlers - Rise of Cultures" - SecuRom
Product: Wine
Version: 1.3.34
Platform: x86-64
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: maxistxxl(a)yahoo.de
Classification: Unclassified
Created attachment 37886
--> http://bugs.winehq.org/attachment.cgi?id=37886
Output of `ls -lh dosdevices' and `wine SADK.exe'
This one is fairly easy to describe.
I am using the current wine version fresh from todays (9.12.11) PPA. I
installed "The Settlers - Rise of Cultures" without any problems. If I want to
start the game, SecuRom prevents it.
I "configured" my CD-Drive using winecfg. Please find the output of `ls -lh
dosdevices/' attached. Please find in the same attachment the output of `wine
SADK.exe'.
sincerly
Max Görner
--
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=33342
Bug #: 33342
Summary: Blur: rear view upside down (since Wine 1.3.32)
Product: Wine
Version: 1.5.27
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: directx-d3d
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: felixhaedicke(a)web.de
Classification: Unclassified
In current Wine versions, the rear view is shown upside down in the game "Blur"
(see attached screenshot).
Running a regression test using git bisect revealed the following commit as the
cause:
3bfecd58d282ac50463f659e427a2d3d86d12334 is the first bad commit
commit 3bfecd58d282ac50463f659e427a2d3d86d12334
Author: Henri Verbeet <hverbeet(a)codeweavers.com>
Date: Thu Nov 3 19:37:24 2011 +0100
wined3d: Avoid a drawable -> texture transfer through sysmem in
arbfp_blit_surface() with backbuffer ORM.
:040000 040000 c21c3a8546b4f391faac5db17db0b8f6896feb07
d15f3aeb8596ad9e7ae04ec373f7d3a4b4cda069 M dlls
I have ported the revert patch for this commit to Wine 1.5.27 and this solved
the problem.
--
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=30555
Bug #: 30555
Summary: PokerStars client cannot initialize
Product: Wine
Version: 1.4
Platform: x86
OS/Version: Linux
Status: UNCONFIRMED
Severity: blocker
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: kevin.mcalister(a)gmail.com
Classification: Unclassified
Pokerstars client fails ( http://pokerstars.com )
versions:
- wine 1.4
- linux 3.2.0-24 (Ubuntu 12.04)
Note: it was working pretty good on Wine 1.3.28 under linux 3.0.0-17 (Linux
Mint 11).
The reason is:
After update check the error window appears: "Client program has failed to
inialize, Please contact PokerStars support"
--
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.