platform/upstream/Vulkan-Tools.git
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.

2 years agobuild: Update to header 1.2.200
Mike Schuchardt [Mon, 29 Nov 2021 18:18:41 +0000 (10:18 -0800)]
build: Update to header 1.2.200

- Update known-good
- Generate source

2 years agoscripts: initialize properties for VK_EXT_fragment_density_map2
janharaldfredriksen-arm [Wed, 15 Jul 2020 15:29:59 +0000 (17:29 +0200)]
scripts: initialize properties for VK_EXT_fragment_density_map2

2 years agoUpdate known_good.json
Richard S. Wright Jr [Wed, 17 Nov 2021 23:04:43 +0000 (18:04 -0500)]
Update known_good.json

Updated MoltenVK to 1.1.6 release

2 years agovulkaninfo: Make printing ToolProperties optional
Charles Giessen [Wed, 17 Nov 2021 02:10:15 +0000 (19:10 -0700)]
vulkaninfo: Make printing ToolProperties optional

This field has caused numerous crashes and has generally been more trouble than
its worth to have as a default output. Now, a new command line argument is
needed to get vulkaninfo to print tooling info.

2 years agovulkaninfo: Use DebugReport callback
Charles Giessen [Mon, 28 Jun 2021 21:30:52 +0000 (15:30 -0600)]
vulkaninfo: Use DebugReport callback

Add a debug callback to vkCreateInstance to debug instance failures,
since there are occassionally errors introduced
which yield validation messages that are currently being missed.

2 years agobuild: Update to header 1.2.199
Mike Schuchardt [Tue, 16 Nov 2021 19:02:56 +0000 (11:02 -0800)]
build: Update to header 1.2.199

- Update known-good
- Generate source

2 years agovulkaninfo: Prevent drivers writing out of bounds
Charles Giessen [Mon, 15 Nov 2021 22:50:36 +0000 (15:50 -0700)]
vulkaninfo: Prevent drivers writing out of bounds

The structure VkPhysicalDeviceShaderIntegerDotProdcutFeaturesKHR contains only a single
feature boolean flag. However, before the final version was published to the public, it
had many boolean flag values. Pre-release drivers often contain support for unpublished
extensions, such as VK_KHR_shader_integer_dot_product. Because the final version was
much smaller than the pre-release version, several drivers try to write to members that
do not exist in the final version, which cause out of bounds writes to the features struct
that vulkaninfo passes into the driver.

By increasing the size of the features struct allocation manually, we can prevent potential
crashes from OOBs writes from drivers.

2 years agobuild: Update to header 1.2.198
Mike Schuchardt [Tue, 9 Nov 2021 19:42:36 +0000 (11:42 -0800)]
build: Update to header 1.2.198

- Update known-good
- Generate source (no change)

2 years agobuild: Update to header 1.2.197
Mike Schuchardt [Wed, 3 Nov 2021 16:23:42 +0000 (09:23 -0700)]
build: Update to header 1.2.197

- Update known-good
- Generate source

2 years agobuild: Update to header 1.2.196
Mike Schuchardt [Thu, 14 Oct 2021 17:13:58 +0000 (10:13 -0700)]
build: Update to header 1.2.196

- Update known-good
- Generate source

2 years agovkcube: Reorder setting of pipeline stage flags
Eleni Maria Stea [Sat, 2 Oct 2021 20:32:06 +0000 (23:32 +0300)]
vkcube: Reorder setting of pipeline stage flags

Pipeline stage flags should be set before assigned to pWaitDstStageMask
in VkSubmitInfo.

2 years agobuild: Update to header 1.2.195
Mike Schuchardt [Tue, 5 Oct 2021 18:21:19 +0000 (11:21 -0700)]
build: Update to header 1.2.195

- Update known-good
- Generate source

2 years agovulkaninfo: Generate vulkaninfo.rc file
Charles Giessen [Tue, 28 Sep 2021 20:46:31 +0000 (14:46 -0600)]
vulkaninfo: Generate vulkaninfo.rc file

Previously whenever a SDK was being built, it would have to manually find and
replace the vulkaninfo.rc file with the appropriate values. This commit makes
it simpler by providing a CMake build argument which allows setting the version
to use from the command line.

2 years agobuild: Update to header 1.2.194
Mike Schuchardt [Tue, 28 Sep 2021 16:48:35 +0000 (09:48 -0700)]
build: Update to header 1.2.194

- Update known-good
- Generate source

