dxvk-nvapi icon indicating copy to clipboard operation
dxvk-nvapi copied to clipboard

Add support for Opacity Micromaps

Open Saancreed opened this issue 2 years ago • 2 comments

A rough proof-of-concept that gets at least some parts of OMMs working.

image

Needs to be combined with https://github.com/Saancreed/vkd3d-proton/tree/nvapi-omm and therefore will remain a draft for the foreseeable future. Used interfaces should not be considered stable.

Still, I'm posting this for some visibility, maybe one day we will actually find any game that makes use of this that doesn't just call SetCreatePipelineStateOptions(NVAPI_D3D12_PIPELINE_CREATION_STATE_FLAGS_ENABLE_OMM_SUPPORT) only to never actually build any micromap like Cyberpunk 2077 v1.62 seems to do.

Closes #123

Saancreed avatar May 19 '23 21:05 Saancreed

maybe one day we will actually find any game that makes use of this that doesn't just call SetCreatePipelineStateOptions(NVAPI_D3D12_PIPELINE_CREATION_STATE_FLAGS_ENABLE_OMM_SUPPORT) only to never actually build any micromap like Cyberpunk 2077 v1.62

I'm not exploiting privileged information but the OMM usage situation may be better with more recent Cyberpunk 2077 versions.

adamdmoss avatar Sep 16 '24 02:09 adamdmoss

I'm not exploiting privileged information but the OMM usage situation may be better with more recent Cyberpunk 2077 versions.

Yup, I've noticed Cyberpunk 2077 actually using OMMs since around Phantom Liberty update. I have verified that this code does work with the game (as in, it successfully uses micromaps in its pipeline and does not explode), or at least it did a few months ago, but unfortunately I was unable to notice any performance gain in its built-in benchmark on my GeForce RTX 4080 Mobile.

Saancreed avatar Sep 16 '24 07:09 Saancreed