platform/upstream/Vulkan-Tools.git
2 years agobuild: Update to header 1.3.221
Mike Schuchardt [Thu, 14 Jul 2022 16:22:33 +0000 (09:22 -0700)]
build: Update to header 1.3.221

- Update known-good
- Generate source

2 years agobuild: Update to header 1.3.220
Mike Schuchardt [Thu, 7 Jul 2022 17:37:55 +0000 (10:37 -0700)]
build: Update to header 1.3.220

- Update known-good
- Generate source

2 years agobuild: Update to header 1.3.219
Mike Schuchardt [Thu, 30 Jun 2022 19:30:53 +0000 (12:30 -0700)]
build: Update to header 1.3.219

- Update mock_icd generator create function detection to only look for
  Create/Allocate at beginning of function name
- Update known-good
- Generate source

2 years agocmake: Use ${VULKAN_SDK} environment variable paths prior to the system default paths.
Chang Chen [Fri, 24 Jun 2022 03:23:22 +0000 (11:23 +0800)]
cmake: Use ${VULKAN_SDK} environment variable paths prior to the system default paths.

2 years agoLog Surface Extension Error, but don't fail on it.
Spundun Bhatt [Wed, 22 Jun 2022 03:48:56 +0000 (20:48 -0700)]
Log Surface Extension Error, but don't fail on it.

2 years agowin32: use _set_abort_behavior from ucrt
Michel Zou [Tue, 14 Jun 2022 16:28:14 +0000 (18:28 +0200)]
win32: use _set_abort_behavior from ucrt

2 years agobuild: Update to header 1.3.218
Mike Schuchardt [Thu, 16 Jun 2022 20:49:34 +0000 (13:49 -0700)]
build: Update to header 1.3.218

- Update known-good
- Generate source

2 years agobuild: Update to header 1.3.217
Mike Schuchardt [Mon, 13 Jun 2022 19:55:10 +0000 (12:55 -0700)]
build: Update to header 1.3.217

- Update known-good
- Generate source

2 years agoUpdated MoltenVK known good to 1.1.10
Richard S. Wright Jr [Mon, 13 Jun 2022 21:10:38 +0000 (17:10 -0400)]
Updated MoltenVK known good to 1.1.10

2 years agobuild: Update to header 1.3.216
Mike Schuchardt [Thu, 2 Jun 2022 19:53:27 +0000 (12:53 -0700)]
build: Update to header 1.3.216

- Update known-good
- Generate source

2 years agovkcubepp: Use correct extension for portability enumeration
Charles Giessen [Thu, 26 May 2022 21:26:32 +0000 (15:26 -0600)]
vkcubepp: Use correct extension for portability enumeration

2 years agovulkaninfo: Set sType in PhysDevGroupProps
Charles Giessen [Wed, 25 May 2022 16:35:08 +0000 (10:35 -0600)]
vulkaninfo: Set sType in PhysDevGroupProps

This was recently discovered by new validation messages. The
VkPhysicalDeviceGroupProperties sType member needs to be initialized properly.

2 years agobuild: Update to header 1.3.215
Mike Schuchardt [Tue, 24 May 2022 17:45:39 +0000 (10:45 -0700)]
build: Update to header 1.3.215

- Update known-good
- Generate source

2 years agocube: add null check on wl_*_destroy functions
shironeko [Thu, 19 May 2022 14:21:07 +0000 (10:21 -0400)]
cube: add null check on wl_*_destroy functions

Encountered the crash on a compositor without keyboard, this seems to
fix it.

2 years agoAvoid _set_abort_behavior on MINGW
Michel Zou [Wed, 18 May 2022 16:58:25 +0000 (18:58 +0200)]
Avoid _set_abort_behavior on MINGW

2 years agobuild: Update to header 1.3.214
Mike Schuchardt [Tue, 17 May 2022 15:44:30 +0000 (08:44 -0700)]
build: Update to header 1.3.214

- Update known-good
- Generate source

2 years agoci: Build cube with multiple WSI options
Mike Schuchardt [Wed, 11 May 2022 22:57:07 +0000 (15:57 -0700)]
ci: Build cube with multiple WSI options

