aboutsummaryrefslogtreecommitdiff
path: root/cube/cube.cpp
AgeCommit message (Collapse)Author
2023-03-27vkcubepp: Fix custom height not workingCharles Giessen
2023-02-19Fixed cube.cpp crashing on Windows when minimized.berryboy2012
2023-01-18cube: Check for width & height less are than zeroCharles Giessen
The code would correctly reject widhth & height command line prameters that weren't greater than 0, but without a helpful error message about what was actually wrong.
2023-01-18cubepp: Make sure width & height are > 0Charles Giessen
This check was present in cube but wasn't added to cubepp. Because width and height are stored as uint32_t, we first need to read them in as int32_t and make sure they aren't negative.
2023-01-18vkcube: Fix object type printing in 32 bit modeCharles Giessen
Previously the code assumed that all types were convertable to void*, since they happened to have the same size on 64 bit platforms. But in 32 bit, this is not true. Now the code converts dispatchable handles to uintptr_t then to void* only for dispatchable types, printing all other types as non-dispatchable 64 bit ints.
2023-01-10build: Update vulkan headersJuan Ramos
- Vulkan::Registry was removed - vk_sdk_platform.h is deprecated NOTE: Need to update loader due to shared dependency.
2022-12-01cube & cubepp: Handle negative gpu selectionsCharles Giessen
Previously, a negative gpu number (other than -1) would cause the program to assert. It is simple enough to handle it gracefully, so best to do so.
2022-12-01cubepp: Set the apiVersion to 1.0Charles Giessen
2022-10-20cubepp: Fix presentKHR assertJuan Ramos
Currently cubepp fails on Debug builds and triggers an assert. This avoids the assert by calling the appropriate presentKHR.
2022-08-31vulkaninfo/cube: added support for OpenBSDBrad Smith
2022-05-26vkcubepp: Use correct extension for portability enumerationCharles Giessen
2022-05-19cube: add null check on wl_*_destroy functionsshironeko
Encountered the crash on a compositor without keyboard, this seems to fix it.
2022-05-12cubepp: Fix VK_KHR_display compile errorMike Schuchardt
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
2022-04-11cube,vulkaninfo: Add portability_enumeration if presentCharles Giessen
Make vulkaninfo and vkcube/vkcubepp enable the portability enumeration bit if it is available.
2022-03-31cubepp: Fix wayland regressionCharles Giessen
2022-03-30cubepp: Fix regression in VK_KHR_displayCharles Giessen
2022-03-21cubepp: Add debug utils messengerCharles Giessen
2022-03-21cubepp: Use uint32_t and Demo&Charles Giessen
The width and height parameters don't need to be ints, use uint32_t for consistency. Demo& is more idiomatic C++ than Demo*.
2022-03-21vkcubepp: Address feedback from code-reviewCharles Giessen
2022-03-21cubepp: Copy cubes swapchain format selectionCharles Giessen
The differing logic led to vkcube choosing a different swapchain image format to vkcubepp.
2022-03-21cubepp: Cleanup usage of C++ and vulkan.hppCharles Giessen
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
2021-12-12Fix error messages upon failure to connect to window systems.C Stout
Change-Id: I650958a8b2607eb3402eb6531909881d4a2ccc0f
2021-12-01vkcube/vkcubepp: Add option to force validation errorsMark Young
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.
2021-08-31cubepp: Fix gitlab 828.Jeremy Hayes
Expect and deny negative window dimensions.
2021-07-07vulkaninfo/cube: added support for FreeBSDEleni Maria Stea
Made some changes for Vulkan-Tools to compile on FreeBSD.
2021-06-23vkcube: Remove unused variable from Wayland buildTony-LunarG
Change-Id: Iedc4929547cd58063481e0cf19dda6ba38846a16
2021-06-17vkcube: Remove unused variableTony-LunarG
Change-Id: I8064d5e97700cb1a233b61d37aba92ca5f752560
2021-06-14cube: Port Wayland impl from wl-shell to xdg-shellManuel Stoeckl
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
2021-06-11vkcube: Fix compilier warningsTony-LunarG
Change-Id: I199d4064f0e034cb747a87844c250203fcf22157
2021-06-07vkcube: Resize on SUBOPTIMAL if necessaryTony-LunarG
Change-Id: I6421c661880695ba359969fb5e8752e2140167f5
2021-06-03vkcube: Fix disturbed rotation after many iterationsArman Uguray
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.
2021-03-15cube: Select phy device for DISPLAYTony-LunarG
Change-Id: I3075c06220d9b02a3eb9b2e6846a13b9ceea1abe
2021-01-15vkcube: Add options --width and --height to specify width and heightNicolas Caramelli
Change-Id: Ie2533ad22e4bf9672f749138baddc0313169d09b
2021-01-12vkcube: Improve GPU auto-selectionWitold Baryluk
Instead of selecting GPU 0, prefer dGPU, iGPU, vGPU, CPU, OTHER. In that order. If user selects specific gpu_number (including 0), use only that and don't fallback to anything else, even when incorrect.
2021-01-06vkcube: portabilty extension as text so it builds on all platformsRichard S. Wright Jr
2021-01-06Defined VK_ENABLE_BETA_EXTENSIONS so that ↵Richard S. Wright Jr
VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME would be defined
2021-01-06vkcube: Updated to support portability extension properlyRichard S. Wright Jr
2020-08-07Fix formatting errorsNicolas Caramelli
2020-08-07Add support for VK_EXT_directfb_surface extensionNicolas Caramelli
2020-07-17cube: Add option to select phys deviceTony-LunarG
Change-Id: Ic6ff0210b586e03597aa3418b45bf0fa57b1157c
2020-05-07build: Update known-good files for 1.2.140 headerMike Schuchardt
Changes: - Modify cubepp to use initializer lists for some calls because the compiler could not deduce the correct overload from the int+pointer array specification - Propagate genvk.py changes from VVL - Modify .gitattributes so generated files are checked out with LF line-endings - Updated known-good files - Generated new source files
2020-04-13build: Update known-good files for 1.2.137 headerShannon McPherson
Changes: - Updated known-good files - Generated new source files - Removed `VULKAN_HPP_NO_SMART_HANDLE` definition for `cube.cpp` Change-Id: Icb0152455f2c0b21a29d70462d05b958c53be861
2020-03-20cube: Remove redundant memsetCharles Giessen
The C++ Vulkan headers will default initialize objects, not need to memset it. Change-Id: Icdc5cde13410bc7f0002c2d6d4075e79100fd86d
2019-12-19cube: Leave uniform memory mappedTony-LunarG
Best practice is to leave memory mapped for the life of the app rather than map-update-unmap Change-Id: Iab7ff62a4ebdf47f4916f7d769d0cf3647a52d31
2019-12-06Revert "cube: Port Wayland impl from wl-shell to xdg-shell"Tony-LunarG
This reverts commit 6f6e3371c92ac63bf29d5010b2933659e3f8dbef. We've received complaints that this change is incompatible with Wayland users running the Weston compositor Change-Id: Icd0c96a7726969570655b886d8fb623a04543985
2019-12-02vkcube: Replace MoltenVK surfaces with MetalBill Hollings
Made DemoViewController.m compatible with VK_EXT_metal_surface extension and replaced all references to VK_MVK_macos_surface and VK_MVK_ios_surface with VK_EXT_metal_surface. Change-Id: I4a163bc9c6109b44d169c6565313ab52161d38fc
2019-11-27vkcube: Fix Cube Squishing on ResizeJeremy Kniager
Modified viewport creation in vkcube to keep the aspect ratio square and centered. This change prevents cube from squishing and warping when the window is resized. It now shrinks and grows. Change-Id: Ie2b3c5747293dfed968af5d83b581ac74d81bb10
2019-11-25cube: Port Wayland impl from wl-shell to xdg-shellManuel Stoeckl
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
2019-10-14cube: Revert 1.1.114 SDK workaround for vkcubeJeremy Kniager
During the release of the 1.1.114 MacOS SDK a workaround for vkcube was needed to get it functioning in time for release. The underlying problem has since been fixed and this workaround is not longer necessary. Change-Id: I3ad3d1bafa44cfbc158820025bb22757d6e5683d
2019-09-13cube: Handle SURFACE_LOST return codeTony-LunarG
Change-Id: I6989c7da3e36ec8531ff390ca9ee2f9710776f11