Commit Graph

321 Commits

Author SHA1 Message Date
Charles Giessen
6bf383778b Don't pass an instance in for pre-instance functions.
A recent loader change results in NULL being returned for pre-instance functions
if the instance handle passed into vkGetInstanceProcAddr isn't NULL. This was
reverted but going forward this change will require updating applications.
2021-12-08 15:49:44 -07:00
Charles Giessen
e761a6f67b Update Catch2 to v2.13.7 2021-12-07 15:10:32 -07:00
sean
8c8694f441 Add InstanceBuilder functions for setting the different versions directly 2021-10-16 17:25:28 -06:00
sean
fb8a48779d Only add physical device properties 2 extension if using Vulkan 1.0 2021-10-13 15:34:53 -06:00
Vibi Manx
5140be1d4d Only fields need to be memset. 2021-09-10 22:54:17 -06:00
Vibi Manx
ad394dce69 Replaced reinterpret cast with memcpy in GenericFeaturesPNextNode. 2021-09-10 22:54:17 -06:00
spnda
f5f9b54f38 Add user-defined conversion operators 2021-09-10 14:29:40 -06:00
Andreas Pokorny
81f542e119 also fix typo in example and tests 2021-09-06 15:10:59 -06:00
Andreas Pokorny
a394a862bd fix minor typos and duplicate include paths 2021-09-06 15:10:59 -06:00
Charles Giessen
8922a41bd4 Fix a few nits 2021-08-09 01:10:13 -06:00
Charles Giessen
0408041547 Add brief documentation on which window extensions are used 2021-07-18 15:01:51 -06:00
Cody Goodson
c05a277572 Added noexcept and NDEBUG guard. 2021-06-16 10:52:07 -06:00
Cody Goodson
c66158e87c Small cleanup.
- Replaced GenericFeaturesPNextNode's set function with a template constructor.
- Moved validation asserts for extension feature structs into source.
- Dispatch table now generates in UTF-8.
2021-06-16 10:52:07 -06:00
Charles Giessen
867376d01e Move debug callback into header and allow adding user pointer 2021-06-14 15:17:37 -07:00
Charles Giessen
e511dfdbf9 test: Add 1.0 test for feature config selection 2021-06-10 10:06:14 -07:00
Charles Giessen
244a44da51 Guard vkGetPhysicalDeviceFeatures2 behind instance version
Also make it so that instance extensions are queried in the instance only.
2021-06-10 10:06:14 -07:00
Charles Giessen
f422497cca Remove stray semicolon 2021-06-10 10:06:14 -07:00
Charles Giessen
05683f6b6b Call KHR version of get phys dev properties if necessary
Previously, vk-bootstrap didn't support calling vkGetPhyicalDeviceFeaturesKHR
on devices which support the extension. This makes vk-bootstrap more amenable
to 1.0 only hardware, like rasberry pi's.
2021-06-10 10:06:14 -07:00
Cody Goodson
f955777c8a Cleanup 2021-06-08 14:03:47 -07:00
Cody Goodson
f49032f804 Internal table change.
- Internal tables are now populated through internal vkGetDeviceProcAddr rather than through passed dispatch table
- Device now has its own internal table as well.
- Cleaned up get_proc_addr functions and removed internal functions that are now held in a types internal tables.
2021-06-08 14:03:47 -07:00
Cody Goodson
7bd3fcae56 Make const. 2021-06-08 14:03:47 -07:00
Cody Goodson
0f307e06e8 Removed commented out lines. 2021-06-08 14:03:47 -07:00
Cody Goodson
f5d3061043 Added optional dispatch table usage to swapchain. 2021-06-08 14:03:47 -07:00
Cody Goodson
87a63e942c Fixed a bug where user provided vkGetInstanceProcAddr pfn's were being ignored. Cleaned up un-needed locks. 2021-06-06 21:22:50 -07:00
Charles Giessen
b3fdd554b4 Add vkb::destroy_surface helper function 2021-06-06 13:25:08 -07:00
Cody Goodson
10d88ae840 Reverted back to dispatch table creation function in device type
- Added noexcept modifier to proxys
- Change name of header to VkBoostrapDispatch.h
2021-06-06 12:49:23 -07:00
Cody Goodson
2c0fe72ad9 Shorthand populated init 2021-06-06 12:49:23 -07:00
Cody Goodson
b963aeb94b Added populated function to gen and exception handling to vk.xml fetch. 2021-06-06 12:49:23 -07:00
Cody Goodson
6eefc9c7e2 Added dependency prompt/exception handling. 2021-06-06 12:49:23 -07:00
Cody Goodson
a61e221d59 Trimmed branching in script and modified usage in core lib. 2021-06-06 12:49:23 -07:00
Cody Goodson
dd1df1396c Forgot to remove const ref 2021-06-06 12:49:23 -07:00
Cody Goodson
45419be295 Removed old unused vars 2021-06-06 12:49:23 -07:00
Cody Goodson
63d252e828 Rework complete. 2021-06-06 12:49:23 -07:00
Cody Goodson
ae402c6a19 Function loading is working again and now handles collections of requirements. Only header gen is left. 2021-06-06 12:49:23 -07:00
Cody Goodson
88358fb9cf In progress rework 2021-06-06 12:49:23 -07:00
Cody Goodson
cd0959f37e Make proxys const. 2021-06-06 12:49:23 -07:00
Cody Goodson
85b17b40e7 Removed unneeded private. 2021-06-06 12:49:23 -07:00
Cody Goodson
03258bfab2 Simplified parsing text modifiers in proxy generation and fixed extension function proxys not being generated. 2021-06-06 12:49:23 -07:00
Cody Goodson
f091c5a4a4 Forgot to flag as const 2021-06-06 12:49:23 -07:00
Cody Goodson
5c5b8dad34 Cleanup + license/info. 2021-06-06 12:49:23 -07:00
Cody Goodson
8dc3c2aeee Proxys added to autogen. Updated test. 2021-06-06 12:49:23 -07:00
Cody Goodson
2445eb0b28 Loading looks good, but requires passing Device still; 2021-06-06 12:49:23 -07:00
Cody Goodson
d8c6fe42b8 Handling extensions + incorporating DispatchTable into main src
- which means rewriting almost the entire script..
2021-06-06 12:49:23 -07:00
Cody Goodson
a0a0738299 Header generation is working
- No loading yet
2021-06-06 12:49:23 -07:00
Cody Goodson
b06763b187 In progress dispatch gen 2021-06-06 12:49:23 -07:00
Yves BOYAdjian
a014a5a030 Right test in SystemInfo constructor 2021-06-04 13:28:35 -06:00
Charles Giessen
bae94d9f47 example: Load vkDestroySurfaceKHR correctly.
vkDestroySurfaceKHR needs to be loaded with vkGetInstanceProcAddr, not vkGetDeviceProcAddr.
2021-05-21 14:04:28 -06:00
Charles Giessen
ab60522c9b Format internal queue selection functions 2021-05-21 14:04:28 -06:00
Charles Giessen
70265d8b29 Assert in SwapchainBuilder on queue getting failure
This resolves the TODO about what to do if the queues couldn't be found.
2021-05-21 14:04:28 -06:00
Charles Giessen
84ba7a79ee Document constructors for SwapchainBuilder
Specifically done for the 3rd constructor which will query the necessary
queues when they are not provided
2021-05-21 14:04:28 -06:00