English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 18 March 2014, 21:23   #1
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,506
JIT FPU support problem !

Machinist by Elude -> http://www.pouet.net/prod.php?which=61214

kakao by Elude -> http://www.pouet.net/prod.php?which=59136

We come in peace by Elude -> http://www.pouet.net/prod.php?which=54648

Soliloquy by Elude -> http://www.pouet.net/prod.php?which=50133

Lightshaft by Elude -> http://www.pouet.net/prod.php?which=52998

Used WinUAE configuration:

Quickstart Model A4000 68040 2MB Chip +64MB motherboard fast
DF0: WB3.x
DH0: demo file attached as archive

Note: Demo runs from workbench !


Problem: Advanced JIT Settings -> FPU support broken ?!

All demos has glitches with above configuration, but only if "FPU support" from "Advanced JIT Settings" is unchecked demos seems to work fine ?!

p.s. Probably that is already known problem as it has also been mentioned on some of above demo pouet comments !!!


EDIT: Other JIT-FPU problems:

Silkcut by The Black Lotus -> http://eab.abime.net/showpost.php?p=945329&postcount=18

Zeon by Nature -> http://eab.abime.net/showpost.php?p=945555&postcount=19
Attached Thumbnails
Click image for larger version

Name:	Clipboard01.png
Views:	365
Size:	39.3 KB
ID:	39436   Click image for larger version

Name:	Workbench v3_000.png
Views:	384
Size:	11.4 KB
ID:	39437  

Last edited by amilo3438; 23 March 2014 at 20:53. Reason: small corrections and another demo added
amilo3438 is offline  
Old 18 March 2014, 23:16   #2
turrican3
Moon 1969 = amiga 1985
 
turrican3's Avatar
 
Join Date: Apr 2007
Location: belgium
Age: 48
Posts: 3,913
About the machinist i think that toni is aware of the problem, for the others, i don't know.
turrican3 is offline  
Old 19 March 2014, 09:28   #3
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,522
JIT: not my problem. (Unless it did work previously)

Games or demos and JIT: You are on your own.

EDIT: Only way to have any chance to get it fixed: exact fpu opcode that does not work + parameters required.

Last edited by Toni Wilen; 19 March 2014 at 10:59.
Toni Wilen is offline  
Old 19 March 2014, 22:44   #4
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,506
Quote:
Originally Posted by Toni Wilen View Post
JIT: not my problem. (Unless it did work previously)
Well, I have tested two demos: Machinist by Elude and kakao by Elude

on an old WinUAE 0.8.27 version (see pictures below for used settings) and both work without glitches ?! (Note: JIT FPU setting is ON !!!)


EDIT: Tested and confirmed: WinUAE 1.1.1 (2005-10-20) is the last version without glitches ... WinUAE 1.2 (2006-02-12) is the first version where glitches appears !!!
Attached Thumbnails
Click image for larger version

Name:	WinUAE0827_(1).png
Views:	310
Size:	28.7 KB
ID:	39456   Click image for larger version

Name:	WinUAE0827_(2).png
Views:	306
Size:	20.7 KB
ID:	39457  

Last edited by amilo3438; 20 March 2014 at 00:17.
amilo3438 is offline  
Old 20 March 2014, 16:00   #5
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,522
Unfortunately 1.2 betas have huge amount of JIT FPU updates by Peter Keunecke -> unless someone bothers to find which instruction has bad emulation, nothing will happen. Sorry.
Toni Wilen is offline  
Old 20 March 2014, 20:15   #6
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,506
Quote:
Originally Posted by Toni Wilen View Post
Unfortunately 1.2 betas have huge amount of JIT FPU updates by Peter Keunecke
Yeah, you are right, it also says in Docs/Readme.txt file:

Quote:
WinUAE 1.2
==========

New features:

- FPU emulation updates and fixes.
Not sure what is the benefit of new JIT-FPU (1.2) version ... are there some test cases that said it is better than older one (1.1.1) ?!

Otherwise, how about temporarily to have both versions of JIT-FPU engines implemented into WinUAE that could be selected f.ex. with a check box ?!


p.s. Other approach could be maybe to compare a source code from both versions to see what was changed ... ?!

Quote:
Originally Posted by Toni Wilen View Post
-> unless someone bothers to find which instruction has bad emulation, nothing will happen. Sorry.
I am not good in Amiga machine programming, but perhaps could be possible to test JIT-FPU opcodes in WinUAE using/writing some assembler program that will check does the JIT-FPU engine instructions return right values ?! Or maybe a such program already exist, dont know so cant tell ?!

Last edited by amilo3438; 20 March 2014 at 20:42.
amilo3438 is offline  
Old 20 March 2014, 20:24   #7
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,522
I thought I said I didn't do any of those FPU changes! Obviously it did fix something but perhaps you also forgot that I don't debug or touch x86 assembly, at least until problem is narrowed down to single emulated instruction.

