Mike Schuchardt [Thu, 28 Jul 2022 18:30:53 +0000 (11:30 -0700)]
ci: Fix github android build
The ANDROID_NDK_HOME env var seems to have disappeared with the
deprecation of ndk-bundle:
https://github.com/actions/virtual-environments/issues/5879
Jan Engelhardt [Thu, 21 Jul 2022 13:22:26 +0000 (15:22 +0200)]
vulkaninfo: include wayland-client because its functions are used
"Include what you use": vulkaninfo.h calls wl_registry_bind, thus
ought to include wayland-client.h.
jfthibert [Mon, 18 Jul 2022 20:43:09 +0000 (16:43 -0400)]
Set usage on transient image based on format
Avoids setting the color attachment bit for depth stencil formats to prevent crash
Mike Schuchardt [Thu, 21 Jul 2022 17:08:24 +0000 (10:08 -0700)]
build: Update to header 1.3.222
- Update known-good
- Generate source
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
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
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
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.
Spundun Bhatt [Wed, 22 Jun 2022 03:48:56 +0000 (20:48 -0700)]
Log Surface Extension Error, but don't fail on it.
Michel Zou [Tue, 14 Jun 2022 16:28:14 +0000 (18:28 +0200)]
win32: use _set_abort_behavior from ucrt
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
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
Richard S. Wright Jr [Mon, 13 Jun 2022 21:10:38 +0000 (17:10 -0400)]
Updated MoltenVK known good to 1.1.10
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
Charles Giessen [Thu, 26 May 2022 21:26:32 +0000 (15:26 -0600)]
vkcubepp: Use correct extension for portability enumeration
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.
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
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.
Michel Zou [Wed, 18 May 2022 16:58:25 +0000 (18:58 +0200)]
Avoid _set_abort_behavior on MINGW
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
Mike Schuchardt [Wed, 11 May 2022 22:57:07 +0000 (15:57 -0700)]
ci: Build cube with multiple WSI options
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
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
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.
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
Richard S. Wright Jr [Thu, 14 Apr 2022 23:26:37 +0000 (19:26 -0400)]
Updated MoltenVK tag
Now at latest known good release
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.
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.
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.
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.
Md Abdullah Al Fahim [Fri, 8 Apr 2022 05:53:36 +0000 (05:53 +0000)]
Show surface information on GGP platform
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.
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
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
Charles Giessen [Thu, 31 Mar 2022 16:07:22 +0000 (10:07 -0600)]
cubepp: Fix wayland regression
Charles Giessen [Wed, 30 Mar 2022 22:17:29 +0000 (16:17 -0600)]
cubepp: Fix regression in VK_KHR_display
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
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"
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
Charles Giessen [Tue, 8 Feb 2022 21:04:45 +0000 (14:04 -0700)]
cubepp: Add debug utils messenger
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*.
Charles Giessen [Mon, 7 Feb 2022 06:38:39 +0000 (23:38 -0700)]
vkcubepp: Address feedback from code-review
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.
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
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
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
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
Tony-LunarG [Thu, 17 Feb 2022 21:22:24 +0000 (14:22 -0700)]
build: Add install target for vkcube-wayland
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
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.
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.
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.
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
Richard S. Wright Jr [Mon, 7 Feb 2022 16:57:41 +0000 (11:57 -0500)]
Updated MoltenVK known good tag to 1.1.7
Charles Giessen [Wed, 2 Feb 2022 22:11:11 +0000 (15:11 -0700)]
vulkaninfo: remove redundant str() in script
Charles Giessen [Wed, 2 Feb 2022 22:04:10 +0000 (15:04 -0700)]
vulkaninfo: Use """ where appropriate in script
Charles Giessen [Wed, 2 Feb 2022 21:46:23 +0000 (14:46 -0700)]
vulkaninfo: Use single quote in generation script
Charles Giessen [Wed, 2 Feb 2022 21:35:21 +0000 (14:35 -0700)]
vulkaninfo: Use constants in pythong script
Charles Giessen [Wed, 2 Feb 2022 21:32:39 +0000 (14:32 -0700)]
vulkaninfo: Update generated copyright
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.
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.
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.
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.
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.
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.
Charles Giessen [Tue, 30 Nov 2021 00:21:03 +0000 (17:21 -0700)]
vulkaninfo: Remove redundant parameter in GgpuDumpQueueProps
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.
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.
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.
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.
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.
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++.
Charles Giessen [Wed, 17 Nov 2021 01:20:49 +0000 (18:20 -0700)]
vulkaninfo: Fix spelling mistakes
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.
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.
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.
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.
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.
ziga-lunarg [Wed, 2 Feb 2022 22:27:34 +0000 (23:27 +0100)]
vulkan tools: Fix image usage error reported by validation layers
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.
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.
Tony-LunarG [Thu, 13 Jan 2022 23:33:24 +0000 (16:33 -0700)]
build: Add build target for vkcube-wayland
nyorain [Fri, 21 Jan 2022 15:09:49 +0000 (16:09 +0100)]
mockicd: Fix queue destruction for multiple devices
nyorain [Fri, 21 Jan 2022 15:06:11 +0000 (16:06 +0100)]
Fix DestroyCommandPool command buffer leak
nyorain [Fri, 21 Jan 2022 14:47:40 +0000 (15:47 +0100)]
Fix FreeCommandBuffers leak
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.
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
Alexis Hetu [Tue, 25 Jan 2022 15:10:27 +0000 (10:10 -0500)]
Add support for building on ChromeOS
SupervisedThinking [Tue, 23 Nov 2021 12:18:49 +0000 (13:18 +0100)]
cmake/FindWaylandProtocols: fix wayland protocol path generation for cross compile
Tony-LunarG [Thu, 13 Jan 2022 17:44:28 +0000 (10:44 -0700)]
build: Add dependency on wayland-protocols
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
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
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.
Charles Giessen [Wed, 1 Dec 2021 18:31:27 +0000 (11:31 -0700)]
ci: Use windows-latest in github actions
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
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.
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.
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.
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.
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.