Comments (5)
Unfortunately, vk.xml does not specify any defaults.
And I don't see, how one could derive some default that's more meaningful than just zero. I would have expected that value to be supported on every platform, at least as a value with some special meaning.
from vulkan-hpp.
Yeah, that makes sense. Unfortunately, as a default, it's not valid at least on this hardware.
from vulkan-hpp.
During the last Khronos Vulkan DevU event the idea came up to something like a 'vk_defaults.xml' file where one could define multiple useful default parameters for CreateInfo structs. This file could be used to create a factory library which would allow you to write something like:
foo::createComponentMapping(foo::ComponentMapping::RGBA)
or
foo::createComponentMapping(foo::ComponentMapping::BGRA
The idea is to have reasonable defaults for all objects where applicable with the option for developers to define their own default values.
One question which comes up if Vulkan-Hpp should use this file too for the default values. Since this will affect source code compatibility unfortunately I'd have to say no.
from vulkan-hpp.
@mtavenrath That's an awesome idea.
If you are worried about source code compatibility, I guess I could relate. But:
1/ Bump major version?
2/ It hasn't been a problem in the past? (major changes to header breaking existing code)
3/ Make it optional?
from vulkan-hpp.
Default values should be implemented outside of Vulkan-Hpp in a factory-like utility library. Closing.
from vulkan-hpp.
Related Issues (20)
- Do you use the feature number= XML attribute? HOT 2
- PR 1829 causes build failures on 32-bit builds HOT 3
- getSurfaceSupportKHR function dont have vk::raii::SurfaceKHR as an argument HOT 2
- throwResultException in public API HOT 5
- [Question] Program terminated when throwing a customized exception in validation layer callback HOT 8
- Provide move constructor and move assignment to vk::handles HOT 5
- device.resetFence returning vk::Result even with exceptions enabled HOT 7
- VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL and vulkan.cppm don't mix HOT 2
- Bug in CppType HOT 3
- vulkan_structs.hpp fails to compile on FreeBSD with -std=c++2b HOT 3
- How to create device on heap with vk::raii with NO_EXCEPTIONS enabled? HOT 2
- vk::su::createInstance() in Utils.cpp needs parameter for flags to support VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME HOT 1
- Documentation: macOS with SIP, DYLD_LIBRARY_PATH is problematic
- Inconsistent behavior from ArrayWrapper1D's equality operator HOT 1
- Build Failure (Windows 11, VS 2022) HOT 2
- Question: VulkanHpp VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC usage with VulkanMemoryAllocator HOT 1
- Feature request: appending to a StructureChain HOT 4
- compilation error when including vulkan_enums.hpp by itself HOT 2
- Allow destructuring of ResultValue with std::tie HOT 2
- Including `vulkan.hpp` causes compilation error with Clang HOT 5
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 vulkan-hpp.