(Why do most users expect me to fix or modify code I don't know nothing at all?)

EDIT: reply to your edit: I said there are HUGE amount of changes in FPU JIT.
Toni Wilen is offline  
Old 20 March 2014, 20:30   #8
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,506
What about above mentioned proposal to have both JIT-FPU versions implemented into WinUAE ?!
(as the current new version seems to be broken for some test cases and there is nobody interested to fix that ?!)

That should be really easy fix ... if you still have the source code of version 1.1.1 ?!
amilo3438 is offline  
Old 20 March 2014, 20:45   #9
Mad-Matt
Longplayer
 
Mad-Matt's Avatar
 
Join Date: Jan 2005
Location: Lincoln / UK
Age: 44
Posts: 1,851
Send a message via ICQ to Mad-Matt Send a message via MSN to Mad-Matt
The easy fix is already implemented (Enable/disable fpu support) which you have found and noted that fixes the issue with the software. That's a win in my book and the whole reason the tick box exists for just such an occurrence of software incompatibility.
Mad-Matt is online now  
Old 20 March 2014, 20:57   #10
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,506
Quote:
Originally Posted by Mad-Matt View Post
The easy fix is already implemented (Enable/disable fpu support)
Yeah, the easiest way then is to not use it at all ... obviously it has been broken for a long time and nobody was interested to fix it.
amilo3438 is offline  
Old 20 March 2014, 22:44   #11
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,506
I have done some speed test in AIBB 6.5 with latest WinUAE b11 (JIT-FPU enabled / disabled) using tests FMath and Flops and there are no any speed improvements ... on the contrary, with the JIT-FPU disabled got the better results ! (see on pic. below)

p.s. Thus there is no point using a broken JIT-FPU at all ... also, maybe it should be disabled from Quickstart configurations by default in order to get rid of possible errors and have better overall emu 040 JIT compatibility.
Attached Thumbnails
Click image for larger version

Name:	AIBB_FMath_JIT-FPU=ON.png
Views:	289
Size:	19.7 KB
ID:	39472   Click image for larger version

Name:	AIBB_FMath_JIT-FPU=OFF.png
Views:	285
Size:	19.7 KB
ID:	39473   Click image for larger version

Name:	AIBB_Flops_JIT-FPU=ON.png
Views:	297
Size:	19.8 KB
ID:	39474   Click image for larger version

Name:	AIBB_Flops_JIT-FPU=OFF.png
Views:	277
Size:	19.8 KB
ID:	39475  

Last edited by amilo3438; 20 March 2014 at 23:00.
amilo3438 is offline  
Old 20 March 2014, 23:52   #12
Michael Sykes
WinUAE end user
 
Michael Sykes's Avatar
 
Join Date: Jan 2014
Location: Bremen
Age: 44
Posts: 649
I had to diable the JIT FPU option in mayny demos even under 1.6.x and lower versions. Those demos are made for 50-80Mhz 060 CPU's so I guess they run into timing problems if you enable the JIT compiler and speed things up to a few GHz. With a 68020+68881 the FPU is emulated at an equivalent of 10 GHz for example.For demos you shoud allways diable at least FPU JIT.
The only modern demo that I am aware of that does not run wit JIT(cpu+fpu) enabled is Silkcut from The Black Lotus.I allways get a 'not enough memory' error in the snow landscape part.

The only software i ran into problems under WUAE1.7+ was one crashing Visualizaton for AmiNetRadio so far.
"Subspace" to name it. But that might be related to my specific WB setup.

BTW: In C4D I see a huge difference in speed when FPU isn't stet to compile just in time.
E.g. the C4D logo scene(slightly modified with real reflection insted of an env-map) needs 7-8 seconds with FPU-JIT and 11 seconds without FPU-JIT.
Michael Sykes is offline  
Old 21 March 2014, 00:37   #13
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,506
Well, AIBB 6.5 is maybe not a good test case for measuring WinUAE speed between JIT-FPU ON/OFF.

It should be tested on some real application ...

I tried with ChaosPro (fractal generating and exploring program) from aminet and the speed in rendering with JIT-FPU ON/OFF is huge/drastic.

Pity that there is still no one interested to check/improve the current WinUAE JIT-FPU compatibility. (perhaps it looks to work fine with a real applications)

Dont know is there exist any other example (except of demos) where the current JIT-FPU enabled could produce a problem ?! (does anyone know)

Also, is there any example of what was improved with a new WinUAE 1.2 JIT-FPU version ?! (we now only know what is broken)


p.s.

Pity also as it was working fine on WinUAE 1.1.1 with demos too ...

but was broken in the following versions including the current version ... and so passes 8-9 years and nothing new.


p.s.2

A good news ...

I could not manage to run ChaosPro with WinUAE 1.1.1 and 040 JIT-FPU settings enabled, but could in WinUAE 1.2 ...

thus there must exist lot of improvements in a new JIT-FPU version.

So, if only a demos has a problem with JIT-FPU enabled, forget the whole thing ... it is not worth a trouble ... just disable JIT-FPU and continue to run a demo.


p.s.3

A bad news ...

Tried again and now manage to run ChaosPro with WinUAE 1.1.1 and 040 JIT-FPU settings enabled ...

so, something seems to be really broken in a new JIT-FPU introduced in WinUAE 1.2 version ?! (and what that could be, unfortunately seems nobody interested)

Last edited by amilo3438; 21 March 2014 at 02:12.
amilo3438 is offline  
Old 21 March 2014, 19:51   #14
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,522
Don't lose hope so quickly.. This bug has not been known for years and now you expect it to be fixed in 1 day? (Pouet comments are the worst place to "report" bugs!)
Toni Wilen is offline  
Old 22 March 2014, 01:55   #15
Michael Sykes
WinUAE end user
 
Michael Sykes's Avatar
 
Join Date: Jan 2014
Location: Bremen
Age: 44
Posts: 649
Thanks for the kind words(and the best 'Amiga' in the world^^) Toni.
If I learned one thing about WinUAE or emulators in general it's the fact that if you give it some time there will be a slolution. Hope dies last...
That in mind I hope for a fix within the next 1-2 years.
I mean even tablet support seems to gain some progress after a veeery long time of stagnation.
Guess we are just spoilt by weekly windows updates. ;-)
Michael Sykes is offline  
Old 22 March 2014, 12:11   #16
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,343
Regression tests are a really good way to find bugs like this. I've done it quite a few times for Wine. Using git you can automate the process.