2 years agocubepp: Fix VK_KHR_display compile error
Mike Schuchardt [Wed, 11 May 2022 22:43:28 +0000 (15:43 -0700)]
cubepp: Fix VK_KHR_display compile error

Vulkan-Hpp Implicit-cast operators on vk::ResultValue were previously
deprecated and finally removed in the v1.3.213 headers. Fix the
resulting compiler error in cubepp by explicitly using the value member
of vk:ResultValue.

Change-Id: Ie441bd56dfb9dfe26e966e0ec3fb3139712a351a

2 years agobuild: Update to header 1.3.213
Mike Schuchardt [Wed, 11 May 2022 17:32:40 +0000 (10:32 -0700)]
build: Update to header 1.3.213

- Update known-good
- Generate source

2 years agoci: Remove fbactions/setup-winsdk
Mike Schuchardt [Thu, 21 Apr 2022 17:35:44 +0000 (10:35 -0700)]
ci: Remove fbactions/setup-winsdk

The default version 18362 started 404'ing and a new enough version is
present in the base image.

2 years agobuild: Update to header 1.3.212
Mike Schuchardt [Thu, 21 Apr 2022 17:28:16 +0000 (10:28 -0700)]
build: Update to header 1.3.212

- Update known-good
- Generate source

2 years agoUpdated MoltenVK tag
Richard S. Wright Jr [Thu, 14 Apr 2022 23:26:37 +0000 (19:26 -0400)]
Updated MoltenVK tag

Now at latest known good release

2 years agodocs: Replace references to DevSim with Profiles
Charles Giessen [Wed, 13 Apr 2022 21:05:35 +0000 (15:05 -0600)]
docs: Replace references to DevSim with Profiles

Updated the docs to better reflect the behavior of vulkaninfo and
remove references to DevSim.

2 years agoGuard chromium-specific configs in BUILD.gn
Brian Osman [Tue, 12 Apr 2022 21:16:16 +0000 (17:16 -0400)]
Guard chromium-specific configs in BUILD.gn

Skia is going to start using these GN files, but does not have chromium's //build. To get them to build, guard those references using `build_with_chromium`. A similar mechanism (with the same argument) is used throughout other third party dependencies.

2 years agomock_icd: Remove fallthroughs in switches
Charles Giessen [Wed, 13 Apr 2022 20:42:25 +0000 (14:42 -0600)]
mock_icd: Remove fallthroughs in switches

They cause unecessary warnings in some compilers and are not necessary for the
code to function. Replaced with if statements.

2 years agocube,vulkaninfo: Add portability_enumeration if present
Charles Giessen [Mon, 11 Apr 2022 20:39:06 +0000 (14:39 -0600)]
cube,vulkaninfo: Add portability_enumeration if present

Make vulkaninfo and vkcube/vkcubepp enable the portability enumeration bit if it is
available.

2 years agoShow surface information on GGP platform
Md Abdullah Al Fahim [Fri, 8 Apr 2022 05:53:36 +0000 (05:53 +0000)]
Show surface information on GGP platform

2 years agoFactor out typemap_helper header in BUILD rules for reusability in Dawn without depen...
Loko Kung [Wed, 6 Apr 2022 18:33:58 +0000 (11:33 -0700)]
Factor out typemap_helper header in BUILD rules for reusability in Dawn without depending on entire icd lib.

2 years agobuild: Update to header 1.3.211
Mike Schuchardt [Tue, 5 Apr 2022 17:29:34 +0000 (10:29 -0700)]
build: Update to header 1.3.211

- Update known-good
- Generate source

2 years agobuild: Update to header 1.3.210
Mike Schuchardt [Fri, 1 Apr 2022 18:04:00 +0000 (11:04 -0700)]
build: Update to header 1.3.210

- Update known-good
- Generate source

2 years agocubepp: Fix wayland regression
Charles Giessen [Thu, 31 Mar 2022 16:07:22 +0000 (10:07 -0600)]
cubepp: Fix wayland regression

2 years agocubepp: Fix regression in VK_KHR_display
Charles Giessen [Wed, 30 Mar 2022 22:17:29 +0000 (16:17 -0600)]
cubepp: Fix regression in VK_KHR_display

