DirectX 11.3

Discussion area about developing with Ogre-Next (2.1, 2.2 and beyond)


Hilarius86
Halfling
Posts: 51
Joined: Thu Feb 14, 2019 11:27 am
x 8

DirectX 11.3

Post by Hilarius86 »

Hi,

I just found out, that there is something called conservative rasterization in Dx11.3.
https://developer.nvidia.com/content/do ... terization
https://docs.microsoft.com/en-us/window ... terization

Sadly I was not able to activate the parameter in Ogre. Are there any plans on adding support for this feature? As far as I dug into source, DirectX is only supported with features up to 11.1?
User avatar
dark_sylinc
OGRE Team Member
OGRE Team Member
Posts: 5436
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1343

Re: DirectX 11.3

Post by dark_sylinc »

Hi!

I've been waiting for larger adoption and then I stopped having need for that feature.

It wouldn't be too hard to add:
  1. Add HlmsMacroblock::mConservativeRaster
  2. Add RSC capability flag to RenderSystemCapabilities to inform if the feature is supported
  3. Add support for all relevant APIs in RenderSystem::_hlmsMacroblockCreated (or _hlmsPipelineStateObjectCreated) and RenderSystem::_setPipelineStateObject
  4. Ask for a D3D11_3 device in D3D11 RenderSystem during device creation, and test it doesn't break in older OSes (e.g. Windows 7/8). This usually is the most problematic one (works fine until someone complains 'Ogre doesn't launch in my machine' and turns out we overlooked some check and try to create a D3D11_3 device when it's unsupported). This usually happens because to fully test it there's:
    1. OS doesn't know what D3D11_3 is, GPU does not support D3D11_3 (e.g. GeForce 600 series running on Win 7)
    2. OS doesn't know what D3D11_3 is, GPU supports D3D11_3 (e.g. GeForce 2080 series running on Win 7)
    3. OS knows what D3D11_3 is, GPU does not support D3D11_3 (e.g. GeForce 600 series running on latest Win 10)
    4. OS knows what D3D11_3 is, GPU supports D3D11_3 (e.g. GeForce 2080 series running on latest Win 10)
Because sizeof(HlmsMacroblock) would change, this feature should be added to Ogre 2.3 which hasn't yet been released (and 2.3 is already changing sizeof(HlmsMacroblock) )

There is no ETA but anyone is welcome to submit a PR. Difficulty to add this feature is beginner-friendly.

Cheers!
Matias
Hilarius86
Halfling
Posts: 51
Joined: Thu Feb 14, 2019 11:27 am
x 8

Re: DirectX 11.3

Post by Hilarius86 »

Thanks for the feedback. I guess I will give it a try some time in the future.