Commit Graph

66 Commits

Author SHA1 Message Date
Charles Giessen dec1fcac60 Remove hasing of unknown functions
Use a simple linear search instead. This greatly simplifies the logic and
reduces the places for the logic to go awry.
2022-03-14 23:31:26 -06:00
Mike Schuchardt d9792bc944 build: Update to header 1.3.207
- Update known-good
- Generate source
2022-03-08 10:32:42 -08:00
Mike Schuchardt b033c4117b build: Update to header 1.3.206
- Update known-good
- Generate source
2022-02-18 10:04:25 -08:00
Mark Young 4e6194bf5b Update loader VUID messages
Update the loader VUID messages that were added in validating handles
so that thye include the validation flag when going through debug utils
messenger.
2022-02-09 13:19:48 -07:00
Mike Schuchardt 3b768f1b31 build: Update to header 1.3.205
- Update known-good
- Generate source
2022-02-07 10:26:31 -08:00
Kevin McCullough cbc39df8fd Add VK_NN_vi_surface to WSI extension names array 2022-01-25 19:34:27 -07:00
Mike Schuchardt 4e9676fb0e build: Update to header 1.3.204
- Update known-good
- Generate source
2022-01-25 10:54:13 -08:00
Mark Young 60386cb67f Fix loader phys dev termin for physical device extensions.
Fix some loader terminator functions for instance physical device
functions (that were pre-Vulkan 1.1).  At that point in the API, we
didn't treat VkPhysicalDevices like VkDevices.  Now, you must first
query the device for extension support for even VkPhysicalDevice calls.
Back then, the loader had to emulate the functionality.

Added tests to validate many of these functions.
2022-01-07 16:56:38 -07:00
Mike Schuchardt a4f9f284e2 build: Update to header 1.2.203
- Update known-good
- Generate source
2021-12-20 08:46:42 -08:00
Mike Schuchardt 681903cf53 build: Update to header 1.2.202
- Update known-good
- Generate source
2021-12-07 10:25:37 -08:00
Mike Schuchardt 3309dd2008 build: Update to header 1.2.201
- Update known-good
- Generate source (version bump only)
2021-12-01 09:54:01 -08:00
Mike Schuchardt 6922adeadd build: Update to header 1.2.200
- Update known-good
- Generate source (version bump only)
2021-11-29 10:17:35 -08:00
Mark Young 035140a542 Update loader to include handle validation
Validate the Vulkan dispatchable handles (VkInstance, VkPhysicalDevice, etc) for
any trampoline functions the loader uses to query the dispatch table from.
This is so we can at least report errors before something bad happens.

Also, add tests to the test framework to catch this case.  Right now they simply
check to make sure we aborted, but they don't know why the loader aborted.
Eventually, we need to come back and check the loader messages and make sure it
aborted for the reasons we want.

Fix a generator warning in dispatch_table_helper_generator.py where a compare was
the wrong type.

Fixes GH Issue #64.
2021-11-19 10:32:13 -07:00
Mike Schuchardt 160725a09f build: Update to header 1.2.199
- Update known-good
- Generate source (version bump only)
2021-11-16 11:22:26 -08:00
Mike Schuchardt 4070036567 build: Update to header 1.2.198
- Update known-good
- Generate source (version bump only)
2021-11-09 11:40:47 -08:00
Mike Schuchardt 97ee5b6abc build: Update to header 1.2.197
- Update known-good
- Generate source
2021-11-03 09:21:38 -07:00
Mike Schuchardt 7f96dac401 build: Update to header 1.2.196
- Update known-good
- Generate source
2021-10-14 10:12:55 -07:00
Mike Schuchardt 04854c881a build: Update to header 1.2.195
- Update known-good
- Generate source
2021-10-05 11:20:01 -07:00
Mike Schuchardt 1cd1d9ba5c build: Update to header 1.2.194
- Update known-good
- Generate source
2021-09-28 11:44:36 -06:00
Charles Giessen 5a1a5c3aa7 build: Set DLL version automatically
The loader.rc file was used to set the version used in the loader. However,
this was always done manually (either by hand or a script to edit the file).
This commit makes the version number needed generated automatically based on
the current generated header version or uses a provided version, such as in
the case of SDK builds with a 'build revision', eg "1.2.191.2".

