aboutsummaryrefslogtreecommitdiff
path: root/cube/cube.cpp
AgeCommit message (Collapse)Author
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
2019-07-26cube: Workaround macOS cube issueMike Schuchardt
Latest version of MoltenVK behaves in an apparently non-conformant way by not allowing some linear images to be mapped to memory with VK_MEMORY_PROPERTY_HOST_COHERENT_BIT. This change sidesteps the issue by forcing the use of staging buffer for loading textures.
2019-06-17cube: Add subpass dependenciesTony-LunarG
Shared depth buffer and image layout transition both need to be accounted for Change-Id: Id26bc47798c58e4435a5585def3161105b7fffd1
2019-06-06cube: Add usage message on WindowsTony-LunarG
Change-Id: Id709544863b50def407d7e18c330914bebc9c03a
2019-04-23cube: remove unused validation_layer_count.Dave Airlie
This is assigned but never used. Pointed out by coverity.
2019-04-23cube.cpp: fix uninit non-static member.Dave Airlie
This was pointed out by coverity.
2019-04-09scripts: Update known good for 106 header updateShannon McPherson
Changes: - Integrate upstream script changes: We have to plumb-through the new conventions object to continue using the makeCParamDecl utility function - Add GGP to available platforms - Define `VULKAN_HPP_TYPESAFE_CONVERSION` in `cube.cpp` to avoid build errors concerning explicit/implicit casting in `vulkan.hpp` - Update known-good files Updated: - `build-android/vulkan-headers_revision_android` - `cube/cube.cpp` - `scripts/common_codegen.py` - `scripts/known_good.json` - `scripts/kvt_genvk.py` - `scripts/mock_icd_generator.py` - `scripts/vulkan_tools_helper_file_generator.py` Change-Id: Ie9deb9f088d666195bcb987e30974f274d33fc85
2019-04-08cube: Update cube apps to use Khronos val layerMark Lobodzinski
2019-02-14vkcube: Implement key events in WindowsPetr Kraus
2018-11-19cube: Update cube/vkcube namingLenny Komow
Change-Id: I633c97e9b82a6b5069cc2e7a83106f5d17600c6b
2018-10-31demos: Fix cubepp with latest vulkan.hppMike Schuchardt
Add explicit casts for nullptr values passed to vulkan.hpp so the correct function overload is selected.