English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 15 May 2010, 10:12   #1
Maccara
The Spanish Songstress
 
Join Date: Jul 2009
Location: Finland
Posts: 114
D3D windowed / full window switch -> black emulation screen

Now, first of all, I think this "bug" (it may very well not be a bug in winuae) is completely dependant on host OS/HW/drivers configuration, which in my case a "teeny bit" old XP x64 + ATI 4850 with Catalyst 10.4 (connected to CRT(main) & LCD TV(secondary)).

Second, this is not always even replicatable - most "reliable" way seems to be to start in windowed mode D3D and then switch to full window. I haven't figured out what exactly triggers this.

Third, this did not happen in previous versions of winuae (now running v2.1.0) - but I'm not 100% sure if I tried with the same display drivers. Earlier versions had different issue where there was garbage in the bottom of the screen (where the LEDs are) after switching modes.

I attached a simple "Host config" settings on which I have been able to replicate this - Amiga HW/SW config does not matter (well, RTG might) and I've used just the quickstarts to test this.

The logs contain a single "failed" session. Started windowed -> immediately black screen -> changed to directdraw (ok display) -> changed to d3d (now ok here too)

What happens is that when mode is changed between full window / windowed, all I get is black screen, with the overlaid "LEDS" visible only. Switching temporarily to directdraw mode and back restores the display.

Note, I get this only when filter is "none" or "null filter" + overlay image is "none". Also, there's a different kind of corruption (sorry, no screenshot) when I change from some image overlay (like "Real_scanlines.png") to "none" - usually half of the screen (from upper left corner to lower right) turns black. Fixed again by temporarily switching to directdraw and back.

The tricky part is, that when the corruption happens, not even restarting winuae fixes it (like what I replicated in the log files), which completely baffles me. Only by going the full cycle through directdraw helps. It is like something gets stored dynamically depending on the display config and gets deleted when I change to directdraw display, but I don't see it in configs at least.

If I'm the only one with this issue and Toni can't replicate - forget it, as I have a workaround for it too. Nice to get the workaround "documented" here, though, and would be nice if directdraw won't be completely removed in some future version, as that's the workaround.
Attached Files
File Type: uae Default.uae (20.5 KB, 101 views)
File Type: txt winuaebootlog.txt (18.2 KB, 123 views)
File Type: txt winuaelog.txt (8.6 KB, 107 views)
Maccara is offline  
Old 15 May 2010, 10:26   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,020
Quote:
The tricky part is, that when the corruption happens, not even restarting winuae
This instantly moves it to not an application problem category.
Toni Wilen is offline  
Old 15 May 2010, 11:05   #3
Maccara
The Spanish Songstress
 
Join Date: Jul 2009
Location: Finland
Posts: 114
Quote:
Originally Posted by Toni Wilen View Post
This instantly moves it to not an application problem category.
I gathered as much... And that also tells me WinUAE does NOT store anything related to DX at any state and everything is always initialized from scratch? (most software precompiles some shaders etc, which sometimes causes issues when dx/drivers updated, but I didn't see winuae doing anything like that, at least)

Would you still mind peeking at at the logs if there's anything telling what goes wrong (or something significant missing)?

...I have a little trouble deciphering them myself without looking at the code too (and would like to avoid that for now).

Couldn't see anything obvious errors myself (not complaining about anything, PS/VS seems to be detected correctly etc etc).

Edit: Just noticed winuae now has a git repository - I'll see if I can get this to compile now (been many, many years since I did it with winuae before) and if so, I'll try some D3D trickery (like flushing GPU after Present() or just resetting after mode change) if I can make this go away. (my D3D is a bit rusty, to say the least, so lets see what happens )

(that is, if I can make head or tails of your code to begin with - win32gui.cpp looks fun )

Last edited by Maccara; 15 May 2010 at 13:01.
Maccara is offline  
Old 15 May 2010, 16:00   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 43
Posts: 22,020
WinUAE does not store anything interesting between sessions (there is something in registry but it is mainly for GUI stuff)

"Problem" with D3D is that it does not report any errors between BeginScene() and EndScene() in release mode (for performance, errors = missing textures or black screen), need debug build and D3D debug libraries installed to see possible errors.
Toni Wilen is offline  
Old 15 May 2010, 16:17   #5
Maccara
The Spanish Songstress
 
Join Date: Jul 2009
Location: Finland
Posts: 114
Quote:
Originally Posted by Toni Wilen View Post
"Problem" with D3D is that it does not report any errors between BeginScene() and EndScene() in release mode (for performance, errors = missing textures or black screen), need debug build and D3D debug libraries installed to see possible errors.
Yup, I vaguely remembered something like that.

I have to update my dxsdk, enable the debug dlls (and check some other libs while I'm at it) and try to track this error on my system.

Maybe there's a simple workaround which could be included in "official" code (if I manage to implement something which isn't a complete hack, I'll post a patch).

Other than that, I'm probably the only one with this error, so no point in wasting anyone else's (your's ) time and preventing doing more interesting stuff.
Maccara 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
Black screen in full screen but not full window Winuae all versions Mixter support.WinUAE 18 30 June 2013 01:45
Black screen with 50 hz D3D not(DD) in WinUAE 2.3.3 from 60 hz setup in Win 7 Mixter support.WinUAE 7 26 February 2012 20:19
On the fly full screen <-> full window switching NewDeli request.UAE Wishlist 19 22 May 2010 18:40
Screen stays black in windowed mode with 32-bit desktop h121 support.WinUAE 4 24 August 2005 09:36
Windowed/Full Screen Display Dialogs Quickbeam support.WinUAE 3 09 July 2002 12:58

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 09:03.


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