2 years agoscripts: Fix codegen with hard-coded enum indices
Mike Schuchardt [Tue, 28 Sep 2021 16:45:09 +0000 (09:45 -0700)]
scripts: Fix codegen with hard-coded enum indices

Currently some of the generators use a fixed child index to locate
extension enums, which will break if comment blocks are added near the
top of an extension definition. This change makes the enum lookup more
robust by searching for the expected enum name instead of using a
hard-coded offset.

2 years agobuild: Update update_deps
Charles Giessen [Tue, 28 Sep 2021 19:25:26 +0000 (13:25 -0600)]
build: Update update_deps

Bring forward the update_deps script in this repo to match VVL

2 years agoci: Add android build to github actions
Mike Schuchardt [Thu, 23 Sep 2021 17:44:34 +0000 (10:44 -0700)]
ci: Add android build to github actions

Change-Id: I1ef9815548f7483ddc712c76210cf938e70c3eae

2 years agobuild: Remove unused components from android build
Mike Schuchardt [Wed, 22 Sep 2021 22:20:31 +0000 (15:20 -0700)]
build: Remove unused components from android build

When Vulkan-Tools split off from Vulkan-LoaderAndValidationLayers it
inherited the android build scripts, most of which are not relevant to
the projects left in this repo. Also update BUILD.md with latest android
toolchain and remove references to the validation layers.

Change-Id: If982829fc20e14156c52a8f364ef7294733f62cd

2 years agoscripts: Use f-strings in vulkaninfo generator
Charles Giessen [Fri, 17 Sep 2021 20:06:29 +0000 (14:06 -0600)]
scripts: Use f-strings in vulkaninfo generator

f-strings are a python feature which allow more natural formatting of text, making
the code easier to read and work with.

2 years agovulkaninf: Support 64 bit flags
Charles Giessen [Fri, 17 Sep 2021 19:43:50 +0000 (13:43 -0600)]
vulkaninf: Support 64 bit flags

64 bit flags use the bitvalues field instead of the requires field in the XML
to specify the flagbits name. Thus the autogen needed to account for that.
In addition, if a flag was promoted to core, the autogen didn't use the core
version, this commit also fixes that.

2 years agobuild: Update to header 1.2.193
Mike Schuchardt [Tue, 21 Sep 2021 17:50:43 +0000 (10:50 -0700)]
build: Update to header 1.2.193

- Update known-good
- Generate source

2 years agobuild: Update to header 1.2.192
Mike Schuchardt [Wed, 15 Sep 2021 16:23:07 +0000 (09:23 -0700)]
build: Update to header 1.2.192

- Update known-good
- Generate source

2 years agoscripts: Ignore compatibility constants in wrapper
Mike Schuchardt [Wed, 15 Sep 2021 15:53:19 +0000 (08:53 -0700)]
scripts: Ignore compatibility constants in wrapper

When the working group changes the name of a constant:

  VK_KHR_MAINTENANCE1_SPEC_VERSION ->
  VK_KHR_MAINTENANCE_1_SPEC_VERSION

they will still #define the original name to maintain backward
compatibility with existing code that uses it:

  #define VK_KHR_MAINTENANCE_1_SPEC_VERSION 2
  #define VK_KHR_MAINTENANCE_1_EXTENSION_NAME "VK_KHR_maintenance1"
  #define VK_KHR_MAINTENANCE1_SPEC_VERSION  VK_KHR_MAINTENANCE_1_SPEC_VERSION
  #define VK_KHR_MAINTENANCE1_EXTENSION_NAME VK_KHR_MAINTENANCE_1_EXTENSION_NAME

In this case, we need to ignore the non-numeric _SPEC_VERSION and
unquoted _EXTENSION_NAME constants because they don't define a separate
extension.

2 years agobuild: Update to header 1.2.191
Mike Schuchardt [Wed, 8 Sep 2021 22:24:35 +0000 (15:24 -0700)]
build: Update to header 1.2.191

- Update known-good
- Generate source

2 years agovulkaninfo: Fix error message when gpus.size()==0
Vladimir Panteleev [Sat, 4 Sep 2021 06:16:46 +0000 (06:16 +0000)]
vulkaninfo: Fix error message when gpus.size()==0

Avoid an amusing and slightly misleading error message:

"The selected gpu (0) is not a valid GPU index. The available GPUs are
in the range of 0 to 18446744073709551615."

2 years agoUpdate known good to the latest MoltenVK tag
Richard S. Wright Jr [Fri, 3 Sep 2021 20:46:26 +0000 (16:46 -0400)]
Update known good to the latest MoltenVK tag

