aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-08-29vulkaninfo: Handle empty video profile name suffix nicerDaniel Rakos
2025-08-29Disable MacOS CI warnings as errorsCharles Giessen
Stops a deprecation notice from failing CI jobs for the time being while an upgrade is written.
2025-08-25vkcube: use _NET_WM_NAME property on X11Austin Shafer
This sets the WM_NAME property in X11/Xwayland, usually displayed as the name on the application titlebar. The motivation for this is to help with automated testing environments on Xwayland. Testing frameworks such as wltest may use compositor methods to automate controlling a window to perform tests. When running through Xwayland, clients normally do not have much information exposed about them which can make it difficult for the test framework to find and manipulate the correct window. This change defines the WM_NAME property to allow scripting frameworks (such as Kwin's js API) to be able to find Vkcube on Xwayland.
2025-08-25build(deps): bump actions/checkout from 4 to 5dependabot[bot]
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2025-08-25mock_icd: Remove legacy video supportDaniel Rakos
2025-08-14vulkaninfo: Default init VkVideoCapabilitiesKHRCharles Giessen
2025-08-12build: Update to header 1.4.325Mike Schuchardt
2025-07-21build: Update to header 1.4.323Mike Schuchardt
- Fix a warning in cube.cpp due to resetFences becoming nodiscard
2025-07-20cube: Fix wayland resize broken when extent is 0xFFFFFFFFCharles Giessen
This is a 'magic value' that shouldn't be allowed to overwrite the current window width & height. There is code to handle the value, but not everywhere it can come from.
2025-07-17build: Remove pkg-config provided library namesCharles Giessen
The library names of Xcb, Xlib, and Wayland do not need to be queried from pkg-config, instead they can be hardcoded to use the fallback names. The intent of querying the library names was to prevent issues where the hardcoded name was not the platform-appropriate name. But because <library>_LINK_LIBRARIES can have more than one library name, the logic to assign <library>_LINK_LIBRARIES into a compile definition breaks horribly. While it is possible to handle this in CMake, the dlopen code would also have to handle it which is much more error prone.
2025-07-14build: Update to header 1.4.322Mike Schuchardt
2025-07-14Update known_good.jsonRichard S. Wright Jr.
Updated for latest version of MoltenVK
2025-07-07build: Update to header 1.4.321Charles Giessen
Includes necessary changes for VK_KHR_surface_maintenance1
2025-06-30vulkaninfo: Don't write keys while inside of an arrayCharles Giessen
Adds logic to ignore the key when printing a key-value if the current context is an array, since that is not valid JSON.
2025-06-30vulkaninfo: Pretty print vendorID and deviceID in codegenCharles Giessen
2025-06-30mock_icd: Add VkPhysicalDeviceLayeredApiPropertiesListKHR to outputCharles Giessen
2025-06-30mock_icd: Write count in vkEnumerateDeviceExtensionPropertiesCharles Giessen
2025-06-30mock_icd: Fix vkGetPhysicalDeviceSurfacePresentModesKHR not writing count.Charles Giessen
2025-06-30cube: prefer Wayland over X11 when availableXaver Hugl
In Wayland sessions, X11 is still available through a compatibility layer, but should effectively never be used over a native Wayland connection if the application is capable of that.
2025-06-28cube: Move instance function declarationCharles Giessen
Wasn't moved after fixing that it was treated as a device function.
2025-06-27build: Update to header 1.4.320Mike Schuchardt
2025-06-20build: Update to header 1.4.319Mike Schuchardt
2025-06-13build: Update to header 1.4.318Mike Schuchardt
2025-06-06build: Update to header 1.4.317Mike Schuchardt
2025-05-30build: Update to header 1.4.316Mike Schuchardt
2025-05-09build: Update to header 1.4.315Mike Schuchardt
2025-05-05build: Update to header 1.4.314Mike Schuchardt
2025-04-28cube: Fix validation warningNathaniel Cesario
Ensures vkCreateDisplayPlaneSurfaceKHR is loaded using vkGetInstanceProcAddr rather than vkGetDeviceProcAddr.
2025-04-28cube: Link to CMAKE_DL_LIBSCharles Giessen
Previously volk was doing this for cube, but with that removed vkcube/vkcubepp have to link it themselves.
2025-04-25build: Remove Volk dependencyCharles Giessen
The intent of using Volk for function loading was to validate Volk's implementation continually with each header update. This didn't end up occurring, as Volk does not get updated in lock step with Vulkan-Tools, leading to Vulkan-Tools using an older version of Volk. And then during SDK release the version would need to be updated at the last minute, causing churn and extra work. Function loading now occurs in two new files, cube_functions.h and vulkaninfo_functions.h. Since both cube and vulkaninfo's function usage are fixed (as in not code-generated), it is straightforward to implement the necessary Vulkan-Loader library opening and function loading code.
2025-04-25vulkaninfo: Make Presentable Surfaces array uniqueCharles Giessen
Makes each JSON field unique in the Presentatble Surfaces array by appending the list of surfaces to the object name.
2025-04-23build: Update volk dependency to 1.4.313Charles Giessen
2025-04-21cube: Update missing WSI extension messagesCharles Giessen
Better indicates the error that triggered the message, and what the user should do about it.
2025-04-21cube: Update formatting to clang-format-18Charles Giessen
2025-04-18build: Update to header 1.4.313Mike Schuchardt
2025-04-16cube: Fix broken framecountCharles Giessen
2025-04-11cube: Re-record command buffers each frameCharles Giessen
Rerecord command buffers every frame, as command buffer recording isn't slow, and outside of trivial samples (like vkcube) isn't a practical architecture for organizing a Vulkan renderer. This makes vkcube and vkcubepp reflect typical Vulkan renderer architecture and serves as a better sample. Create structs to organize objects into distinct synchronization scopes, one for submissions and the other for swapchains. Resources associated with a swapchain image such, as image views, framebuffers, and presentation semaphores, must be duplicated as many times as there are swapchain images. This number is dependent on the runtime, so can't be pre-determined. The submission resources, which are the command buffers, fences, descriptor sets, device memory, and uniform buffers, only needs duplication for the pipelining. Specifically, this allows the GPU to execute a command buffer while the CPU record the next frame's command buffer. The FRAME_LAG constant dictates the pipeline depth, commonly called double buffering, and is set to 2 since that is sufficient for a vast majority of use cases. Swapchain resizing now only re-creates the bare necessity of resources: Swapchain, image views, framebuffers, presentation semaphores, and the depth buffer. Presentation semaphores are recreated to prevent state from an old swapchain from polluting a new swapchain. The depth buffer is re-created since its size is dependent on the window size. All other objects, such as pipelines and renderpasses, do not need recreation as they either are not liable to change during resizing, or have mutable state that can be flexibly updated, such as dynamic pipeline viewport and scissors. The code for dynamic viewports and scissors was already present but wasn't taken advantage of until now.
2025-04-11cubepp: Fix incremental present on swapchain recreateCharles Giessen
2025-04-11cube: Only count non-minimized framesCharles Giessen
2025-04-08vkcubepp: refactor: Add MacOS fix.Water Chika
2025-04-08vkcubepp: Refactor create_window and run functionsWater Chika
2025-04-07Update cube/cube.cppWater Chika
Co-authored-by: Charles Giessen <46324611+charles-lunarg@users.noreply.github.com>
2025-04-07Update cube/cube.cWater Chika
Co-authored-by: Charles Giessen <46324611+charles-lunarg@users.noreply.github.com>
2025-04-07Select physical device before create surface is platform is WSI DisplayWater Chika
2025-04-07build: Update to header 1.4.312Mike Schuchardt
2025-03-27cmake: Check wayland pkgconfig deps for cubeCharles Giessen
2025-03-27vulkaninfo: Fix unreported extension formatsLuis Jose-Romero
Changes the format support check to compare against the device extensions instead of the instance extensions.
2025-03-21build: Update to header 1.4.311Mike Schuchardt
2025-03-08cube: Fix protected memory pNext chainsCharles Giessen
The chains were including the structs even when protected memory isn't desired, triggering validation errors.
2025-03-08vulkaninfo: Use Object in video props vkconfig outputCharles Giessen