2 years agobuild: Update to header 1.3.209
Mike Schuchardt [Wed, 23 Mar 2022 17:33:40 +0000 (10:33 -0700)]
build: Update to header 1.3.209

- Update known-good
- Generate source

2 years agovulkaninfo: Make default json filename unique
Charles Giessen [Tue, 22 Mar 2022 22:32:40 +0000 (16:32 -0600)]
vulkaninfo: Make default json filename unique

Use the device name and driver version in the default filename for profile
schema vulkaninfo outputs. Example output would be:
"VP_VULKANINFO_Driver_Name_100_3_4.json"

2 years agovulkaninfo: Replace devsim with Profile json output
Charles Giessen [Tue, 22 Feb 2022 23:38:43 +0000 (16:38 -0700)]
vulkaninfo: Replace devsim with Profile json output

Make vulkaninfo capable of printing Vulkan Profiles with the json output. This
replaces the current DevSim output and folds the portability schema output into
the regular JSON output.

Changes include:
* Printing to file by default if json output is chosen
* Cleaning up codegen for extension structs
* Fixing up the help message
* Consolidating the portability schema output into just json

2 years agocubepp: Add debug utils messenger
Charles Giessen [Tue, 8 Feb 2022 21:04:45 +0000 (14:04 -0700)]
cubepp: Add debug utils messenger

2 years agocubepp: Use uint32_t and Demo&
Charles Giessen [Mon, 21 Feb 2022 18:57:16 +0000 (11:57 -0700)]
cubepp: Use uint32_t and Demo&

The width and height parameters don't need to be ints, use uint32_t for consistency.

Demo& is more idiomatic C++ than Demo*.

2 years agovkcubepp: Address feedback from code-review
Charles Giessen [Mon, 7 Feb 2022 06:38:39 +0000 (23:38 -0700)]
vkcubepp: Address feedback from code-review

2 years agocubepp: Copy cubes swapchain format selection
Charles Giessen [Thu, 3 Feb 2022 20:55:48 +0000 (13:55 -0700)]
cubepp: Copy cubes swapchain format selection

The differing logic led to vkcube choosing a different swapchain image format
to vkcubepp.

2 years agocubepp: Cleanup usage of C++ and vulkan.hpp
Charles Giessen [Thu, 3 Feb 2022 20:46:29 +0000 (13:46 -0700)]
cubepp: Cleanup usage of C++ and vulkan.hpp

Many changes to better utilize C++ and vulkan.hpp's features.
Includes:
* range-for loop usage where appropriate
* References instead of pointers
* using std::vector and std::array
* Using C++11's default struct values
* Making use of vulkan.hpp functions which return vectors
* Passing objects by reference to vulkan.hpp instead of by pointer
* Rename in application title to vkcubepp

2 years agobuild: Update to header 1.3.208 upstream/1.3.208
Mike Schuchardt [Tue, 15 Mar 2022 19:07:50 +0000 (12:07 -0700)]
build: Update to header 1.3.208

- Update known-good
- Generate source

2 years agobuild: Update to header 1.3.207
Mike Schuchardt [Tue, 8 Mar 2022 18:33:43 +0000 (10:33 -0800)]
build: Update to header 1.3.207

- Update known-good
- Generate source

2 years agoUpdate known_good.json
Richard S. Wright Jr [Mon, 28 Feb 2022 23:18:03 +0000 (18:18 -0500)]
Update known_good.json

Updated MoltenVK to 1.1.8

2 years agobuild: Add install target for vkcube-wayland
Tony-LunarG [Thu, 17 Feb 2022 21:22:24 +0000 (14:22 -0700)]
build: Add install target for vkcube-wayland

2 years agobuild: Update to header 1.3.206
Mike Schuchardt [Fri, 18 Feb 2022 18:05:58 +0000 (10:05 -0800)]
build: Update to header 1.3.206

- Update known-good
- Generate source

2 years agoMake device selection output constistent
Jeremy Hayes [Wed, 9 Feb 2022 22:04:42 +0000 (15:04 -0700)]
Make device selection output constistent

Make vkcube print a string for device type, which is consistent with
vkcubepp.

2 years agovulkaninfo: Enable portability extension for device groups
Mike Schuchardt [Wed, 9 Feb 2022 20:07:26 +0000 (12:07 -0800)]
vulkaninfo: Enable portability extension for device groups

