| Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
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.
|
|
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.
|
|
- Vulkan::Registry was removed
- vk_sdk_platform.h is deprecated
NOTE: Need to update loader due to shared dependency.
|
|
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.
|
|
|
|
Currently cubepp fails on Debug builds and triggers an assert.
This avoids the assert by calling the appropriate presentKHR.
|
|
|
|
|
|
Encountered the crash on a compositor without keyboard, this seems to
fix it.
|
|
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
|
|
Make vulkaninfo and vkcube/vkcubepp enable the portability enumeration bit if it is
available.
|
|
|
|
|
|
|
|
The width and height parameters don't need to be ints, use uint32_t for consistency.
Demo& is more idiomatic C++ than Demo*.
|
|
|
|
The differing logic led to vkcube choosing a different swapchain image format
to vkcubepp.
|
|
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
|
|
Change-Id: I650958a8b2607eb3402eb6531909881d4a2ccc0f
|
|
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.
|
|
Expect and deny negative window dimensions.
|
|
Made some changes for Vulkan-Tools to compile on FreeBSD.
|
|
Change-Id: Iedc4929547cd58063481e0cf19dda6ba38846a16
|
|
Change-Id: I8064d5e97700cb1a233b61d37aba92ca5f752560
|
|
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
|
|
Change-Id: I199d4064f0e034cb747a87844c250203fcf22157
|
|
Change-Id: I6421c661880695ba359969fb5e8752e2140167f5
|
|
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.
|
|
Change-Id: I3075c06220d9b02a3eb9b2e6846a13b9ceea1abe
|
|
Change-Id: Ie2533ad22e4bf9672f749138baddc0313169d09b
|
|
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.
|
|
|
|
VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME would be defined
|
|
|
|
|
|
|
|
Change-Id: Ic6ff0210b586e03597aa3418b45bf0fa57b1157c
|
|
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
|
|
Changes:
- Updated known-good files
- Generated new source files
- Removed `VULKAN_HPP_NO_SMART_HANDLE` definition for `cube.cpp`
Change-Id: Icb0152455f2c0b21a29d70462d05b958c53be861
|
|
The C++ Vulkan headers will default initialize objects, not need to memset it.
Change-Id: Icdc5cde13410bc7f0002c2d6d4075e79100fd86d
|
|
Best practice is to leave memory mapped for the life of the app
rather than map-update-unmap
Change-Id: Iab7ff62a4ebdf47f4916f7d769d0cf3647a52d31
|
|
This reverts commit 6f6e3371c92ac63bf29d5010b2933659e3f8dbef.
We've received complaints that this change is incompatible with
Wayland users running the Weston compositor
Change-Id: Icd0c96a7726969570655b886d8fb623a04543985
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Change-Id: I6989c7da3e36ec8531ff390ca9ee2f9710776f11
|