Charles Giessen
373fd55f6d
WIP: Codegen pNext features structs to remove UB
...
TODO:
Generate compare/merge dispatch to per struct types
pNext Chain holder that manages memory
2024-08-04 14:23:08 -05:00
charles-lunarg
b420029db1
Update to latest Vulkan-Headers
2024-07-02 11:57:40 -05:00
Charles Giessen
1f07cf1434
Add .cache to gitignore for clangd
2024-07-01 10:58:03 -05:00
Charles Giessen
96688de170
Add vulkan-hpp tests
...
Since the API can accept vulkan-hpp types in a few places, it is good to have
tests for those places. While the current test suite isn't exhaustive, it is
enough to get the ball rolling.
This PR also refactors some of the 'setup' logic for the tests into a separate
file so that the hpp tests can make use of them.
2024-07-01 09:54:16 -05:00
Charles Giessen
42cef2cd14
static_cast the sType to allow Vulkan-Hpp types to work
...
The add_required_extensions_features function is templated, allowing both
vulkan.h and vulkan-hpp types to be passed in. Due to recent changes in
the generic features struct code, this stopped working. By casting the
sType explicitely using static_cast, it restores usage of vulkan-hpp types.
2024-07-01 09:54:16 -05:00
charles-lunarg
500c17f5d0
Update to latest Vulkan-Headers
2024-06-18 10:16:23 -06:00
charles-lunarg
64fa0ebf56
Update to latest Vulkan-Headers
2024-06-13 10:40:49 -05:00
Charles Giessen
2d6f7dea0a
Add negative test for are_extension_feature_present
...
Didn't handle the case where some fields were supported but others weren't.
2024-06-13 10:25:28 -05:00
Charles Giessen
71a29a4b72
Make are_extension_features_present handle mismatched lists
...
The original implementation only worked if the requested features
had the same length. It'll now handle that properly.
2024-06-13 10:25:28 -05:00
n0F4x
fa75546109
Remove unnecessary feature checks
2024-06-13 10:25:28 -05:00
n0F4x
f238a7355f
Fix typos in function documentation
2024-06-13 10:25:28 -05:00
n0F4x
92dc597184
Add are_extension_features_present
to PhysicalDevice
2024-06-13 10:25:28 -05:00
Charles Giessen
91421d34b0
Set the sType for users to fix regression
...
Features 11, 12, and 13 structs used to set the sType manually for the user.
That was turned into an assert which inadvertently broke users code. This
is being reverted.
2024-06-13 09:21:58 -05:00
Imad Laggoune
fbad8786a4
[Change] Pass by Pointer to Pass by Reference
...
-Update all arguments in supports_features to be passed by reference rather then pointers.
-Make necessary changes for all calls to supports_features.
2024-05-29 11:48:22 +01:00
Imad Laggoune
cf2830cd32
Work Around for SEGFAULT in supports_features
...
-Turn every argument in support_features into const pointers.
-Change support_fueatures calls to match the new arguments.
-Add checks for nullptr.
2024-05-29 11:48:22 +01:00
Charles Giessen
8320b691f7
Rename parameter in enable_extension_features_if_present
...
Prevents shadowing warnings from annoying users.
2024-05-29 10:05:10 +01:00
charles-lunarg
c30cab593f
Update to latest Vulkan-Headers
2024-05-14 09:11:54 -06:00
charles-lunarg
1075574e09
Update to latest Vulkan-Headers
2024-05-07 17:03:01 -06:00
Charles Giessen
c9d94287a5
Add enable_features_if_present to PhysicalDevice
...
Allows users to enable features if they are present, getting back a bool
telling them whether the feature is supported and will be enabled on the
device.
Also:
* Removes redundant VkPhysicalDeviceFeatures2 struct in vkb::PhysicalDevice.
* Adds test copying of details when creating a VkDevice so that test can check
what features were actually enabled on the device.
* Creates GenericFeatureChain struct for managing pNext chains.
* Allow multiple calls to set_require_features by combining the fields
2024-04-26 16:02:25 -06:00
Charles Giessen
a78a7f38da
Assert that set_required_features sTypes are set
...
This allows the set_required_features_11/12/13 to take a reference instead
of a value. Applications should set the sType, vk-bootstrap shouldn't be
doing that for apps.
2024-04-26 16:02:25 -06:00
Charles Giessen
e186301249
Fix getting started docs using pointer instead of reference
...
add_required_extension_features takes a reference now, but the docs
indicated it took a pointer.
2024-04-26 16:02:25 -06:00
charles-lunarg
50b75222b2
Update to latest Vulkan-Headers
2024-04-23 09:46:43 -06:00
charles-lunarg
9f816ac215
Update to latest Vulkan-Headers
2024-04-15 18:55:24 -06:00
Charles Giessen
99e51d782e
Enable PIC dependent on BUILD_SHARED_LIBS
...
While vk-bootstrap is a static library, it needs to have PIC enabled
if BUILD_SHARED_LIBS is on so it can work with shared libraries.
2024-03-27 11:32:16 -05:00
charles-lunarg
a5950c0700
Update to latest Vulkan-Headers
2024-03-27 10:55:52 -05:00
charles-lunarg
01ef3217f7
Update to latest Vulkan-Headers
2024-03-11 21:21:29 -06:00
dependabot[bot]
66ffbb23bd
Bump peter-evans/create-pull-request from 4 to 6
...
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request ) from 4 to 6.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases )
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 13:05:48 -07:00
dependabot[bot]
30d294136d
Bump actions/setup-python from 2 to 5
...
Bumps [actions/setup-python](https://github.com/actions/setup-python ) from 2 to 5.
- [Release notes](https://github.com/actions/setup-python/releases )
- [Commits](https://github.com/actions/setup-python/compare/v2...v5 )
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2024-03-06 13:04:49 -07:00
Charles Giessen
72f45a22e2
Fix dependabot.yml to specify package-ecosystem as github-actions
2024-03-06 10:50:03 -07:00
Charles Giessen
50151234f5
Create dependabot.yml
...
Add depdendabot for updating actions automatically.
2024-03-06 10:45:24 -07:00
charles-lunarg
ac974854e6
Update to latest Vulkan-Headers
2024-03-06 10:37:43 -07:00
charles-lunarg
534e8bb76c
Update to latest Vulkan-Headers
2024-02-20 10:07:48 -06:00
Charles Giessen
8d61e51c8c
Fix dropped index in getting_started document
2024-02-14 14:26:04 -06:00
Charles Giessen
3849dafadb
Update getting_started.md
...
Include reference to add_required_extension_features and per-version feature enables.
Fix type with CustomQueueDescription.
2024-02-14 14:23:50 -06:00
Charles Giessen
a330227666
Use vulkan/vulkan_core.h instead of vulkan/vulkan.h
...
vulkan.h includes platform specific headers that cause non trivial build
overhead. Because vk-bootstrap doesn't make use of any platform specific
API's, it can move over to vulkan_core.h.
This *MAY* break users of the library who were depending on vulkan/vulkan.h
including other headers, like windows.h. But because the benefits outweigh
the drawbacks, it is a good change.
2024-02-12 09:48:56 -06:00
Charles Giessen
bc510bc421
Fix VK_BOOTSTRAP_INSTALL description string
2024-02-12 09:48:56 -06:00
Charles Giessen
c7e50426ba
Add alternate for deprecated desired extension functions
2024-02-11 11:18:56 -06:00
Mxr
eab517912c
Further fix
2024-02-05 21:16:15 -08:00
Mxr
df5d11fc25
Fix: dangling reference in the range-based for loop
2024-02-05 21:16:15 -08:00
charles-lunarg
2321c238d4
Update to latest Vulkan-Headers
2024-02-05 21:12:03 -08:00
sean
6119bfcb9a
Fix: Move objects/vectors where applicable
2024-01-30 10:06:25 -07:00
charles-lunarg
dd6c02e8ab
Update to latest Vulkan-Headers
2024-01-30 08:33:40 -07:00
Diamond-D0gs
0af4cb5055
implemented enable_extensions_if_present and tests
2024-01-18 15:15:00 -07:00
charles-lunarg
382259e32b
Update to latest Vulkan-Headers
2024-01-09 09:38:29 -07:00
Charles Giessen
51cbe62371
Add const case to parameter parsing in autogen
...
This was missing, causing errors in user code due to not preserving const
2023-12-29 11:26:50 -06:00
Charles Giessen
8e23c8afda
Manually guard vkCmdSetExclusiveScissorEnableNV
...
vkCmdSetExclusiveScissorEnableNV was added to an existing extension
in 1.3.241. Guard it against users with older headers.
2023-12-28 16:18:00 -06:00
Charles Giessen
25dc27c31c
Make destroy_* functions pass by reference
...
The destroy_instance and destroy_device functions should be passed by
const reference to make it consistent with other destroy functions.
2023-12-28 16:01:44 -06:00
charles-lunarg
605c3f1712
Update to latest Vulkan-Headers
2023-12-28 15:56:47 -06:00
Charles Giessen
3ad0388f1b
Workaround VK_EXT_discard_rectangles adding new functions
...
Generalize the mechanism to not enable function pointers based on the current header
version, due to VK_EXT_discard_rectangles adding functions not present in the original
extension.
2023-12-14 13:05:31 -07:00
Charles Giessen
ae05c97bdb
Create Vulkan::Headers if CMake version is too low.
2023-12-14 11:24:51 -07:00