Expand previous change to include device group creation. Also added some
VK_ENABLE_BETA_EXTENSIONS guards around the portability identifiers.

2 years agovulkaninfo: Enable portability subset extension if present
Charles Giessen [Tue, 8 Feb 2022 17:20:25 +0000 (10:20 -0700)]
vulkaninfo: Enable portability subset extension if present

If this extension is present, it must be enabled when creating a VkDevice.

2 years agobuild: Update to header 1.3.205
Mike Schuchardt [Mon, 7 Feb 2022 18:28:53 +0000 (10:28 -0800)]
build: Update to header 1.3.205

- Update known-good
- Generate source

2 years agoUpdated MoltenVK known good tag to 1.1.7
Richard S. Wright Jr [Mon, 7 Feb 2022 16:57:41 +0000 (11:57 -0500)]
Updated MoltenVK known good tag to 1.1.7

2 years agovulkaninfo: remove redundant str() in script
Charles Giessen [Wed, 2 Feb 2022 22:11:11 +0000 (15:11 -0700)]
vulkaninfo: remove redundant str() in script

2 years agovulkaninfo: Use """ where appropriate in script
Charles Giessen [Wed, 2 Feb 2022 22:04:10 +0000 (15:04 -0700)]
vulkaninfo: Use """ where appropriate in script

2 years agovulkaninfo: Use single quote in generation script
Charles Giessen [Wed, 2 Feb 2022 21:46:23 +0000 (14:46 -0700)]
vulkaninfo: Use single quote in generation script

2 years agovulkaninfo: Use constants in pythong script
Charles Giessen [Wed, 2 Feb 2022 21:35:21 +0000 (14:35 -0700)]
vulkaninfo: Use constants in pythong script

2 years agovulkaninfo: Update generated copyright
Charles Giessen [Wed, 2 Feb 2022 21:32:39 +0000 (14:32 -0700)]
vulkaninfo: Update generated copyright

2 years agovulkaninfo: Support structs from multiple extensions
Charles Giessen [Tue, 4 Jan 2022 20:42:31 +0000 (14:42 -0600)]
vulkaninfo: Support structs from multiple extensions

VkPhysicalDeviceIDProperties can come from 1.1 but also from support for
multiple extensions. This makes the autogen properly check that one of the
required extensions is supported.

2 years agovulkaninfo: Make chain iterators optional
Charles Giessen [Mon, 20 Dec 2021 23:35:36 +0000 (17:35 -0600)]
vulkaninfo: Make chain iterators optional

Some of the pNext chains didn't make use of the generic chain printers. Since they aren't
being used in code, it is good to disable the generation of those printers.

2 years agovulkaninfo: Remove set width in json functions
Charles Giessen [Mon, 20 Dec 2021 22:36:01 +0000 (16:36 -0600)]
vulkaninfo: Remove set width in json functions

Set width does nothing inside json printers, removing it since it isn't necessary.

2 years agovulkaninfo: bitmask printers check for 0 value
Charles Giessen [Tue, 30 Nov 2021 05:44:05 +0000 (22:44 -0700)]
vulkaninfo: bitmask printers check for 0 value

Only generate the early exit if there doesn't exist an bitmask which has a
value of 0. For example, VK_RESOLVE_MODE_NONE has a value of 0, but it would
never be printed without this special case.

2 years agovulkaninfo: Use enum names in switches
Charles Giessen [Tue, 30 Nov 2021 05:16:33 +0000 (22:16 -0700)]
vulkaninfo: Use enum names in switches

Replace numeric values with the textual version, this makes it easier to read
the code and verify that it is correct.

2 years agovulkaninfo: Put value in unknown flag strings
Charles Giessen [Tue, 30 Nov 2021 04:42:51 +0000 (21:42 -0700)]
vulkaninfo: Put value in unknown flag strings

This makes unknown flags put the value of the flag bits in the returned string
so that if an error does occur, users can see which value(s) were returned.

2 years agovulkaninfo: Remove redundant parameter in GgpuDumpQueueProps
Charles Giessen [Tue, 30 Nov 2021 00:21:03 +0000 (17:21 -0700)]
vulkaninfo: Remove redundant parameter in GgpuDumpQueueProps

