-
Notifications
You must be signed in to change notification settings - Fork 27
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
Additional Flags to NRI init to disable features #30
Comments
I'm happy to help. But, please, explain a bit more your request. Something like:
|
@dzhdanNV I'd like to expand on what he might mean, because we're having a similar issue. Currently when we create NRI, it will assume all features are used. This basically results in querying all DirectX12 features, which fails when older windows versions are used (Windows 10 for example). It seems like all currently existing d3d12_feature_data_d3d12_options have to be present and options8 and up are Windows 11 only it seems. This means that dependencies such as NRD would get this requirement too if updated and that's not very desired, as that'd restrict usage for products as lots of customers still use Windows 10 (even I haven't switched yet, only on my other PC). |
I have already fixed this in my PR. It looks like you don't have the Agility SDK installed, so it just doesn't know about the new D3D12 feature options. |
Fixed in #33 |
I just wanted a way to disable raytracing, mesh shaders, and a couple other extensions. The default API checks what is available for the GPU and enables all of these? At the moment I'm just using the other API where it takes in a custom device. |
What do you mean by "enables"? If you are talking about extensions on Vulkan, an extension is only enabled if it is available on your GPU. In D3D12 there is thing called "feature data" which does not affect the feature set of the device, all features are enabled by default if your GPU supports them. In Vulkan, however, you need to add an extension string to enable them when you create a device. |
@pollend another question - are you "creating" device or "wrapping" it via |
I ended up using nriCreateDeviceFromVkDevice to just enable vulkan with the minimum set of extensions I would need. not sure if its worth having flags to disable extensions. in DeviceVK under CreateLogicalDevice; if the extension is supported then its added CreateDevice. If I'm never using |
I believe this is free. VK is super strict, but I just don't see any overhead on the driver side if RT is enabled but never used. Let me ask ;) |
I don't really have an immediate problem with this at the moment. I guess its better not to clutter the API. |
@pollend The next release will get
If RT extensions are disabled in VK, the memory usage matches D3D12, i.e. 66 Mb. So, it's worth pursuing. Thanks for bringing it up! |
@vertver good stuff |
for my use case when I create the nri device would it be possible to extend NriDeviceCreationDesc with flags to enable extensions. would be preferable if the init code assumed the minimum set of extensions?
The text was updated successfully, but these errors were encountered: