Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Opacity Micromaps #125

Draft
wants to merge 13 commits into
base: master
Choose a base branch
from
Draft

Add support for Opacity Micromaps #125

wants to merge 13 commits into from

Conversation

Saancreed
Copy link
Collaborator

@Saancreed Saancreed commented May 19, 2023

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

Copy link

@adamdmoss adamdmoss left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, FWIW! I guess I'd want to actually try it out to be really confident though. 😆

@adamdmoss
Copy link

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.

@Saancreed
Copy link
Collaborator Author

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support Nvidia new OMM sample..
2 participants