| Age | Commit message (Collapse) | Author |
|
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
|
|
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.
|
|
Shared depth buffer and image layout transition both
need to be accounted for
Change-Id: Id26bc47798c58e4435a5585def3161105b7fffd1
|
|
Change-Id: Id709544863b50def407d7e18c330914bebc9c03a
|
|
This is assigned but never used.
Pointed out by coverity.
|
|
This was pointed out by coverity.
|
|
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
|
|
|
|
|
|
Change-Id: I633c97e9b82a6b5069cc2e7a83106f5d17600c6b
|
|
Add explicit casts for nullptr values passed to vulkan.hpp so the
correct function overload is selected.
|
|
Still need to remove MIR from scripts/common_codegen.py
and from the Vulkan wrapper.
Change-Id: Ib00cbe10b3e80878fb5e15c1e628685f33d31331
|
|
|
|
There is no guarantee that linear images are supported
Change-Id: Ie59f3bf7bfc1d77e17f1d06ffc524e886dca46a6
|
|
As of Vulkan-ValidationLayers commit 2872f4a, the layers now check that
image layouts specified in descriptors match the current image layout
state. LAYOUT_GENERAL is not a wildcard for this matching.
Change the image layouts for the combined image sampler descriptors
from LAYOUT_GENERAL to LAYOUT_SHADER_READ_ONLY_OPTIMAL.
|
|
From the spec:
Whilst it is not invalid to provide destination or source access
masks for memory barriers used for release or acquire operations,
respectively, they have no practical effect. Access after a release
operation has undefined results, and so visibility for those accesses
has no practical effect. Similarly, write access before an acquire
operation will produce undefined results for future access,
so availability of those writes has no practical use. In an earlier
version of the specification, these were required to match on both
sides - but this was subsequently relaxed.
These masks should be set to 0.
Change-Id: I495dc86ad62c0651fbc6acbfb0dfbb8245a324be
|
|
The QueueFamilyIndex fields only come into play when you want
to use an image in two or more queues from different queue
families, which cube does not do.
Change-Id: I610aa8899539eeb25ca06254b88e6a6d0a2ffc97
|
|
- Modify cube and cubepp to obtain the texture image data from
an include file instead of reading a PPM file at runtime.
(This is the way it works for Android)
This removes the need to install an image file or otherwise
make an image file available in a repo build.
- Add cube and cubepp to the install target.
Note: The file handling code is left in place to make it easy
to add a "-texture_file <file>" option so a user can pass in
a texture file.
Fixes #5
|
|
Change-Id: Ie1116b0b6de742b4f85834a4c9d1927dd641e19b
|