Dolphin, the GameCube and Wii emulator - Forums

Full Version: Why is Direct3D 11 missing some OpenGL features?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I noticed that Direct3D 11 is missing the options Post-Processing Effect and GPU Texture Decoding which are present with OpenGL.

Is Direct3D simply not capable of supporting these options, or is it that no one has gotten around to implementing them yet?
It takes dev-time to do things. Stenzek had ported post-processing to D3D, but, unfortunately other things came up (including ubershaders and stuff outside of the project) that moved it down on list of priorities. There's nothing stopping those features from being done on D3D, it's just finding someone with the expertise and time to do it.
(08-29-2017, 06:46 PM)seoulgamer Wrote: [ -> ]or is it that no one has gotten around to implementing them yet?

Bingo.

unpaid open source baby
The PCSX2 developers claimed that their OpenGL features were impossible to implement in Direct3D. I was wondering was this the case in Dolphin as well. So, we might get those features someday after all.
It is possible that some bits that PCSX2 does in GL isn't possible in D3D11.

You can't compare two emulators.
There are features which are supported in OpenGL which are not possible in D3D. And dolphin uses quite a few of them: logic operation in the blending stage, persistent mapped buffers, oversized viewports, ...
But your examples are just not implemented. Our D3D backend doesn't get much love.
Do those OpenGL exclusive features fix any graphical bugs in games, or are they for performance reasons?
persistent mapping is a performance feature. logic ops and oversized viewports are used for accuracy. In general, OpenGL allows us to use more edge cases than Vulkan or D3D12, so it still fits well as the default video backend.
I'll probably just turn off Ubershaders then so I can use OpenGL. Some of my favourite games still have a lot of graphical issues, so accuracy is more important to me.

I don't think either AMD or Nvidia GPUs can use Ubershaders with OpenGL at the moment without performance loss.