2 years agocubepp: Fix gitlab 828.
Jeremy Hayes [Tue, 31 Aug 2021 00:04:09 +0000 (18:04 -0600)]
cubepp: Fix gitlab 828.

Expect and deny negative window dimensions.

2 years agobuild: Update to header 1.2.190
Mike Schuchardt [Mon, 30 Aug 2021 16:19:23 +0000 (09:19 -0700)]
build: Update to header 1.2.190

- Update known-good
- Generate source

2 years agobuild: Update to header 1.2.189
Mike Schuchardt [Tue, 17 Aug 2021 19:57:01 +0000 (12:57 -0700)]
build: Update to header 1.2.189

- Update known-good
- Generate source (no change)

2 years agobuild: Update to header 1.2.188
Mike Schuchardt [Tue, 10 Aug 2021 19:44:35 +0000 (12:44 -0700)]
build: Update to header 1.2.188

- Update known-good
- Generate source

2 years agoscripts: Use altlen instead of parsing latexmath
Mike Schuchardt [Tue, 10 Aug 2021 19:43:16 +0000 (12:43 -0700)]
scripts: Use altlen instead of parsing latexmath

KhronosGroup/Vulkan-ValidationLayers switched to this method a while ago
and this syncs the KhronosGroup/Vulkan-Tools version of
helper_file_generator.py to match.

2 years agobuild: Update to header 1.2.187
Mike Schuchardt [Tue, 3 Aug 2021 22:22:43 +0000 (15:22 -0700)]
build: Update to header 1.2.187

- Update known-good
- Generate source

2 years agobuild: Update to header 1.2.186
Mike Schuchardt [Tue, 27 Jul 2021 20:29:44 +0000 (13:29 -0700)]
build: Update to header 1.2.186

- Update known-good
- Generate source (no change)

Change-Id: I529e0a7175f18f50ae717c4caae27ef066b80839

2 years agoci: Add verification step for generated source
Mike Schuchardt [Wed, 21 Jul 2021 17:16:15 +0000 (10:16 -0700)]
ci: Add verification step for generated source

This check ensures that the committed generated source files match the
output of the committed generators. We used to have this check on
TravisCI, but it must have gotten lost in the transition to GitHub
Actions.

Change-Id: If6a27994b3bfe8dbd09a962d90cc0c528489bd93

2 years agomockicd: Commit missing generated files
Mike Schuchardt [Wed, 21 Jul 2021 17:26:41 +0000 (10:26 -0700)]
mockicd: Commit missing generated files

These changes should have gone in with the 1.2.185 header update

Change-Id: Ifeded577343a3ee6cf0ca5d14c420bc5d97b28fc

2 years agobuild: Update to header 1.2.185
Mike Schuchardt [Tue, 20 Jul 2021 17:20:43 +0000 (10:20 -0700)]
build: Update to header 1.2.185

- Update known-good
- Re-enable code generation for VK_HUAWEI_subpass_shading
- Generate source

Change-Id: Ibb8d8898c9cdbb655c8162e76b68fa465fe8f912

3 years agovulkaninfo: correct copyright date
Bob Ellison [Tue, 13 Jul 2021 22:24:30 +0000 (16:24 -0600)]
vulkaninfo: correct copyright date

The copyright date declared in vulkaninfo/vulkaninfo.rc
ends in 2020.

3 years agovulkaninfo/cube: added support for FreeBSD
Eleni Maria Stea [Sat, 3 Jul 2021 14:12:30 +0000 (17:12 +0300)]
vulkaninfo/cube: added support for FreeBSD

Made some changes for Vulkan-Tools to compile on FreeBSD.

3 years agobuild: Update to header 1.2.184
Mike Schuchardt [Tue, 6 Jul 2021 20:22:55 +0000 (13:22 -0700)]
build: Update to header 1.2.184

- Update known-good
- Generate source

Change-Id: I6f8219e31038b0efe1e141147292d041655dd640

3 years agodocs: Fix cube wsi selection variable
Tony-LunarG [Fri, 25 Jun 2021 19:54:20 +0000 (13:54 -0600)]
docs: Fix cube wsi selection variable

Change-Id: I0b4d5502d98b5602013c6d56cf9cd4ee4d55db9e

3 years agoknown_good.json updated for latest MoltenVK tag
richard-lunarg [Thu, 1 Jul 2021 22:25:48 +0000 (18:25 -0400)]
known_good.json updated for latest MoltenVK tag

