dangerkangaroo
21e400cfcc
Fix breaking bug with features not being populated from VkGetPhysicalDeviceFeatures2
2021-04-18 14:04:27 -06:00
dangerkangaroo
0a397a33d5
Added generic feature polling/matching/enabling.
2021-04-18 14:04:27 -06:00
Charles Giessen
23dcdd59bf
example: Add config file to locate shaders
...
The example triangle now will have a absolute filepath to the shaders.
This allows running the exe from directories other than the location of the shaders in the filesystem.
Alternative solutions would be to copy/paste the shader binary into the source code.
2021-04-16 10:30:04 -06:00
SpaceIm
82459b10c0
add VK_BOOTSTRAP_WERROR option in README
2021-04-16 09:43:29 -06:00
SpaceIm
6bb00bf694
add an option to enable warnings as errors
2021-04-16 09:43:29 -06:00
dangerfen
ef02739a10
Added macro guard.
2021-04-07 19:26:59 -06:00
dangerfen
1b6e09a04a
Fixes bug with 1.1/1.2 features not being appended to the pNext chain properly.
2021-04-07 19:26:59 -06:00
Mehmet Oguz Derin
903fdfe87b
Compare against feature flags
2021-04-06 15:04:24 -06:00
Mehmet Oguz Derin
617123254a
Compare against feature flags
2021-04-06 15:04:24 -06:00
Mehmet Oguz Derin
8d4ac0db50
Check usage flags when iterating desired formats
2021-04-06 15:04:24 -06:00
Charles Giessen
470ad2c980
CI: Enable manually running CI on PR's
...
Disabling CI from automatic starting on PR's doesn't mean there is a big button to manually do it. Seems this should add a big button.
2021-04-06 13:22:33 -06:00
Charles Giessen
d5d2d6d15e
Stop CI from running on Pull Request
...
This is my mitigation against site-wide attacks. vk-bootstrap is a low update repo, so its fine to only trigger CI on demand.
2021-04-05 13:49:58 -06:00
Ali Emre Gülcü
85aac8d51c
Fixed a typo on README.md about dependencies
2021-03-30 09:51:56 -06:00
Charles Giessen
151c76d1cc
Add selection by and enableing 1.1 and 1.2 features.
...
Users can now ask for physical devices which support a specific 1.1 and 1.2
feature. VkBootstrap will then add the selected features to the enable list
in device creation.
2021-03-29 13:23:27 -06:00
Charles Giessen
94ebc3e9a1
Update Readme to include build options
...
VK_BOOTSTRAP_TEST and VK_BOOTSTRAP_VULKAN_HEADER_DIR are now listed in a nice table.
Update readme to specify its a C++14 library
2021-03-02 09:47:31 -07:00
Charles Giessen
4211068f10
cmake: Add VK_BOOTSTRAP_VULKAN_HEADER_DIR build option
2021-03-02 09:11:23 -07:00
Charles Giessen
07ae8845a7
test: Use VK_NULL_HANDLE to enable 32 bit builds
2021-03-02 09:11:23 -07:00
Charles Giessen
0c29d98362
cmake: Don't require vulkan in order to build
...
find_package is used to try to find the Vulkan-Headers, and if they aren't
present, it downloads them with fetch content. This way users don't need
vulkan 'installed' on their system, specifically for windows users.
It also changes the tests to load all the necessary function pointers, that
way we don't need to find the vulkan loader to build the tests.
2021-03-02 09:11:23 -07:00
Charles Giessen
15ae056542
test: Add windows builds to ci
2021-03-02 09:11:23 -07:00
Charles Giessen
860389249f
test: add github actions for linux builds
2021-03-01 13:46:49 -07:00
SpaceIm
55b0e4e4ad
add install target
2021-03-01 13:17:09 -07:00
SpaceIm
5109ef1d02
link to the library containing dlopen/dlclose
2021-03-01 13:17:09 -07:00
SpaceIm
ae3eaaf754
vk-boostrap requires C++14
2021-03-01 13:17:09 -07:00
Charles Giessen
cf8df11a0a
Change clang-format to not add spaces before parens
2021-02-18 13:26:43 -07:00
Charles Giessen
3ebe53bdfe
Add full_error() function to Result for easier printing of errors
...
Comment the various error functions in Result
2021-02-18 13:26:43 -07:00
Charles Giessen
4120362762
Use uint32_t in Queues everywhere, add QUEUE_INDEX_MAX_VALUE as sentinel
...
This commit removes the many casts from int to uint and back, as -1 was used
as a sentinel value. Because thats confusing and leads to many casts
everywhere it was decided to add a sentinel value and compare everything
to that to determine if a queue index is valid or not.
2021-02-18 13:26:43 -07:00
Charles Giessen
daf244d180
Make SwapchainBuilder constructor take allocation callbacks from device
2021-02-18 13:26:43 -07:00
Charles Giessen
bfc0f06de0
Run clang format on src/VkBootstrap.h
2021-02-18 13:26:43 -07:00
Charles Giessen
bcc8e6f664
Add defaults in comments for SwapchainBuilder
2021-02-18 13:26:43 -07:00
Charles Giessen
c71a5b5fd8
Guard NOMINMAX
...
mingw64 defines it by default, this prevents multiple definition warnings/errors
2021-02-18 13:26:43 -07:00
Charles Giessen
81f5b31cb3
Add include(FetchContent)
to readme
2021-01-09 21:49:58 -07:00
Charles Giessen
ac945e8aa3
Changed the error printf to std::cerr
2020-12-23 15:32:21 -07:00
Charles Giessen
9a1b5f3a53
Fixed up code for example code in README.md
...
Fixed a typo and used std::cerr instead of printf
2020-12-23 15:18:51 -07:00
Charles Giessen
c02642843c
Fix crash due to vector initialization using wrong constructor
...
Because VkImageView is a uint64_t, not a strong type, the constructor
thinks the .size() is a value to initialize with, not a size.
2020-12-17 01:43:39 -07:00
Charles Giessen
af5409fcea
Fix errors which caused win32 builds to fail
...
The debug_callback_messenger didn't use the VK_API macros and there
were a few places that compared VkHandles to nullptr which weren't liked.
2020-12-17 00:46:08 -07:00
Charles Giessen
325cdff399
Correct macOS surface extension.
...
The extension name is VK_EXT_metal_surface, not KHR
2020-11-20 16:33:22 -07:00
Charles Giessen
947afe55c0
Add default gotten queues test for swapchain builder
2020-10-26 13:21:59 -06:00
Charles Giessen
988c0ea4e4
Make swapchain builder find queues if none were provided
2020-10-26 13:17:52 -06:00
Charles Giessen
e2a09c9b35
Update readme for clarity and include FetchContent
...
Add info on how to use vk-bootstrap with FetchContent
Detail needing to link to the dynamic linker on unix platforms.
2020-10-26 11:24:57 -06:00
Charles Giessen
d314069e1a
Fix linux surface extension bug, make destroy_debug_utils_messenger public
...
Making the destroy_messenger public allows code to store the handle directly and
delete it themselves instead of having to hold onto a vkb::Instance, which requires
including the header.
2020-10-21 15:32:10 -06:00
Charles Giessen
6e50441f41
Re-added swapchain constructors from individual handles.
...
Allows people to use Swapchain Builder withtout holding onto the vkb::Device
handle. Also made patch levels optional since they generally don't matter.
2020-10-21 13:25:48 -06:00
Charles Giessen
6657593fa3
Fixed static initialization of VulkanFunctions
2020-09-26 12:15:40 -06:00
Charles Giessen
812ce2cf0a
Dynamically load vulkan instead of statically link.
...
Make vk-bootstrap capable of loading the vulkan runtime and not need to
link against the library. This improves the usability of vk-bootstrap since
now you don't need the vulkan library on your system to build.
This commit also changes how SystemInfo works so as to allow the dynamic
vulkan loading.
2020-08-10 23:38:26 -06:00
Charles Giessen
511cac8db4
Fix license, add it to source, fix readme.
...
Delete .gitmodules, update readme to mention that enabling testing
automatically gets the dependencies, no more git submodules.
Add license to top of source files.
2020-06-10 13:39:14 -06:00
Charles Giessen
5e2b9e6827
Removed submodules, replaced with cmake fetch
...
This means that only if you ask for tests explicitely will
glfw and Catch2 be gotten, eliminating accidental submodule
recurses.
2020-06-08 17:30:29 -06:00
Charles Giessen
bbe3971a04
Document proper swapchain recreation practice
...
Make the example not leak the old swapchain handle upon recreation.
vkb::destroy_swapchain doesn't null out the old handle.
2020-06-08 17:03:36 -06:00
Charles Giessen
d169f3e32d
Updated docs to include device and swapchain deletion.
...
Fix example triangle to properly exit if swapchain recreation fails.
2020-06-08 15:40:33 -06:00
Charles Giessen
8a053cadc3
Polished SwapchainBuilder. Redid swapchain recreation.
...
To recreate a swapchain now requires making a new SwapchainBuilder or
keeping the old one around. Removed the recreate function since its
purpose was unclear. Introduced set_old_swapchain to allow recyling the
old swapchain. Updated documentation and getting started guide.
2020-06-08 14:28:32 -06:00
Charles Giessen
e2c65e7ec1
Add some SwapchainBuilder options.
...
Now able to set the image usage flags, the array layer count, and whether
to clip the swapchain or not.
2020-05-26 13:33:40 -06:00
Charles Giessen
a806c367f3
Added window titles for tests
2020-05-19 11:10:50 -06:00