aboutsummaryrefslogtreecommitdiff
path: root/cube/cube.cpp
AgeCommit message (Collapse)Author
2024-03-18Fix VULKAN_HPP_TYPESAFE_CONVERSION defineShahbaz Youssefi
Vulkan-Hpp now compares this with 1 instead of using `#if defined()`.
2023-12-20Fix vkcubepp installation on MacOSJuan Ramos
Avoids relying on Vulkan-Hpp for fixing vkcubepp regression
2023-11-16cube: Fix layers on AppleJuan Ramos
Otherwise layers won't work on Apple
2023-11-16cube: Use volk to load functionsCharles Giessen
Add volk as a repo dependency to replace the dependency on the Vulkan-Loader. This makes it easier to build the repo as the vulkan-loader has a much more complex build than volk does. It also allows vkcube to launch without vulkan being installed on the system, allowing for better error handling. Because volk can be used on all platforms, there is no longer a need for android_wrapper. Thus it has been removed.
2023-11-16cubepp: Use dynamic dispatcherCharles Giessen
This removes vkcubepp's linking to the vulkan-loader in order to build. That way the Vulkan-Loader isn't a dependency for vkcubepp.
2023-10-12cubepp: Verify correct pipeline resultCharles Giessen
2023-10-06cmake: Upgrade to C++17Juan Ramos
Addresses various other issues with setting compiler flags. CMAKE_C_FLAGS / CMAKE_CXX_FLAGS should NOT be used anymore. Addressed one minor C++17 issue caused by [[nodiscard]]. Remove compiler flags from Application.mk since they weren't needed and will soon be entirely replaced by CMake. closes #711
2023-08-24Add QNX support (VK_QNX_screen_surface) to C and C++ variants of vkcube.Mike Gorchak
Additionally add support for RGB565 and RGBA5551 pixel formats, because some Vulkan drivers under QNX report these formats first as preferable.
2023-08-02pMessageIdName maybe NULL.Water Chika
2023-05-25vkcubepp: Fix cmd buffer/pool leakTony-LunarG
2023-05-05cube: remove unnecessary use-xlibPowei Feng
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