English Amiga Board


Go Back   English Amiga Board > Support > support.WinUAE

 
 
Thread Tools
Old 14 December 2017, 00:18   #121
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,786
Excellent! That could be useful in other cases too, e.g. maybe some virtualisation packages provide emulated DX9-class graphics.
mark_k is offline  
AdSense AdSense  
Old 14 December 2017, 20:35   #122
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 20,153
It looks like https://github.com/Microsoft/FX11 can be used to load D3D9,10 and 11 .fx "effect/technique" files and they work in D3D11 mode.

So it seems old shader files can be fully (?) supported in D3D11 mode relatively painlessly. Maybe.
Toni Wilen is offline  
Old 16 December 2017, 14:16   #123
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 20,153
I converted most of D3D9 mode shader support code to D3D11 but one problem remains: after .fx file has been loaded&parsed (by D3DCompileFromFile) and parsed even more (FX11 CEffectLoader::LoadEffect), number of groups (m_GroupCount) and techniques (m_TechniqueCount) is zero. All the other data seems to be included. I tried multiple .fx files, always same zero technique result.

Code:
			if (strcmpi(ParamDesc.Semantic, "COMBINETECHNIQUE") == 0) {
				pstrTechnique = hParam->AsString();
				pstrTechnique->GetString(&name);
				s->m_CombineTechniqueEffectHandle = effect->GetTechniqueByName(name);
m_CombineTechniqueEffectHandle points to g_InvalidTechnique because it does not exist.. ("name" is correct, contains name of technique)

D3DCompileFromFile() notices technique -lines because renaming it causes error and renaming to for example technique10 returns error (shader model 2 is not level 10 technique compatible).

What goes wrong? I do something incorrectly? Old fx files are not compatible and needs modifications (but using compatibility mode does load it with some unrelated warnings). Or something else?

My only goal is to keep compatibility with D3D9 shaders in D3D11 mode.

EDIT: Stupid effectcompiler ignores d3d9 techniques by design, without any warning messages.. Replacing them with technique10 and vs_2_0 and ps_2_0 with vs_4_0_level_9_1 and ps_4_0_level_9_1 returned non-zero number of techniques.

EDIT2: It works now.

Last edited by Toni Wilen; 17 December 2017 at 17:50.
Toni Wilen is offline  
Old 20 December 2017, 21:46   #124
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,786
Would you be able to add a GUI option to use the WARP device? Just specify D3D_DRIVER_TYPE_WARP instead of D3D_DRIVER_TYPE_HARDWARE to D3D11CreateDevice(). That would be easier (no need to install Windows SDK) than using dxcpl to force WARP use. Could be useful with no or buggy graphics driver, or in a VM.
mark_k is offline  
Old 21 December 2017, 22:20   #125
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 20,153
DirectDraw surface mode option killed and replaced with D3D11 hardware/software option.
Toni Wilen is offline  
Old 22 December 2017, 18:35   #126
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,786
Thanks (for the software option, not for killing DirectDraw memory type selection! ). I noticed a little glitch in that, e.g. if you start emulation in D3D9 mode then open setting and change to D3D11. Graphics API Options drop-down is empty.

Is no DD memory selection just a temporary thing? Because it was useful for a couple of reasons:
- Different performance characteristics, the optimal setting for different hardware/OS setups can vary. (I guess that was why the option was added initially?)
- On my system, the point/bilinear control in filter settings is disabled in DirectDraw mode. But I can choose between point and bilinear by changing DD memory type: SystemRAM uses point filtering, whereas DefaultRAM forces bilinear.
mark_k is offline  
Old 22 December 2017, 19:35   #127
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 20,153
It is back. Also: buy a new PC.

EDIT: D3D9 software mode is horrible slow (about 5 frames/sec without any custom shaders..), don't ask to add it

Last edited by Toni Wilen; 22 December 2017 at 19:42.
Toni Wilen is offline  
Old 22 December 2017, 21:32   #128
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,786
Quote:
Originally Posted by Toni Wilen View Post
EDIT: D3D9 software mode is horrible slow (about 5 frames/sec without any custom shaders..), don't ask to add it
D3D_DRIVER_TYPE_REFERENCE and D3D_DRIVER_TYPE_SOFTWARE would probably give similar (slow) results in D3D11 mode. (I wonder what difference there is between them?)
mark_k is offline  
Old 29 December 2017, 20:07   #129
Retro-Nerd
Missile Command Champion

Retro-Nerd's Avatar
 
Join Date: Aug 2005
Location: Germany
Age: 45
Posts: 10,800
This device for verifying real input latency looks much more convincing than the high speed camera tests. Which results i still don't believe. Sadly 60Hz only yet, so you can't do proper PAL tests. And course only for the lag of the displays itself and a connected video scaler.

https://www.videogameperfection.com/...tester-review/

Last edited by Retro-Nerd; 29 December 2017 at 20:35.
Retro-Nerd is offline  
Old 12 January 2018, 21:48   #130
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,786
WinUAE seems to remember separate GUI font settings for full-screen and windowed modes. There's no way to change both from the GUI. As far as I can tell, to set both you'd need to set windowed (or full-window) mode, select GUI font, then switch to full-screen mode, press F12 and select GUI font there too.

Anyway, the main point of this post is: in D3D11 full-screen mode, when you press F12 to open the settings window WinUAE uses the full-screen GUI font. However you revert to showing the desktop in that case, so using the windowed/full-window GUI font would make more sense.
mark_k is offline  
Old 12 January 2018, 22:16   #131
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,786
I noticed a tiny issue when you do this:
- Set D3D11 full-screen mode, start emulation.
- Press F12. WinUAE returns to desktop and the settings window opens.
- Click Quit. The screen flashes/blinks black for a moment.

Is that flash/blink due to WinUAE (e.g. maybe it restores D3D11 full-screen mode before immediately exiting), or down to Windows or the graphics driver?
mark_k is offline  
Old 13 January 2018, 12:28   #132
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 42
Posts: 20,153
Quote:
Originally Posted by mark_k View Post
WinUAE seems to remember separate GUI font settings for full-screen and windowed modes. There's no way to change both from the GUI. As far as I can tell, to set both you'd need to set windowed (or full-window) mode, select GUI font, then switch to full-screen mode, press F12 and select GUI font there too.

Anyway, the main point of this post is: in D3D11 full-screen mode, when you press F12 to open the settings window WinUAE uses the full-screen GUI font. However you revert to showing the desktop in that case, so using the windowed/full-window GUI font would make more sense.
Both options make sense, neither is better.

It is still considered fullscreen mode and GUI should have different config (including position) than normal windowed mode GUI. For example if fullscreen mode is in different monitor (than monitor you use for windowed), you probably want the GUI positioned in same monitor.

Quote:
Originally Posted by mark_k View Post
I noticed a tiny issue when you do this:
- Set D3D11 full-screen mode, start emulation.
- Press F12. WinUAE returns to desktop and the settings window opens.
- Click Quit. The screen flashes/blinks black for a moment.

Is that flash/blink due to WinUAE (e.g. maybe it restores D3D11 full-screen mode before immediately exiting), or down to Windows or the graphics driver?
Fixed. Useless fullscreen mode (when pressing Quit or Restart) was already fixed previously but test got broken later.
Toni Wilen is offline  
AdSense AdSense  
 


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

Similar Threads
Thread Thread Starter Forum Replies Last Post
A method for further improving latency (input lag) in FS-UAE Dr.Venom support.FS-UAE 4 12 September 2017 17:49
Photos and/or measurements of Amiga 500 bLAZER request.Other 143 29 June 2017 18:42
Optimizing DirectX apps for low latency input and longer battery life Dr.Venom support.WinUAE 2 24 April 2017 10:40
What are the measurements of Amiga 1200 case screws Tallrot support.Hardware 9 15 June 2016 11:04
A1200 and B1230 Voltage Measurements for Dummies? Jarin support.Hardware 2 23 January 2014 11:02

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


Powered by vBulletin® Version 3.8.8 Beta 1
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Page generated in 0.26272 seconds with 12 queries