Charles Giessen
0c459dca6f
Add new error condition for DeviceBuilder
...
If an application uses add_required_extension_features but also adds
a VkPhysicalDeviceFeatures2 to the pNext chain of VkDeviceCreateInfo,
this will now result in an error. The reason is that Vk-Bootstrap is
perfectly capable of adding VkPhysicalDeviceFeatures to the pNext
chain itself but only if the user didn't already add their own.
2023-01-12 16:07:43 -07:00
Charles Giessen
b36ede0f36
Handle multiple required extensions in generator
...
The XML added requirements which had multiple extensions be required.
This broke the existing autogen because it assumed there would only
be one extension required at a time. The fix is easy, split the
requirement string into a list then add it to the list of requirements.
2023-01-12 16:02:46 -07:00
charles-lunarg
833d07f5f9
Update to latest Vulkan-Headers
2023-01-12 15:57:05 -07:00
rogmatic
4462c56349
Fix graphics/present queue assignment
...
Fixed SwapchainBuilder second constructor, which had 'info.graphics_queue_index = present.value()' and 'info.present_queue_index = graphics.value()'.
2023-01-09 11:39:37 -07:00
Charles Giessen
b4b177170e
Revert "Update to latest Vulkan-Headers"
...
This reverts commit 679bc1970f
.
2022-12-28 16:27:03 -07:00
charles-lunarg
679bc1970f
Update to latest Vulkan-Headers
2022-12-28 16:22:08 -07:00
charles-lunarg
75ec283c37
Update to latest Vulkan-Headers
2022-11-08 11:02:57 -07:00
charles-lunarg
f46d329586
Update to latest Vulkan-Headers
2022-11-03 10:48:52 -06:00
Odilon Vatonne
6d0c3763cc
Remove unused phys_dev parameter
2022-10-28 15:33:33 -06:00
Odilon Vatonne
262ba0a857
Move situational code to lambda at call site and remove unused parameter warning
2022-10-28 15:33:33 -06:00
Odilon Vatonne
d90ca8755f
Remove format feature flag handling from SwapchainBuilder and more code comments
...
- format feature flags should not be used, as set_image_usage_flags is a better alternative
- split format search in two phases (desired / best)
- explain usage of is_unextended_present_mode for basic validation
2022-10-28 15:33:33 -06:00
Odilon Vatonne
73295fed0b
Revert behavior change with desired formats not being available
2022-10-28 15:33:33 -06:00
Odilon Vatonne
b9a98c61b3
Check image usage in SwapchainBuilder and stricter format feature verifications
2022-10-28 15:33:33 -06:00
Charles Giessen
706ffb6355
Change deafult composite alpha for Android
...
Android typically only supports the INHERIT bit. Easiest way to accomodate this
is to #ifdef ANDROID to use the INHERIT bit.
2022-10-10 09:55:35 -06:00
Charles Giessen
01de71738c
Pass Image Usage flags into Swapchain
...
This allows the image views to be created with the same usage flags as
the swapchain. This necessitated passing in version information down
the object creation chain because to add the usage flags requires 1.1
to be enabled.
2022-10-08 13:12:02 -06:00
Charles Giessen
14e5a557f7
Format error to_string functions
...
Use CASE_TO_STRING macro to make the to_string functions simpler.
2022-10-08 13:12:02 -06:00
Charles Giessen
ab52ad97a8
Move Result & Error out of the detail namespace
...
Since its a part of the public interface, it means applications using vk-bootstrap
will inevitably need to use the types in error handling paths.
2022-10-08 13:12:02 -06:00
charles-lunarg
789a24edb7
Update to latest Vulkan-Headers
2022-10-04 21:19:32 -06:00
charles-lunarg
5b15f6e881
Update to latest Vulkan-Headers
2022-09-15 11:48:34 -06:00
David Dubois
1fea63645a
Properly handle forward-declared structs
2022-08-28 12:13:08 -06:00
Matthew Pohlmann
00cf404e7b
Fix typo
2022-07-28 13:48:15 -06:00
Matthew Pohlmann
8d9aea9987
Swapchain stores the VkColorSpaceKHR actually used when creating swapchains so users can query the final value
2022-07-28 13:48:15 -06:00
charles-lunarg
f8573e117c
Update to latest Vulkan-Headers
2022-07-28 13:47:43 -06:00
Charles Giessen
aeed599098
Fix desired extensions not being enabled
...
Regression caused desired extensions to not be added to the device create info structure,
resulting in desired extensions not being enabled.
2022-07-16 11:49:26 -06:00
Matthew Pohlmann
80396093b4
Remove unnecessary explicit check for the partition index being physical_devices.end()
2022-07-07 22:10:26 -06:00
Matthew Pohlmann
97734970f0
Fix removal of unsuitable devices when using only_fully_suitable selection
2022-07-07 22:10:26 -06:00
charles-lunarg
e78a1822c1
Update to latest Vulkan-Headers
2022-07-05 11:19:16 -06:00
Yoan Lecoq
8251bdbeee
Apply suggested changes for PR #138
2022-06-21 12:38:26 -06:00
Yoan Lecoq
31408e0b9e
Add SwapchainBuilder::set_required_min_image_count(), following suggestions from PR #138
2022-06-21 12:38:26 -06:00
Yoan Lecoq
78ee4e67cd
SwapchainBuilder: Remove use_default_min_image_count(), introduce BufferMode enum
2022-06-21 12:38:26 -06:00
Yoan
f528fe33d6
SwapchainBuilder::use_default_min_image_count(): fix default parameter specified in function definition
2022-06-21 12:38:26 -06:00
Yoan Lecoq
5ac2b21dfe
SwapchainBuilder: provide some control over minImageCount
2022-06-21 12:38:26 -06:00
Charles Giessen
f847ab8566
Add exclusion list for alias in generator code
...
Some alias types are not pure promotional types, and need to be excluded from the
code which replaces types with their alias.
This may be a stopgap solution for a larger underlying problem of not being able to
determine if an alias is promoted or not.
2022-06-20 12:11:46 -06:00
charles-lunarg
fc880eb598
Update to latest Vulkan-Headers
2022-06-20 07:59:48 -06:00
Aelarion
b01b2b1d8e
Fix #129 with correct desired_flags test
2022-06-09 12:48:48 -06:00
Yoan Lecoq
74cac40817
SwapchainBuilder: expose present_mode and requested_min_image_count in the resulting Swapchain
2022-05-17 10:34:01 -05:00
charles-lunarg
8f39b12431
Update to latest Vulkan-Headers
2022-05-17 10:32:56 -05:00
Nicholaus Clark
2912c74ebf
Address review comments
2022-05-05 21:09:33 -06:00
Nicholaus Clark
adee12a0d9
Fix best practices warning when in VK 1.1 or higher
2022-05-05 21:09:33 -06:00
spnda
bf4e2f073b
Fix: portability_enumeration flag was not available before 1.3.208
2022-05-02 12:08:56 -06:00
Charles Giessen
c543dc104b
Support VK_KHR_portability_enumeration
...
Also cleanup some warnings in the tests.
2022-04-25 18:34:44 -06:00
charles-lunarg
62c075c16b
Update to latest Vulkan-Headers
2022-03-23 14:27:31 -06:00
Nicholaus Clark
4a2984ad68
Added pNext chain support for swapchain::get_image_views
2022-03-19 12:24:57 -06:00
Charles Giessen
65071da181
Enable VK_KHR_portability_subset if available
...
Makes it easy to use vulkan on macOS since vk-bootstrap will auto-enable it if
the extension is available.
This can be disabled by calling `disable_portability_subset`.
2022-03-01 21:17:10 -07:00
Charles Giessen
d3170c0657
Refactor physical device extension code to use std::string
...
Makes it harder for lifetime issues to appear since the extension strings are
owned by the PhysicalDevice class rather than assuming they are correct.
2022-03-01 21:17:10 -07:00
Charles Giessen
5f45b1019a
Allow apps to query devices based on the name
...
This lets applications see all the devices which meet a set of requirements
then pick whichever of these devices is most appropriate for them. The intent
is for applications that want to find all the suitable devices and let the
user of the application pick the physical device from a list.
2022-03-01 21:17:10 -07:00
Danderaion
f4d3f916f1
Fix desire_api_version broken by previous commit
2022-02-27 13:46:15 -07:00
Danderaion
f6c262c3ab
Add set_minimum_instance_version
...
Also deprecates InstanceBuilder::desire_api_version
and PhysicalDeviceSelector::set_desired_version
2022-02-27 13:46:15 -07:00
Danderaion
b7c2ddd8e5
Forward required/desired API versions to PhysicalDeviceBuilder
...
Desired version is called max_api_version, since valid Vulkan
program is not allowed to use features from any higher version.
2022-02-27 13:46:15 -07:00
Danderaion
0fa1dd8e20
Allow desiring higher api versions
...
Allows applications to desire_api_version that is
higher than available instance version.
2022-02-27 13:46:15 -07:00