3 years agobuild: Update to header 1.2.183
Mike Schuchardt [Wed, 30 Jun 2021 21:02:03 +0000 (14:02 -0700)]
build: Update to header 1.2.183

- Update known-good
- Generate source

Change-Id: Idd87f69c520cd4ef34a1b9d205f79f7c1c7d9e05

3 years agowindows: updated copyright notices
Bob Ellison [Tue, 29 Jun 2021 21:04:04 +0000 (15:04 -0600)]
windows: updated copyright notices

Updated the master copyright (for Khronos, Valve, and LunarG) to 2021.

Also identified that the four files containing the MIT copyrights were
last updated by LunarG in 2017, so updated those copyrights (again for
Khronos, Valve, and LunarG) accordingly.

I also corrected the spelling of "open-source".

3 years agovulkaninfo: Fix device version check
Xiaolei Yu [Mon, 28 Jun 2021 04:07:57 +0000 (12:07 +0800)]
vulkaninfo: Fix device version check

am 72c2d5f0b0e59bf429144d2e60d8fd6ce1710887

3 years agovulkaninfo: Fix image format query arguments
Charles Giessen [Mon, 21 Jun 2021 20:14:41 +0000 (14:14 -0600)]
vulkaninfo: Fix image format query arguments

The VK_IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT and
VK_IMAGE_CREATE_SPARSE_BINDING_BIT were swapped, causing erroneous output
and validation messages.

Change-Id: Iff61c379f66aedb14e27e7f422516e1469274248

3 years agovkcube: Remove unused variable from Wayland build
Tony-LunarG [Wed, 23 Jun 2021 15:59:49 +0000 (09:59 -0600)]
vkcube: Remove unused variable from Wayland build

Change-Id: Iedc4929547cd58063481e0cf19dda6ba38846a16

3 years agobuild: Update to header 1.2.182
Mike Schuchardt [Mon, 21 Jun 2021 17:10:48 +0000 (10:10 -0700)]
build: Update to header 1.2.182

- Update known-good
- Add support for printing `int64_t` in `scripts/vulkaninfo_generator.py`
- Disable codegen for VK_HUAWEI_subpass_shading
  KhronosGroup/Vulkan-Docs#1564
- Generate source

Change-Id: I4417e99ed37da510bfaf94d676e22ac3fb088d5d

3 years agocube: Handle occlusion where currentExtent == 0xFFFFFFFF
Joshua Ashton [Thu, 17 Jun 2021 17:30:14 +0000 (18:30 +0100)]
cube: Handle occlusion where currentExtent == 0xFFFFFFFF

The Vulkan spec states that: "On some platforms, it is normal that maxImageExtent may become (0, 0), for example when the window is minimized. In such a case, it is not possible to create a swapchain due to the Valid Usage requirements."

Yet vkcube previously only handled this path for platforms where currentExtent != 0xFFFFFFFF.

3 years agocube: Don't constantly call vkAllocateCommandBuffers and vkBeginCommandBuffer when...
Joshua Ashton [Thu, 17 Jun 2021 18:05:16 +0000 (19:05 +0100)]
cube: Don't constantly call vkAllocateCommandBuffers and vkBeginCommandBuffer when minimised

Before this, vkcube would leak these crash when minimised for long periods of time.

3 years agovkcube: Remove unused variable
Tony-LunarG [Wed, 16 Jun 2021 21:48:00 +0000 (15:48 -0600)]
vkcube: Remove unused variable

Change-Id: I8064d5e97700cb1a233b61d37aba92ca5f752560

3 years agovulkaninfo: Dont print None in vkconfig output
Charles Giessen [Mon, 14 Jun 2021 21:30:37 +0000 (15:30 -0600)]
vulkaninfo: Dont print None in vkconfig output

vkconfig prints arrays as it finds them, even if there is only a "None"
element in it. This commit prevents this element from being printed,
removing confusing results where there is a `count = 1` but contains "None".

Change-Id: I1ef8c63458728a9fd3dc531dc9983f309c851034

3 years agovkcube: Fix alpha enum type
Tony-LunarG [Tue, 15 Jun 2021 19:14:06 +0000 (13:14 -0600)]
vkcube: Fix alpha enum type

Change-Id: Id85e0228aeb834de37586fa5d8d334ddc1c7371e

3 years agovkcube: fix crash on exit from double delete
richard-lunarg [Tue, 15 Jun 2021 20:49:50 +0000 (16:49 -0400)]
vkcube: fix crash on exit from double delete