2 years agovulkaninfo: Chain printers use correct version
Charles Giessen [Tue, 30 Nov 2021 00:16:24 +0000 (17:16 -0700)]
vulkaninfo: Chain printers use correct version

Previously the version used was up to the caller of the chain printer function
to provide, but this was unnecessary as the printer should always use the
version of the type (instance or gpu) of printer in question. If both are
specified, it uses the gpu version since that implies physical_device functions.

2 years agovulkaninfo: Use gpu version only for AppGpu
Charles Giessen [Mon, 29 Nov 2021 23:15:55 +0000 (16:15 -0700)]
vulkaninfo: Use gpu version only for AppGpu

The api version of the GPU should solely be based on the GPU version reported
by VkPhysicalDeviceProperties. The need to guard against the instance version
should be explicit where necessary and not implicitely pulled into the version
of the GPU.

2 years agovulkaninfo: min_key_width now set in the object stack
Charles Giessen [Mon, 29 Nov 2021 22:33:23 +0000 (15:33 -0700)]
vulkaninfo: min_key_width now set in the object stack

Previously if a key-value pair wanted to be printed with padding, so the
output would be aligned, it would have to pass in the width into each and
every printer statement. This commit makes the min_key_width value set
per object (in the object_stack) so it can be set after the object is started
and re-used over and over. This simplifies the code gen and useability of
the Printer class.

2 years agovulkaninfo: Refactor printer to use stack for data
Charles Giessen [Mon, 29 Nov 2021 22:06:59 +0000 (15:06 -0700)]
vulkaninfo: Refactor printer to use stack for data

The output printer kept track of variables that should of been per object or
array in a single variable for the entire output. This commit refactors
the code to store data in a new StackNode struct such that pushing and poping
the stack is how to save and restore the top node's properties, such as the
indent, min_width, and if it is an array or object. It allows behavior such
as a parent object ignoring the width output but its children respecting it.

2 years agovulkaninfo: Simplify WSI macro defines
Charles Giessen [Wed, 17 Nov 2021 01:56:13 +0000 (18:56 -0700)]
vulkaninfo: Simplify WSI macro defines

Create a single macro define which is used everywhere rather than have 5
different places with the same giant macro if block.

2 years agovulkaninfo: Use better casting where possible
Charles Giessen [Wed, 17 Nov 2021 01:23:28 +0000 (18:23 -0700)]
vulkaninfo: Use better casting where possible

Use static_cast instead of reinterpret_cast or C style casts. This allows
better type checking and more idiomatic C++.

2 years agovulkaninfo: Fix spelling mistakes
Charles Giessen [Wed, 17 Nov 2021 01:20:49 +0000 (18:20 -0700)]
vulkaninfo: Fix spelling mistakes

2 years agovulkaninfo: Use filename in json output desc
Charles Giessen [Sun, 14 Nov 2021 21:21:44 +0000 (14:21 -0700)]
vulkaninfo: Use filename in json output desc

Query the current file name so it can be used when printing out the description
for the json formats. This is relevant because the windows SDK alters the name
of vulkaninfo to vulkaninoSDK and we want this to be present in the output.

2 years agovulkaninfo: Support QueueProperties pNext chain
Charles Giessen [Sun, 14 Nov 2021 20:32:30 +0000 (13:32 -0700)]
vulkaninfo: Support QueueProperties pNext chain

Make the autogen and vulkaninfo source code support printing of the pNext chain
in VkQueueProperties2KHR. Several structs were added to this chain recently and
are helpful information to be printed. This required special casing the output
so that it only prints the elements that are 'valid' and modifying the chain
printer to unset the next header flag.

2 years agovulkaninfo: Add Device & driver UUID to summary
Charles Giessen [Sun, 14 Nov 2021 18:57:28 +0000 (11:57 -0700)]
vulkaninfo: Add Device & driver UUID to summary

The Device and Driver UUID is identifying information that is useful to have at
a glance. Adding it to the summary would help anyone needing to determine what
their device & driver is without searching the entire vulkaninfo output first.