This commit also renames the atrosciously named
loader_generated_header_version_generator to a nicer
loader_versioning_generator.
2021-09-24 11:47:30 -06:00
Mike Schuchardt 22c075d774 build: Update to header 1.2.193
- Update known-good
- Generate source
2021-09-21 10:49:42 -07:00
Mike Schuchardt 9c2305b2fc build: Update to header 1.2.192
- Update known-good
- Generate source
2021-09-15 09:41:50 -07:00
Charles Giessen 74c60eac02 build: Use generated source everywhere
The previous commit that added a generated header version didn't apply
it to mac or linux specific versioning. This commit fixes that.
2021-09-09 13:46:18 -06:00
Charles Giessen c084d162eb loader: Make _GNU_SOURCE a cmake definition
Moves the many instances of #define _GNU_SOURCE into a single cmake call which
sets the macro in all translation units for the vulkan library. This way it
cannot be forgotten and makes behavior across the library consistent.
2021-09-09 11:28:56 -06:00
Mike Schuchardt c5e1ad9239 build: Update to header 1.2.191
- Update known-good
- Generate source
2021-09-08 15:22:33 -07:00
Charles Giessen 9e2020f8fe scripts: Remove loader_icd_init_entries duplicate
Seems to be a copy-paste error that makes the function declaration appear twice.
2021-08-30 13:10:33 -06:00
Mike Schuchardt 8b4150acd5 build: Update to header 1.2.190
- Update known-good
- Generate source
2021-08-30 09:17:43 -07:00
Mike Schuchardt 9135c7f475 build: Update to header 1.2.189
- Update known-good
- Generate source
2021-08-17 12:55:15 -07:00
Charles Giessen f677db09a7 loader: Make use of a generated header version
This changes the loader to always set the version to the one which was used when
generating the source files that are checked into the repo, instead of using the
version gotten from the Vulkan-Headers find cmake file.

Change-Id: Id0955ddfd10e35e0f358f5a77799d8baa4992b04
2021-08-11 15:17:20 -06:00
Mark Young 1cc8fb0cf3 Fix loader_log messages to use LOADER_ log levels
The loader_log messages were using the DEBUG_REPORT log levels
which just happened to coincide with the existing LOADER_ log levels.
Going forward, to add layer logging in its own level, this would not
have worked.
2021-08-10 12:10:47 -06:00
Mike Schuchardt cd7e2e9775 build: Update to header 1.2.185
- Update known-good
- Re-enable code generation for VK_HUAWEI_subpass_shading
- Generate source

Change-Id: I6607e1de097d1b8a2f631cd1f11b088204b8bb3a
2021-07-20 15:29:56 -06:00
Mike Schuchardt cc3faa040b build: Update to header 1.2.184
- Update known-good
- Generate source

Change-Id: Ib2cfed88095541a127c23cf7418e9a66d81bd35e
2021-07-06 14:00:46 -06:00
Mike Schuchardt 1ff4c76125 build: Update to header 1.2.182
- Update known-good
- Disable codegen for VK_HUAWEI_subpass_shading
  https://github.com/KhronosGroup/Vulkan-Docs/issues/1564
- Generate source

Change-Id: If59954254bdf433bd5171f2a63cad88e34069c89
2021-06-21 10:07:16 -07:00
Mike Schuchardt 4dfe247549 build: Update to header 1.2.178
- Update known-good
- Generate source

Change-Id: I3e2756d9dc0452cc3743a05840d8e2a76961406a
2021-05-11 12:43:53 -07:00
Mike Schuchardt 6594b39ff6 build: Update to header 1.2.176
- Update known-good
- Generate source
- Fix version parsing in FindVulkanHeaders.cmake
- Add to VK_ENABLE_BETA_EXTENSIONS to GN build to pick up beta
  VkObjectType values

Change-Id: Ied4e4e71017e48d344b1c9cacf037ae989aceec9
2021-04-20 09:45:05 -07:00
Charles Giessen 567771943d build: Run generator to update extensions
QNX_screen moved from generated code to wsi.c but the generator was not run
so the old code wasn't deleted. This commit rectifies that.

