Will Blending Unit Accuracy ever be ported to Direct3D11?
#1
Hello,

It seems that Direct3D11 isn't getting the bug fixes and new features that OpenGL is, like Blending Unit support. Is there a technical reason for this or is it down to a lack of manpower to implement it? 

I noticed that Akash made an update to Direct3D in the latest Git build. Does he have any expertise in Direct3D11?
Reply

Sponsored links

#2
The issue is we have no real D3D11 devs on the team to do it, plus I'm not sure how technically possible it is (but again, not a D3D dev). Some changes have been ported over from OpenGL, but not all of them.
[Image: ref-sig-anim.gif]

Reply
#3
The answer of Blending Unit support is quite easy. D3D11 doesn't support the equivalent OpenGL feature.

Main reason that D3D doesn't receive fix are
1/ I did all my contribution from Linux
2/ OpenGL works on all platform/GPU (so why bother with D3D)
3/ IMHO, having 2 accurates (slower) renderer will be useless. People have choice between pure speed (D3D), better accuracy (OpenGL). (Note: it doesn't mean that OpenGL is slower D3D, but that additional emulation will make it effectively slower).
Reply
#4
Regarding 3.

OGL is definitely slower than D3D for AMD GPUs, no matter what you do. Tongue

I blame the drivers for that though.
AMD Ryzen 5 3600 @ 3.60~4.20 GHz | Corsair Vengeance LPX 32 GB (2x16GB) DDR4-3200
MSI GeForce GTX 1660 Super @ 6 GB | Samsung 980 1TB | Windows 10 Pro x64 (22H2)
Reply
#5
(08-28-2017, 10:37 AM)gregory Wrote: The answer of Blending Unit support is quite easy. D3D11 doesn't support the equivalent OpenGL feature.

what is that extension? and how does it work? got a blog post about it? it should actually work on both. it's the same hardware. sure thing, it will not work i it's not specified in d3d. is it just a lucky by-product of the hardware?
Reply
#6
(08-28-2017, 04:37 PM)dabore Wrote: what is that extension? and how does it work? got a blog post about it? it should actually work on both. it's the same hardware. sure thing, it will not work i it's not specified in d3d. is it just a lucky by-product of the hardware?

Not sure about blending Accuracy but you can definitely port Hardware Depth which is just as important.
CPU: I7-4770 3.9GHZ
Motherboard: Asrock B85M - DGS
RAM: Hyper X Savage 2x8GB 1.6GHZ CL9
GPU: GTX1070 8GB GDDR5
OS: Windows 10 Pro 64bit
Reply
#7
It is a feature supported by all hardware, and if the hardware doesn't support it, it means it doesn't need it Wink D3D give you a version every 5 years, OpenGL got new extensions every years. So D3D can only lag behind OpenGL.

The feature is really basic, it allow the application to flush (invalidate) the texture cache. So the following pattern is well defined
* write into frame buffer
* flush cache
* read frame buffer
Reply
#8
(08-28-2017, 01:17 PM)Ryudo Wrote: Regarding 3.

OGL is definitely slower than D3D for AMD GPUs, no matter what you do. Tongue

I blame the drivers for that though.

Yes it is the driver. What can be done is
1/ switch to a real driver
2/ create an extra gsdx thread to dispatch gl command (which is likely less work than to extend D3D renderer)

Anyway, in the future, more work will move from the application/driver to the GPU.
Reply
#9
(08-28-2017, 10:37 AM)gregory Wrote: The answer of Blending Unit support is quite easy. D3D11 doesn't support the equivalent OpenGL feature.

Main reason that D3D doesn't receive fix are
1/ I did all my contribution from Linux
2/ OpenGL works on all platform/GPU (so why bother with D3D)
3/ IMHO, having 2 accurates (slower) renderer will be useless. People have choice between pure speed (D3D), better accuracy (OpenGL). (Note: it doesn't mean that OpenGL is slower D3D, but that additional emulation will make it effectively slower).

Actually, OpenGL is incredibly slow on AMD GPUs under Windows, that's why I asked would Direct3D 11 ever support high accuracy like OpenGL, since it's not truly cross-platform when AMD GPUs can't use it properly.

I wanted to build a small, fanless PC around an AMD Ryzen APU in the future, but if Direct3D11 never gets any updates then it will be pointless. It has too many glitches in too many games to be useful.

As things stand, I'm using a low-end Nvidia GPU so I'm fine with OpenGL for now, but I wish I could ditch the GPU and go fanless.
Reply
#10
It's not PCSX2's responsibility to support a locked down API because driver manufacturers have unoptimized drivers.
Reply




Users browsing this thread: 1 Guest(s)