Makaron Test 12/5 - 模擬器

By Anonymous
at 2010-08-21T16:02
at 2010-08-21T16:02
Table of Contents
http://dknute.livejournal.com/
It seems that CheckInterfaceSupport is broken for DirectX 11. This is what
I'm doing:
HRESULT hr = pAdapter1->CheckInterfaceSupport (__uuidof (ID3D11Device), NULL);
The result is DXGI_ERROR_UNSUPPORTED for Radeon 5770... Creating ID3D11Device
with D3D_FEATURE_LEVEL_11_0 obviously works, as the card does support it.
There is no such problem when asking for ID3D10Device.
The plan was to enumerate all adapters present in the system and reject those
that do not support Direct3D 11. This bug effectively prevents it from
working. I don't know, maybe it's driver related, but very annoying
nevertheless.
So yeah, I switched to 64-bit Windows 7 Pro and I also bought a new graphics
card. Rather than spending money on a new i3/i5 CPU I overclocked my E6600 to
3.0GHz, that should last me another year I hope. With this change I will be
slowly moving away from Direct3D 9c - as I explained many times before it has
too many limitations to properly emulate PowerVR2 chip. Don't worry though,
I'm not going to drop D3D9 support immediately but it will be removed
someday. Makaron doesn't need all that much GPU processing power, rather the
new features, so it's quite possible that the new CPU+GPU hybrids from AMD
will be fast enough to run it full speed. And those are supposed to be pretty
cheap.
I changed a few things in T12 core and I'm finally quite happy with how it
works so I'll probably release another version soon. That would be the last
of Test 12 series I suppose. The only thing preventing me from doing so is
one last issue with the multithreaded renderer, it causes random crashes
(though some systems seem more affected than others). It's a pretty
complicated issue though and cannot be fully fixed without major changes that
would take considerable more time. For now I just added an option in the INI
file to disable multithreading (not completly, just this part) and while it
slows the emulator down it's not as bad as the crashes.
Anyway, stay tuned. I want to make a release before I mess up the code again
with my experiments, and I have quite a few ideas to try out :)
UPDATE: Here it is, Test 12/5. There's a small ReadMe included so be sure to
read it. No Atomiswave yet since I didn't think T12 core could be salvaged,
so I didn't bother with it. I wasn't exactly wrong there, with all the
changes I made this version could easily be called Test 13 :)
Anyway, other things of note (from the top of my head):
* Current renderer needs to go. I have a replacement of sorts prepared, as a
part of software renderer project. I'm pretty sure it will be a bit slower
but that remains to be seen. I need the new framework anyway to support both
D3D9 and D3D11 at the same time.
* SH4 recompiler could use some sort of abstraction layer to handle the
optimizations better. Again, it'd probably end up being marginally slower but
more manageable and could in future be paired with x64 emitter.
* I'm going to drop support for non-SSE2 CPUs soon, mostly because it'd be
easier to code the new recompiler. Quite frankly any CPU without SSE2 is not
going to be fast enough to handle Makaron anyway.
* Windows XP and Direct3D 9 support is going to stay for now but once D3D11
renderer starts working properly I will focus mostly on that. While I realize
that droping DX9 will upset XP users, I'd like to point out that Makaron
always required a modern PC. I havent introduced any major changes lately but
before that Makaron was the first Dreamcast emulator to require shaders, then
it would work only with Shader Model 2 or higher. In return you got faster
palletized texture support, shadows and fogging. Now it's going to be DirectX
11 :)
UPDATE 2: That bug I wrote about? Now you're seeing it's effects first-hand
:) Oh well, guess I better fix that one since I didn't add an option to skip
DX11 init.
Redownload T12/5 from here, this time when Direct3D 11 is present on the
system but actual device can't be created it will just silently ignore the
problem. This was the intention after all. And I also added workaround for
the scaler issue.
--
It seems that CheckInterfaceSupport is broken for DirectX 11. This is what
I'm doing:
HRESULT hr = pAdapter1->CheckInterfaceSupport (__uuidof (ID3D11Device), NULL);
The result is DXGI_ERROR_UNSUPPORTED for Radeon 5770... Creating ID3D11Device
with D3D_FEATURE_LEVEL_11_0 obviously works, as the card does support it.
There is no such problem when asking for ID3D10Device.
The plan was to enumerate all adapters present in the system and reject those
that do not support Direct3D 11. This bug effectively prevents it from
working. I don't know, maybe it's driver related, but very annoying
nevertheless.
So yeah, I switched to 64-bit Windows 7 Pro and I also bought a new graphics
card. Rather than spending money on a new i3/i5 CPU I overclocked my E6600 to
3.0GHz, that should last me another year I hope. With this change I will be
slowly moving away from Direct3D 9c - as I explained many times before it has
too many limitations to properly emulate PowerVR2 chip. Don't worry though,
I'm not going to drop D3D9 support immediately but it will be removed
someday. Makaron doesn't need all that much GPU processing power, rather the
new features, so it's quite possible that the new CPU+GPU hybrids from AMD
will be fast enough to run it full speed. And those are supposed to be pretty
cheap.
I changed a few things in T12 core and I'm finally quite happy with how it
works so I'll probably release another version soon. That would be the last
of Test 12 series I suppose. The only thing preventing me from doing so is
one last issue with the multithreaded renderer, it causes random crashes
(though some systems seem more affected than others). It's a pretty
complicated issue though and cannot be fully fixed without major changes that
would take considerable more time. For now I just added an option in the INI
file to disable multithreading (not completly, just this part) and while it
slows the emulator down it's not as bad as the crashes.
Anyway, stay tuned. I want to make a release before I mess up the code again
with my experiments, and I have quite a few ideas to try out :)
UPDATE: Here it is, Test 12/5. There's a small ReadMe included so be sure to
read it. No Atomiswave yet since I didn't think T12 core could be salvaged,
so I didn't bother with it. I wasn't exactly wrong there, with all the
changes I made this version could easily be called Test 13 :)
Anyway, other things of note (from the top of my head):
* Current renderer needs to go. I have a replacement of sorts prepared, as a
part of software renderer project. I'm pretty sure it will be a bit slower
but that remains to be seen. I need the new framework anyway to support both
D3D9 and D3D11 at the same time.
* SH4 recompiler could use some sort of abstraction layer to handle the
optimizations better. Again, it'd probably end up being marginally slower but
more manageable and could in future be paired with x64 emitter.
* I'm going to drop support for non-SSE2 CPUs soon, mostly because it'd be
easier to code the new recompiler. Quite frankly any CPU without SSE2 is not
going to be fast enough to handle Makaron anyway.
* Windows XP and Direct3D 9 support is going to stay for now but once D3D11
renderer starts working properly I will focus mostly on that. While I realize
that droping DX9 will upset XP users, I'd like to point out that Makaron
always required a modern PC. I havent introduced any major changes lately but
before that Makaron was the first Dreamcast emulator to require shaders, then
it would work only with Shader Model 2 or higher. In return you got faster
palletized texture support, shadows and fogging. Now it's going to be DirectX
11 :)
UPDATE 2: That bug I wrote about? Now you're seeing it's effects first-hand
:) Oh well, guess I better fix that one since I didn't add an option to skip
DX11 init.
Redownload T12/5 from here, this time when Direct3D 11 is present on the
system but actual device can't be created it will just silently ignore the
problem. This was the intention after all. And I also added workaround for
the scaler issue.
--
Tags:
模擬器
All Comments
Related Posts
Alien vs Predator P.w/Linn/P.h in 20:09

By Robert
at 2010-08-21T12:24
at 2010-08-21T12:24
wii 黑暗編年史

By Charlotte
at 2010-08-21T12:17
at 2010-08-21T12:17
復活邪神3-296改造版,技的問題。

By Edward Lewis
at 2010-08-21T08:32
at 2010-08-21T08:32
Irregular Hunter X -VAVA模式全劇情(後)-

By Wallis
at 2010-08-21T00:28
at 2010-08-21T00:28
鳴牌之龍 麻將飛翔傳

By Sarah
at 2010-08-21T00:23
at 2010-08-21T00:23