3 years agobuild: Update to header 1.2.181
Mike Schuchardt [Mon, 14 Jun 2021 18:32:44 +0000 (11:32 -0700)]
build: Update to header 1.2.181

- Update known-good
- Generate source (no change)

Change-Id: Ibfdf958ca32779f7635c324af3ed4146186b27c9

3 years agobuild: Add Werror and warning flags to builds
Jeremy Kniager [Thu, 10 Jun 2021 21:00:11 +0000 (15:00 -0600)]
build: Add Werror and warning flags to builds

Added the Werror, Wall, and Wextra flags to builds in CMake.

Change-Id: I58ff7c7d175b512906141b0e691f42b8eb4bf68f

3 years agocube: Port Wayland impl from wl-shell to xdg-shell
Manuel Stoeckl [Thu, 27 Jun 2019 00:55:53 +0000 (20:55 -0400)]
cube: Port Wayland impl from wl-shell to xdg-shell

This change ports vkcube in both C and C++ versions to use the stable
xdg-shell protocol for Wayland compositors. The original wl-shell
protocol has been deprecated and is being removed from major compositor
libraries; wlroots has already dropped support.

New cmake modules have been added to look for Wayland-Protocols
(containing XML descriptions of all common protocols) and
`wayland-scanner`, the tool used to convert the XML files to a usable C
interface.

The change also adds support for the xdg-decoration protocol, which for
some compositors is provided and needed to let them know that they
should draw a titlebar, borders with resize controls, and other standard
features.

Change-Id: I39bedda93a7c5d0aeeb59c68023552723b413567

3 years agovulkaninfo: Improve formatting of surface caps
Charles Giessen [Thu, 10 Jun 2021 22:19:21 +0000 (16:19 -0600)]
vulkaninfo: Improve formatting of surface caps

VkSurfaceCapabilities has the width & height way out to the right
while the rest of the structure doesn't. This makes it look inconsistent.

This PR also changes the layout of the flag and flagbit printers to return
earlier if possible.

Change-Id: I1b478838b3c95e33354d3daf13040e891454324e

3 years agovulkaninfo: Use autogen supportedSurfaceCounters
Charles Giessen [Thu, 10 Jun 2021 21:57:15 +0000 (15:57 -0600)]
vulkaninfo: Use autogen supportedSurfaceCounters

Change-Id: I65056198dfe1c9a10c9f04f09f9bdb11d4ff903e

3 years agovulkaninfo: Fix compiler warnings
Charles Giessen [Thu, 10 Jun 2021 21:37:25 +0000 (15:37 -0600)]
vulkaninfo: Fix compiler warnings

Fixes the implicit conversion of int to size_t and hidden declarations.

Change-Id: I98a3eeb76acfc4dffa0c6a06bb6e72931e4e16d6

3 years agovkcube: Fix compilier warnings
Tony-LunarG [Fri, 11 Jun 2021 18:00:30 +0000 (12:00 -0600)]
vkcube: Fix compilier warnings

Change-Id: I199d4064f0e034cb747a87844c250203fcf22157

3 years agobuild: Update to header 1.2.180
Mike Schuchardt [Mon, 7 Jun 2021 20:44:49 +0000 (13:44 -0700)]
build: Update to header 1.2.180

- Update known-good
- Generate source

Change-Id: I41d51ecab3257530ad733fe977f92d9c482543e6

3 years agovkcube: Resize on SUBOPTIMAL if necessary
Tony-LunarG [Fri, 4 Jun 2021 21:12:55 +0000 (15:12 -0600)]
vkcube: Resize on SUBOPTIMAL if necessary

Change-Id: I6421c661880695ba359969fb5e8752e2140167f5

3 years agovkcube: Fix disturbed rotation after many iterations
Arman Uguray [Tue, 25 May 2021 07:07:24 +0000 (00:07 -0700)]
vkcube: Fix disturbed rotation after many iterations

vkcube computes the model matrix for the cube by repeatedly multiplying
a rotation matrix with it. After a sufficient number of iterations the
matrix becomes disturbed (likely due to numerical errors) and stops
being orthogonal and the cube vertices start scaling increasingly on the
XY plane.

* Orthonormalize the model matrix after each multiplication to prevent
the scaling.
* Use mat4x4_rotate_Y() instead of mat4x4_rotate() as it is less
verbose.
* Remove unused duplicate vkcube_vs_uniform struct.

3 years agoTrigger demo quit from applicationWillTerminate
Jake Turner [Tue, 18 May 2021 04:55:51 +0000 (05:55 +0100)]
Trigger demo quit from applicationWillTerminate

