Comments (3)
Nvidia's own documentation claims that if we return NVAPI_D3D12_RAYTRACING_OPACITY_MICROMAP_CAP_NONE
from GetRaytracingCaps
, then
The application must not attempt to use any OMM entrypoints or flags.
So, no, we can't stub it and have the sample working if it tries to call SetCreatePipelineStateOptions
anyway because that sounds like a blatant violation of Nvapi docs. And actually implementing it would take much more than just some dxvk-nvapi changes, vkd3d-proton would have to support that as well. I have some WIP branches for that in my own forks (dxvk-nvapi, vkd3d-proton) but it doesn't work yet and will probably never be merged upstream unless there's a good reason for it, and right now there is none.
Is there any game that uses Nvapi OMMs out there? Because if not then there's no reason to spend more time on that other than having fun working on a toy project.
from dxvk-nvapi.
Hi,
thanks @Saancreed ..
seems didn't give much thought.. thanks for explaining..
anyway given you have given some time try on your own dxvk-nvapi and vkd3d-proton, just a question would you be interested to work on supporting the NVAPI D3D12 SER extension via the VK NV VK_NV_ray_tracing_invocation_reorder extension..
seems more "easy" to support being just a "hint" passed to RT pipelines from quick inspection..
also should be more useful in real world:
for example "Sackboy: A Big Adventure" supports that seems, and NV Path tracing SDK sample (in D3D12 mode) and perhaps Omniverse DX12(?)..
Portal RTX uses SER, I don't know if it's VK or DX12 since it uses DXVK but I believe it's in DX12 mode also?
from dxvk-nvapi.
You're welcome 🙂
anyway given you have given some time try on your own dxvk-nvapi and vkd3d-proton, just a question would you be interested to work on supporting the NVAPI D3D12 SER extension via the VK NV VK_NV_ray_tracing_invocation_reorder extension..
seems more "easy" to support being just a "hint" passed to RT pipelines from quick inspection..
It would be easier to support dxvk-nvapi and vkd3d-proton sides of the stack, but much harder to support in dxil-spirv which is where all the magic needs to happen. All we have to do is claim that SER is supported and have the application hand us DXIL blobs with NV extension opcodes. On the other hand, dxil-spirv would have to parse that and emit equivalent SPIR-V and I'm very much not knowledgeable enough to do that 😛
also should be more useful in real world:
for example "Sackboy: A Big Adventure" supports that seems, and NV Path tracing SDK sample (in D3D12 mode) and perhaps Omniverse DX12(?)..
I know that Cyberpunk 2077 also checks for SER support so there's a good chance it uses it when supported, but since we have some actual titles that could benefit from this, maybe it's a good enough reason to request support for it in vkd3d-proton's repo/issues? At best, one of the maintainers could look into implementing that and we could wire up nvapi side once that's done, at worst we would have an issue to keep track of such feature request until some Nvidia engineer contributes the code for it 😅
Portal RTX uses SER, I don't know if it's VK or DX12 since it uses DXVK but I believe it's in DX12 mode also?
There's no DX12 mode in Portal RTX, it ships with its own version of DXVK so it's effectively a native Vulkan application from Wine's point of view. It should already be able to take advantage of VK_NV_ray_tracing_invocation_reorder
on any device that supports it, with no extra work needed in dxvk-nvapi, in fact it even prints in the logs:
info: Device properties:
info: Device name: : NVIDIA GeForce RTX 4080 Laptop GPU
info: Driver version : 530.41.3
info: Enabled device extensions:
…
info: VK_EXT_opacity_micromap
…
info: VK_NV_ray_tracing_invocation_reorder
…
info: NVIDIA Ada architecture detected, setting default graphics settings to Ultra
info: [RTX info] Opacity Micromap: supported
info: [RTX info] Shader Execution Reordering: supported
info: [RTX info] Shader Execution Reordering: enabled
from dxvk-nvapi.
Related Issues (20)
- The Last of Us Part 1 needs more functions to be implemented HOT 6
- Unigine Superposition through dxvk: No Temperature shown with 0.6.2 HOT 3
- Enabling DLSS in Baldur's Gate 3 freezes the game HOT 13
- Support NVAPI D3D12 SER extension HOT 1
- DXVK-NVAPI Broken in Dead Space Remake HOT 42
- Call of Duty: Ghosts - Crash if I don't delete "APEX" folder HOT 18
- How can I use DXVK-NVAPI in windows? HOT 4
- [Question] How to get NVIDIA's "Supersonic Sled" PhysX tech-demo working with DXVK-NVAPI on Linux? HOT 5
- Screen corruption in Cyberpunk 2077 with GOG overlay HOT 9
- 100% repro crash in Shadow Warrior 3 HOT 4
- GPU Showing as "Low Power" in WoW HOT 6
- Cyberpunk 2077 doesn't start with NVAPI: crashes in nvngx HOT 9
- Witcher 3: Wild Hunt LatencyFlex isn't working on AMD GPU HOT 5
- Question HOT 6
- nvapi does not work in wine 9 with winewayland.drv driver enabled HOT 4
- Update wiki HOT 1
- nvapi doesn't work on Wine 9.x Wayland sessions.. HOT 2
- vk_streamline: Vulkan reflex support (frame limiter) fails to work HOT 1
- Enabling DLSS in War Thunder freezes the game HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dxvk-nvapi.