Unfortunately I doubt Toni has individual commit-level change history going that far back. But it still might be possible (for someone with lots of spare time) to do a kind of manual regression test; apply half the FPU-related changes from 1.1.1 to 1.2, compile and see if that shows the problem. Of course manually applying half the changes would be tricky to say the least.

Toni: do you still have any 1.2 betas around? Maybe finding which beta first showed the problem could help narrow it down.
mark_k is offline  
Old 22 March 2014, 12:16   #17
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,522
There is HUGE amount of JIT FPU changes in beta that breaks it and there is no way to only do partial merge, everything has changed. It is b1 to b3, b2 had not JIT changes. (They are also in git repository)

Another big problem is that no one knows what instruction, effective address or even if it is something total different. It even could be totally unrelated to FPU, it may be just a trigger for another bug!

EDIT: More details

Peter narrowed it down to b3, I did some more tests to narrow it down to FMUL (by disabling JIT compilation for opcode one by one) which makes no sense and one addressing mode which also makes no sense because every program that uses FPU would break...

Which probably means bug is somewhere else.. This _really_ needs short test code, not big demo!

Last edited by Toni Wilen; 22 March 2014 at 12:27.
Toni Wilen is offline  
Old 22 March 2014, 20:24   #18
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,506
Have just found another JIT-FPU problem !

Silkcut by The Black Lotus -> http://www.pouet.net/prod.php?which=12034

Note: Test done with same WinUAE configuration as mentioned in post #1 !

Problem: When the demo "landscape part" appears got an message "Out of memory" as shown on pic. below.
(Note: The same happens also with WinUAE 1.1.1 when JIT-FPU enabled.)

But, if JIT-FPU is disabled the demo runs fine till the end.
Attached Thumbnails
Click image for larger version

Name:	tbl-silkcutfinal_001.png
Views:	271
Size:	8.1 KB
ID:	39489  
amilo3438 is offline  
Old 23 March 2014, 20:51   #19
amilo3438
Amiga 500 User
 
Join Date: Jun 2013
Location: EU
Posts: 1,506
Zeon by Nature -> http://ada.untergrund.net/?p=demo&i=272

Note: Same WinUAE configuration as mentioned in post #1 !

Problem: No music/sound (only rustles) when JIT-FPU is enabled !
(Note: Seems to work fine in WinUAE 1.1.1 and WinUAE 1.2 ! ... so it is broken from some other version.)

But, if JIT-FPU is disabled music plays fine.
amilo3438 is offline  
Old 23 March 2014, 23:29   #20
PeterK
Registered User
 
Join Date: Apr 2005
Location: digital hell, Germany, after 1984, but worse
Posts: 3,377
Quote:
Problem: No music/sound (only rustles) when JIT-FPU is enabled !
Is the switch FPU: "More Compatible" disabled ? Try that, please. FPU: "More Compatible" is much slower in some cases.
PeterK is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Possible WinUAE FPU Problem Ed Cruse support.WinUAE 2 01 November 2012 16:46
Problem with games when JIT enabled Skirner support.WinUAE 19 08 January 2010 17:22
Problem With Jit Settings markpage support.WinUAE 40 20 June 2009 16:01
Problem booting with JIT... Leo42 support.WinUAE 3 15 June 2009 21:25
JIT problem Unregistered support.WinUAE 0 19 July 2002 06:00

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 00:23.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.10929 seconds with 14 queries