Charles Giessen
698be4e09b
Fixed linux wsi extensions being added erroneously
...
Previously, on linux all three windowing extensions would be added
(xcb, xlib, wayland) even if they weren't available.
Now, InstanceBuilder first makes sure they are present before
adding them.
Also added a new error code to represent the lack of wsi extensions
2020-05-19 10:44:40 -06:00
Charles Giessen
3bbc4831f5
Updated docs for error_code usage
...
Updated the documentation for using the new <error_code> based errors.
Also fixed an issue where SystemInfo wouldn't check if layers had a
debug_utils extension.
2020-05-18 23:50:24 -06:00
Charles Giessen
ef59478aa4
Merge pull request #31 from LesleyLai/master
...
Error handling with std::error_code. API BREAK.
2020-05-18 23:14:44 -06:00
Lesley Lai
df53490ede
Error handling with std::error_code
2020-05-17 09:19:12 -06:00
Charles Giessen
120a162264
Merge pull request #30 from kociap/master
...
Fixed detection of clang++ on windows
2020-05-14 08:41:26 -06:00
Piotr Kocia
3cc83cf6f8
Fixed detection of clang++ on windows
2020-05-14 08:21:10 -04:00
Charles Giessen
c79482c0b1
Updated the default image formats for the swapchain
...
Used to use UNORM, now uses SRGB.
2020-05-09 17:22:45 -06:00
Charles Giessen
8c6f900ce8
Fix typo in getting started guide
2020-05-07 23:15:26 -06:00
Charles Giessen
1b7f0889df
Fleshed out Queue section of getting started guide
2020-05-07 23:09:39 -06:00
Charles Giessen
a057ddbe2e
Expanded getting started page
2020-05-04 00:54:59 -06:00
Charles Giessen
1daf83f541
Made clang-cl use the right warning flags
2020-05-03 21:54:40 -06:00
Charles Giessen
5e5b446d41
Renamed swapchain error for missing surface.
...
Now its 'surface_handle_not_provided' instead of not_present.
More clear because you have to manually provide a surface handle, its
not implicitely created for you.
2020-04-21 12:14:25 -06:00
Charles Giessen
d99c378eea
Added new constructor to SwapchainBuilder
...
It is now possible to pass in a vkb::Device and a VkSurfaceKHR handle
into the swapchain builder, and it will correctly get the queue indexes
necessary to create a swapchain. This solved the 'delayed surface
initialization' problem
2020-04-19 17:59:32 -06:00
Charles Giessen
ace1ccf854
Explicit swapchain constructor no longer uses queue indexes
...
The second constructor for vkb::Swapchain now queries for the index of the
graphics and present queue by itself. This removes the need to users to
manually specify it and limits the strict dependency between swapchain
and the rest of the vkb structs (Instance & Device mainly)
2020-04-19 02:03:15 -06:00
Charles Giessen
959979b07a
Fixed missing setup for deferred surface init
...
It needed to add the surface extension and not check for present
support.
2020-04-19 00:52:31 -06:00
Charles Giessen
00b6a74aa8
Added docs/getting_started.md and updated readme
2020-04-19 00:42:57 -06:00
Charles Giessen
782840296c
Redid example code in readme to be more legible
2020-04-18 21:34:51 -06:00
Charles Giessen
1f462b42f3
Added many tests and fixed up api as a consequence
...
Added device::get_queue_families() to facilitate custom queue setups
get_swapchain_images() renamed to get_image(), made member function to
swapchain.
get_swapchain_image_views() renamed to get_image_views(), also moved to
member function of swapchain
fixed bug with headless instance not being correct
Stopped Catch2 from polluting the buildable targets
2020-04-18 21:24:59 -06:00
Charles Giessen
e906cfc093
Merge pull request #23 from LesleyLai/tests
...
Migrate to Catch2 & CMake file structural change
2020-03-26 11:21:28 -06:00
Lesley Lai
4483a5ee90
Migrate to Catch2 & CMake file structural change
2020-03-26 10:40:47 -06:00
Charles Giessen
d8ea155798
Merge pull request #22 from LesleyLai/master
...
Create alias cmake target
2020-03-25 13:15:41 -06:00
Lesley Lai
fa772cbeac
Create alias cmake target
2020-03-25 12:15:36 -06:00
Charles Giessen
a727a05635
Fixed EnumerateInstaceVersion using the wrong variable
2020-03-22 13:47:05 -06:00
Charles Giessen
c467c6c228
Fixed InstanceBuilder::request_validation_layers checking for extensions
2020-03-22 13:25:35 -06:00
Charles Giessen
b330527d65
Fixed default_debug_callback warning over unused formal paramter
2020-03-14 19:57:40 -06:00
Charles Giessen
505f9d91f9
Fixed msvc warnings
2020-03-11 21:26:41 -06:00
Charles Giessen
dde974d912
Fixed bugs in check_device_extension_support
2020-03-11 21:19:31 -06:00
Charles Giessen
bfcc4c6bfa
Touched up many components due to integration experience
2020-03-09 22:15:08 -06:00
Charles Giessen
4c91df1c12
Added a desired_api_version to InstanceBuilder and cleaned up the triangle example error handling.
...
Fixed several bugs in the PhysicalDeviceSelector code, causing erroneous failures.
2020-03-09 15:17:18 -06:00
Charles Giessen
1160b19a5c
Rename set_api_version to required_api_version and make the PhysicalDeviceSelector use the provided value as the required minimum for devices
2020-03-08 00:59:58 -07:00
Charles Giessen
bb312e8c92
InstanceBuilder now validates the apiVersion passed in and returns and error if the version is unsupported
2020-03-08 00:14:36 -07:00
Charles Giessen
40488fc7cd
Added defer_surface_initialization which allows skipping checking if a device and surface work together
2020-03-07 23:26:46 -07:00
Charles Giessen
3097f46074
Enabled warnings and fixes the warnings gcc/clang showed. Formatted CMakeLists.txt
2020-03-07 22:58:23 -07:00
Charles Giessen
10d9c2ee1b
Added const to builder functions and many other functions
2020-03-07 22:21:27 -07:00
Charles Giessen
5ae586b559
Created vk function pointer loading helper function
2020-03-07 21:57:49 -07:00
Charles Giessen
f389114811
Documented that features & extensions are propagated to DeviceBuilder
2020-03-07 17:36:55 -07:00
Charles Giessen
f74ee5e9fc
Ammended readme and moved around code for better readability
2020-03-07 17:19:58 -07:00
Charles Giessen
1014c836cb
Refactor of queue selection and getting
2020-03-07 17:02:01 -07:00
Charles Giessen
83fd58348b
Rename distinct queue functions and variables to seperate
2020-03-07 16:02:18 -07:00
Charles Giessen
6043129631
Renamed allow_fallback_gpu_type to allow_any_type and refactored implementation to be simpler
2020-03-07 15:48:52 -07:00
Charles Giessen
8a18c5a7ba
Added allocation callbacks
2020-03-07 15:33:17 -07:00
Charles Giessen
d29d8d0daf
Fixed several bugs in SystemInfo constructor
2020-03-07 15:08:00 -07:00
Charles Giessen
d58b099da8
Removed check_and_add functions for instance layers and extensions
2020-03-07 02:53:54 -07:00
Charles Giessen
9561e30373
added to_string helper functions for the error enums
2020-03-07 02:41:52 -07:00
Charles Giessen
0ed5ac8435
Replaced C style cast with reinterpret_cast
2020-03-07 02:14:59 -07:00
Charles Giessen
b183c05f45
Updated to_string_message_type to handle more than one category
2020-03-07 02:11:32 -07:00
Charles Giessen
e33cc3479b
Change function allow_fallback_gpu to allow_fallback_gpu_type
2020-03-07 02:06:11 -07:00
Charles Giessen
a4ab8e099d
Renamed many InstanceBuilder functions, added SystemInfo struct.
...
SystemInfo will be the way for users to know what is and isn't available on their system.
Currently, it only has booleans for if validation layers and debug messenger are available,
but more could be added in the future.
2020-03-07 01:46:25 -07:00
Charles Giessen
6933882f63
Got vk-bootstrap compiling on Windows and fixed class/struct inconsistency
2020-02-27 20:58:38 -07:00
Charles Giessen
6f0184bdbe
Made compute and transfer queues have distinct and dedicated options. This means you can choose between
...
whether you select a compute/transfer queue that can alias and one that cannot.
It is due to some hardware having dedicated compute or dedicated transfer but not both.
Also added some todo's for what to test.
2020-02-18 19:45:22 -07:00