Change-Id: Iba9cc3e6871605f50159acf7b6a97428f940b49e
2021-04-20 03:39:46 -06:00
Mike Schuchardt 0dd217944b build: Update known-good files for 1.2.173 header
- Update known_good.json
- Generate source files
2021-03-23 13:37:52 -07:00
Shannon McPherson 9a160725b9 build: Update known-good files for 1.2.171 header
Changes:
- Updated `known_good.json`
- Generated new source files
- Added `VK_USE_PLATFORM_SCREEN_QNX` to platform list in
`common_codegen.py`

Change-Id: I2ef49799434ff31ff81680413a8700caea46593c
2021-03-02 15:40:45 -07:00
Jeremy Gebben 47e0359285 build: Update known-good files for 1.2.170 header
Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: I98c582a8cad9ffbdda5a1b2ffa5517b866803047
2021-02-15 11:58:50 -07:00
Shannon McPherson 5ecdd78cdf build: Update known-good files for 1.2.165 header
Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: I5156923b1d3fb96d9e4fbe8dddb533f93561adfd
2020-12-19 18:07:29 -07:00
Shannon McPherson 5341556e46 build: Update known-good files for 1.2.162 header
Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: Ic0f414ccf230314fa648abbb00da9509e1389a31
2020-11-23 09:19:03 -07:00
Shannon McPherson 4117c855ef build: Update known-good files for 1.2.160 header
Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: I8afe698dd58a062d28f40a49f51cfa6c19409387
2020-11-10 11:07:08 -07:00
Shannon McPherson 8bc3ef9763 build: Update known-good files for 1.2.158 header
Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: I5f06eec6afb61bac576cbad3e6e6982c0bd0440c
2020-10-27 11:11:32 -06:00
Craig Stout c6ed84db5b Add support for VK_FUCHSIA_imagepipe_surface 2020-10-26 17:59:09 -06:00
Shannon McPherson aa5b9e93d7 build: Update known-good files for 1.2.154 header
Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: I909289d4e1523ed32aa62516a4725a2ff2df4f65
2020-09-21 10:42:38 -06:00
Shannon McPherson 2962b443ae build: Update known-good files for 1.2.146 header
Changes:
- Updated `known_good.json`
- Generated new source files

Change-Id: Ifbd578d254d544a454e7e84738330eae9983c462
2020-07-07 11:45:02 -06:00
Shannon McPherson 16869d0219 build: Update known-good files for 1.2.145 header
Changes:
- Updated `known_good.json`
- Propagated `loader_genvk.py` changes
- Modified scripts to accommodate new genvk functionality
- Generated new source files

Change-Id: If54251171bb3c70cef305d1e954aa02124432106
2020-06-22 11:08:36 -06:00
Shannon McPherson 6b08b5a360 build: Update known-good for 1.2.140 header
Changes:
- Updated `known_good.json`
- Propagated `loader_genvk.py` changes
- Generated new source files
- Modified `.gitattributes` to ensure generated source files should
always have LF line endings because that is how it will be generated on
all platforms going forward. Upstream change in Vulkan-Docs explicitly
generates code with LF line endings.
- Removed automatic CRLF to LF conversion git setting in `.appveyor.yml`

Change-Id: I1ca36b80dfabe83fa16e36116d1ad43c0a65ff78
2020-05-04 13:44:54 -06:00
Shannon McPherson e37796212e build: Update known-good for 1.2.137 header
Updated `known_good.json` and generated new source files

Change-Id: If8edd83ec20ef78e0067a43d5acbee80cfe00ead
2020-04-08 15:52:42 -06:00
Charles Giessen 7be32aa141 scripts: stubs in dispatch table lacked matching return types
Generated functions stubs had either a return type of void or
VkResult. Recent vulkan extensions had functions which returned
uint32_t, uint64_t, and VkDeviceAddress. The
dispatch_table_helper_generator didn't account for this and GCC would
complain about mismatching types. While likely not an issue, it did
create very noisy builds.

Modified files:
	loader/generated/vk_dispatch_table_helper.h
	scripts/dispatch_table_helper_generator.py

Change-Id: Iba229093461b75fd6ccd195cf60e200a22b8678f
2020-03-23 12:50:07 -06:00