Nabla
Nabla copied to clipboard
Logical device features
Examples PR: https://github.com/Devsh-Graphics-Programming/Nabla-Examples-and-Tests/pull/15
- Improving Feature/Extension Selection and Report API
- Maintenance and general plumbing
Features and Extension API
Priorities
- [x] Enable features on Logical Device by "editing" a physical device feature struct and passing that to creation
- [x] Change Format report structures (https://github.com/Devsh-Graphics-Programming/Nabla/pull/357#issuecomment-1158094820)
- [x] Implicit dependency "patcher" which enabled features required by other required features
- [x] PhysicalDevice chooser class/struct/func
- [ ] drawParameters extention and fix for Vulkan and GLES (https://discord.com/channels/593902898015109131/932586232591024128/934485710193459251)
- [x] https://discord.com/channels/593902898015109131/936526907648925706/972634976422076476 https://github.com/Devsh-Graphics-Programming/Nabla/pull/357#issuecomment-1158094820 https://github.com/Devsh-Graphics-Programming/Nabla/pull/357#issuecomment-1153776059
- [ ] GLSL compiler + debug callback should probably move out of IPhysicalDevice to ILogicalDevice
- [ ] this method should be removed https://github.com/Devsh-Graphics-Programming/Nabla/blob/logical_device_features/include/nbl/video/IPhysicalDevice.h#L532
- [ ] Move getExtraGLSLDefines to logical device (+ other queries for feature availability)
- [x] Move this to CVulkan files https://github.com/Devsh-Graphics-Programming/Nabla/blob/logical_device_features/include/nbl/video/SPhysicalDeviceFeatures.h#L1269
Fixes/Improvements
- [ ] NBL_ENUM_ADD_BITOPS (make sure the ops return core::bitflag)
- [ ] Screenshot Changes
- [ ] wait semaphore (https://github.com/Devsh-Graphics-Programming/Nabla/pull/219#discussion_r800543586)
- [ ] add convert filter
- [ ] add flip image option
- [ ] dst access mask (https://github.com/Devsh-Graphics-Programming/Nabla/pull/219#discussion_r800546866)
- [ ] freeCommandBuffers_impl (see this)
- [ ] CGLTF DerivativeMap normalization factor and builtin shader changes (consider normalization + push_constants in a nice struct)
- [ ] Const-Correctness of IGPURenderpassIndependentPipeline constructor parameters
- [x] Add
EAF_NONE
(access flags)
Examples
- [ ] Finalize Porting Example 0.ImportanceSampling
Acceleration Structures
- [ ] Compaction Example and in AssetConverter
- [ ] Use bitflags for accelerationStructure flags now
Nice, readable.
My work here is done.
Just rework the IMPLICIT ENABLE:
and make that happen before you start messing with Vulkan structs but not in the general headers (since each backend will have different dependency chains).