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=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=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=18952
Summary: Combat Arms will not run
Product: Wine
Version: unspecified
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: shomari.sharpe(a)gmail.com
Combat Arms crashes upon startup. When executing Engine.exe "HackShield Pro"
starts to initialize and once the progressbar reaches 100% it disappears from
the screen. When i check my list of running processes the wineserver is running
along with Engine.exe
--
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=16733
Summary: crash at Navyfield ingame EULA
Product: Wine
Version: 1.1.12
Platform: Other
URL: http://www.navyfield.de/ger/main.asp
OS/Version: Linux
Status: NEW
Keywords: download
Severity: normal
Priority: P2
Component: quartz
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: jeffz(a)jeffz.name
Following on from bug 12021 - after the loading screen finishes, an EULA is
shown but wine crashes. Native quartz gets things a bit further but then it
crashes later.
--
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=10587
Summary: xcovator crashes
Product: Wine
Version: CVS/GIT
Platform: PC
URL: http://xkovator.com/download.htm
OS/Version: Linux
Status: UNCONFIRMED
Keywords: download
Severity: normal
Priority: P2
Component: wine-shdocvw
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: xerox_xerox2000(a)yahoo.co.uk
A user submitted this app into appdb with garbage test result. It starts fine
using native mshtml. The crash is likely related to :
fixme:mshtml:HTMLDocument_write (0x132c30)->(0x1507f28)
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=15708
Summary: Dragon NaturallySpeaking 7 install fails with negative
amount of memory reported
Product: Wine
Version: unspecified
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: major
Priority: P2
Component: -unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: teight(a)ntlworld.com
I'm running Ubuntu 8.04 on a dual boot machine with 3GB memory which can
comfortably run Dragon NaturallySpeaking Preferred 7 under XP. I'm having
problems installing Dragon NaturallySpeaking 7 in Wine and believe there may be
a bug.
Regardless of whether I run "wine /media/cdrom1/autorun.exe" or wine
/media/cdrom1/setup.exe or if I copy the cd contents to the hd and run the
install from the hard disk, the install looks promising for only a few moments.
Then an error message which describes the minimum requirements for DNS 7,
finishing with: "Your computer does not meet the minimum specifications for
installation of Dragon NaturallySpeaking" and it reports -1052Mb memory -ie
***minus*** 1.052 GB memory. Then the install allows me to withdraw
gracefully, no crashes or other problems, which is a tribute to the stability
of Wine itself.
This behaviour happens under Wine 1.00 from the Ubuntu repository and also
under Wine 1.1.6.
My guess is that fault lies with the the Dragon installer, which is not able to
recognise 3GB and is therefore unable to install, having misreported the total
physical memory as a negative quantity as a result of a register overflow.
I remember causing similar odd results myself when programming in C in what now
feels like another lifetime! Usually the silly result would be the consequence
of a register overflow thanks to my very poor programming skills.
I'm not all that familiar with the intricacies of Wine: could it be that there
is a command line option available which limits the amount of physical memory a
program running under Wine can see? Or is this a bug?
Teight
--
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=13429
Summary: Eudora 7.1.0.9 several bugs related to Wine
Product: WineHQ Bugzilla
Version: unspecified
Platform: PC
OS/Version: Linux
Status: UNCONFIRMED
Severity: minor
Priority: P2
Component: bugzilla-unknown
AssignedTo: wine-bugs(a)winehq.org
ReportedBy: winebugz(a)wendy.org
It was not possible to open attachments to an email in Wine 0.9.x versions; in
the Wine 1.0 RC-versions 1 and 2 this remains impossible.
Printing resulted and still results in garbled printouts: approximately the
first half of the first page is like it should be, the rest (of the page, and
the whole of next pages) is garbled, words printedover eachother. I have to cut
and paste the contents into a word processor (like Open Office) to be able to
print an email.
It was and still is not possible to enter Eudora in paid mode. I have paid for
my Eudora Pro, but since I moved from Windows XP to Ubuntu, I'm working in
sponsor mode. Which has a pesky irritating window reminding me about working in
sponsor mode...
Since updated to Wine version 1.0 (both Release Candidates 1 and 2), some other
things stopped working in Eudora.
- Not able to click on a link to open a web page (this was still possible in
pre 1.0 versions of Wine!). My browser is not opened. A workaround is to to
open Link History, select the link I just clicked on, copy the link, switch to
the browser, and paste the address into the address bar. Since clicking on a
link worked in earlier versions of Wine, this problem should be relatively easy
to be fixed...
- Not able to see the source of an email (to check special characters, URLs
etc): selecting this option (right-click in an email message, select option
'check source') has no result; same with 'send to browser'. Since clicking a
link does not open a web browser, being able to copy and paste the URL is
important, but not everybody (especially mailing lists) show the URL behind the
link, often just a keyword is shown.
--
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.