Allows for a clean shutdown of the rendering thread (CVDisplayLink) whilst the main thread is exiting

3 years agotests: Run update on Linux before tests
Jeremy Kniager [Fri, 28 May 2021 20:12:54 +0000 (14:12 -0600)]
tests: Run update on Linux before tests

Change-Id: I523972dd44236659764e12d00ebf2ccb2568d5a6

3 years agobuild: Update to header 1.2.179 upstream/1.2.179
Mike Schuchardt [Mon, 24 May 2021 15:39:00 +0000 (09:39 -0600)]
build: Update to header 1.2.179

- Update known-good
- Generate source

Change-Id: Ib8666fe063852297f746dbea1b8b34346000b13d

3 years agovulkaninfo: Update License and Refactor AppGpu
Charles Giessen [Tue, 18 May 2021 20:47:20 +0000 (14:47 -0600)]
vulkaninfo: Update License and Refactor AppGpu

* Simplify AppQueuefamilyProperties
* Create and store AppQueueFamilyProperties in AppGpu instead of creating them
on the fly
* Make all uses of 2 struct's use the original struct where appropriate
  * This means the printers will use props.limits instead of props2.limits
* Remove unused functions
* Remove unused variables
* Add sparseBinding to enabled features (previously there were none)
* make_vulkan_version function introduced

Change-Id: I872dd060dbf709b5b39610775fb88718ff8b19a5

3 years agovulkaninfo: Remove redundant platform guards
Charles Giessen [Tue, 18 May 2021 19:22:18 +0000 (13:22 -0600)]
vulkaninfo: Remove redundant platform guards

Change-Id: Id53c7c1cbee21f7113a8e82f64711915119d1d54

3 years agovulkaninfo: Tidy up code
Charles Giessen [Tue, 18 May 2021 19:18:39 +0000 (13:18 -0600)]
vulkaninfo: Tidy up code

* Initialize many variables
* Add const where appropriate
* Use any_of instead of a raw for loop

Change-Id: I7d0c1ff8c1798d7ff589b4d6a641dba32966a5e8

3 years agovulkaninfo: use trivial_optional type instead of pair
Charles Giessen [Tue, 18 May 2021 19:17:09 +0000 (13:17 -0600)]
vulkaninfo: use trivial_optional type instead of pair

Replace the ad-hoc pair with a bool and a type with a proper class that
makes the interface clear. The `util::trivial_optional<T>`
type requires T to be trivially copyable and constructable, but otherwise
follows the conventions of C++17's <optional>.

Change-Id: I5b3b981be0af2ecd4b05380a5d030b9ecc0be1d0

3 years agovulkaninfo: Add check for printing memory budget
Jeremy Kniager [Mon, 17 May 2021 20:57:47 +0000 (14:57 -0600)]
vulkaninfo: Add check for printing memory budget

Added check for the `VK_EXT_memory_budget` before printing memory usage
and memory budget under VkPhysicalDeviceMemoryProperties.

Change-Id: I98bd22ede919087700950e67a206303026540d3a

3 years agoicd:Consider DS when setting format bits
Tobin Ehlis [Fri, 25 Sep 2020 22:03:40 +0000 (16:03 -0600)]
icd:Consider DS when setting format bits

When setting device format properties, don't set color attachment-
related bits for DS formats and don't set DS attachment bit for
color formats.

Fixes #445

3 years agobuild: Update to header 1.2.178
Mike Schuchardt [Tue, 11 May 2021 18:47:39 +0000 (11:47 -0700)]
build: Update to header 1.2.178

- Update known-good
- Generate source

Change-Id: Iecb34b6221526dc5c6153c736fce894488989066

3 years agovulkaninfo: Add pipelineUUID printing to text,html
Charles Giessen [Tue, 11 May 2021 17:14:18 +0000 (11:14 -0600)]
vulkaninfo: Add pipelineUUID printing to text,html

Change-Id: Ia9b1679188505a765c33b14aab46749f823f4a23

3 years agoUpdate known_good.json
Richard S. Wright Jr [Tue, 11 May 2021 15:59:31 +0000 (11:59 -0400)]
Update known_good.json

Updated to the latest MoltenVK tag.

3 years agovulkaninfo: Fix signed conversion warning in MSVC
Charles Giessen [Tue, 11 May 2021 16:33:01 +0000 (10:33 -0600)]
vulkaninfo: Fix signed conversion warning in MSVC

Change-Id: I0ff94c9c09707fd6a49cefa62e32e719e207b721