2 years agovulkaninfo: Return non-zero from failure
Charles Giessen [Sun, 14 Nov 2021 18:43:21 +0000 (11:43 -0700)]
vulkaninfo: Return non-zero from failure

If vulkaninfo fails for whatever reason, including vulkan API calls, vulkaninfo
should return 1 so that CI systems can detect if something is amiss. Previously,
while vulkaninfo would recover from a failure (finishing any json/html files that
were being printed) it would print 0, which is counter intuitive.

2 years agovulkaninfo: Prevent WinCRT debug popups
Charles Giessen [Sun, 14 Nov 2021 18:32:31 +0000 (11:32 -0700)]
vulkaninfo: Prevent WinCRT debug popups

Add the necessary winCRT calls to prevent debug popups from occuring when
vulkaninfo crashes. This is necessary to prevent hangs in CI, where these
popups can and do occur.

2 years agovulkan tools: Fix image usage error reported by validation layers
ziga-lunarg [Wed, 2 Feb 2022 22:27:34 +0000 (23:27 +0100)]
vulkan tools: Fix image usage error reported by validation layers

2 years agovulkaninfo: Generate pNext chain properly
Charles Giessen [Tue, 1 Feb 2022 20:23:00 +0000 (13:23 -0700)]
vulkaninfo: Generate pNext chain properly

Generate a structure that contains all the structures in the pNext chain as
members rather than relying on malloc to allocate memory for them.

2 years agovulkaninfo: Fix padding for integer dot product
Charles Giessen [Tue, 1 Feb 2022 20:21:30 +0000 (13:21 -0700)]
vulkaninfo: Fix padding for integer dot product

The 1.3 update forgot to rename
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR to
VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES as this
is the non-aliased name. Without it, the fix wouldn't be applied.

2 years agobuild: Add build target for vkcube-wayland
Tony-LunarG [Thu, 13 Jan 2022 23:33:24 +0000 (16:33 -0700)]
build: Add build target for vkcube-wayland

2 years agomockicd: Fix queue destruction for multiple devices
nyorain [Fri, 21 Jan 2022 15:09:49 +0000 (16:09 +0100)]
mockicd: Fix queue destruction for multiple devices

2 years agoFix DestroyCommandPool command buffer leak
nyorain [Fri, 21 Jan 2022 15:06:11 +0000 (16:06 +0100)]
Fix DestroyCommandPool command buffer leak

2 years agoFix FreeCommandBuffers leak
nyorain [Fri, 21 Jan 2022 14:47:40 +0000 (15:47 +0100)]
Fix FreeCommandBuffers leak

2 years agovulkaninfo: Update to 1.3
Charles Giessen [Fri, 24 Sep 2021 20:09:58 +0000 (14:09 -0600)]
vulkaninfo: Update to 1.3

Only changes are making the autogen print all required structs, and
moving from using the EXT version of tool properties to the core version.

2 years agobuild: Update to header 1.3.204
Mike Schuchardt [Tue, 25 Jan 2022 18:38:49 +0000 (10:38 -0800)]
build: Update to header 1.3.204

- Update known-good
- Generate source

2 years agoAdd support for building on ChromeOS
Alexis Hetu [Tue, 25 Jan 2022 15:10:27 +0000 (10:10 -0500)]
Add support for building on ChromeOS

2 years agocmake/FindWaylandProtocols: fix wayland protocol path generation for cross compile
SupervisedThinking [Tue, 23 Nov 2021 12:18:49 +0000 (13:18 +0100)]
cmake/FindWaylandProtocols: fix wayland protocol path generation for cross compile

2 years agobuild: Add dependency on wayland-protocols
Tony-LunarG [Thu, 13 Jan 2022 17:44:28 +0000 (10:44 -0700)]
build: Add dependency on wayland-protocols

2 years agobuild: Update to header 1.2.203
Mike Schuchardt [Tue, 4 Jan 2022 18:12:40 +0000 (10:12 -0800)]
build: Update to header 1.2.203

- Update known-good
- Generate source

2 years agoFix error messages upon failure to connect to window systems.
C Stout [Fri, 20 Aug 2021 20:19:01 +0000 (13:19 -0700)]
Fix error messages upon failure to connect to window systems.

Change-Id: I650958a8b2607eb3402eb6531909881d4a2ccc0f

2 years agoscripts: Fix codegen to support VK_KHR_format_feature_flags2
Lionel Landwerlin [Thu, 9 Dec 2021 15:43:51 +0000 (17:43 +0200)]
scripts: Fix codegen to support VK_KHR_format_feature_flags2

If the implementation reports that it supports this feature, it should
fill out VkFormatProperties3KHR properly.

2 years agoci: Use windows-latest in github actions
Charles Giessen [Wed, 1 Dec 2021 18:31:27 +0000 (11:31 -0700)]
ci: Use windows-latest in github actions

2 years agobuild: Update to header 1.2.201
Mike Schuchardt [Wed, 1 Dec 2021 17:55:34 +0000 (09:55 -0800)]
build: Update to header 1.2.201

- Update known-good
- Generate source

2 years agovkcube/vkcubepp: Add option to force validation errors
Mark Young [Tue, 30 Nov 2021 23:38:25 +0000 (16:38 -0700)]
vkcube/vkcubepp: Add option to force validation errors

During tests, it's hard to determine if the --validation option is
actually working properly.  So add an option (--force_errors) to
intentionally force a few validation error messages to make sure
that validation is working properly.

2 years agovulkaninfo: Rename trivially_optional to vulkaninfo_optional
Charles Giessen [Thu, 18 Nov 2021 21:17:02 +0000 (14:17 -0700)]
vulkaninfo: Rename trivially_optional to vulkaninfo_optional

Expand the scope of the type to allow non trivial types. This helped make the implementation of
parsing command line arguments much cleaner.

2 years agovulkaninfo: Fixup argument parsing for --output
Charles Giessen [Wed, 17 Nov 2021 23:13:26 +0000 (16:13 -0700)]
vulkaninfo: Fixup argument parsing for --output

There were a few edge cases which weren't well handled. Examples include
providing a filename and using the vkconfig_output but would ignore the file
name; the filename not being picked up for none file outputs like json and
text. Ammended the wait_for_console_destroy() to only run when not printing
to a file.

2 years agovulkaninfo: Error check --output
Charles Giessen [Wed, 17 Nov 2021 02:51:45 +0000 (19:51 -0700)]
vulkaninfo: Error check --output

Make sure the following argument is a filename and not another argument.

Also:
Add `--text` as it makes sense to have it as an explicit flag even if it
is the default.
Move --summary to the top, since its the most useful thing to know at a
glance.

2 years agovulkaninfo: Allow specifying file output
Charles Giessen [Mon, 21 Jun 2021 16:16:38 +0000 (10:16 -0600)]
vulkaninfo: Allow specifying file output

Use `-o <filename>` or `--output <filename>` to specify the filename of which
vulkaninfo will write to in the current directory.

2 years agovulkaninfo: Refactor main function
Charles Giessen [Sat, 19 Jun 2021 00:32:32 +0000 (18:32 -0600)]
vulkaninfo: Refactor main function

The main funciton was a chonky 300+ lines of code, this commit pulls out some
of the sections into their own functions to make it easier to read. It also
simplifies the logic in many places by doing so.

2 years agovulkaninfo: Remove unecessary surface macro guards
Charles Giessen [Fri, 18 Jun 2021 22:32:40 +0000 (16:32 -0600)]
vulkaninfo: Remove unecessary surface macro guards

Many of the macro guards in vulkaninfo are unecessary due to not directly
touching the contents of the surfaces outside of already guarded functions.
Thus, there is little point in having guards for stuff that is always able
to compile.

2 years agovulkaninfo: Fix formatting
Charles Giessen [Fri, 18 Jun 2021 22:32:20 +0000 (16:32 -0600)]
vulkaninfo: Fix formatting

2 years agovulkaninfo: Refactor Win32 function loading
Charles Giessen [Fri, 18 Jun 2021 22:30:10 +0000 (16:30 -0600)]
vulkaninfo: Refactor Win32 function loading

The only reason there were global booleans to decide which output to use was due to the macro
WAIT_FOR_CONSOLE_DESTROY. This commit restructures how the win32 function loading operates so
that such globals are no longer necessary. It introduces an OutputCategory enum to declare which
output format to use.