Age | Commit message (Collapse) | Author | Files | Lines |
|
It is currently impossible to reliably throttle presentation per the
Vulkan spec.
The previous code was relying on fences returned by
vkAcquireNextImageKHR() to throttle. The only information this fence
holds is whether it is possible to render to that image since the *last
time* it was presented, which could have happened several frames ago.
Instead, we can throttle the rendering by passing a fence to
vkQueueSubmit().
The previous code (only the cube.c version) was using a fence there to
synchronize a vkMapMemory() in demo_update_data_buffer(), which doesn't
seem necessary.
Before this commit, we were effectively throttling to the number of
frames in the swapchain rather than on FRAME_LAG.
In the FIFO present mode, this could schedule too much work in the
presentation channel (since we have to account for VBLANK events)
and thus causing undesired side effects, such as stutters when trying
to move the cube window on a desktop, which is I assume why the
throttle code was added in the first place.
|
|
|
|
The VkPhysicalDeviceFeatures dump missed the multiViewport and
samplerAnisotropy fields. The alphaToOne field was at the wrong position
(compared to the official definition in the Vulkan specification).
The fields {vertex,fragment}StoresAndAtomics as well as
shaderTessellationAndGeometryPointSize had the misleading and incorrect
names {vertex,tessellation,geometry}SideEffects.
|
|
Fixes #1664
|
|
The only DbgMsg messages left tell the user, if they use
"--incremental_present", whether the functionality is actually being
used, or if the VK_KHR_incremental_present extension isn't available.
NOTE: When somebody wants to see all of the DbgMsg messages, they should
use "git revert" with this commit.
Change-Id: Ic4189cbec2a64c50135b16c331c808fbbce975dc
|
|
Show how to use the VK_KHR_incremental_present extension. Other notes:
- There are a few diagnostic DbgMsg()'s, which can help show the usage.
- Added a "--incremental_present" command-line option to turn on use of
VK_KHR_incremental_present
- Should compile and run on Windows, Linux, and Android, but the feature will
only really be used on systems that support the extension.
Change-Id: I8a79d806cab7d35197c94dd85358a62b6b7469be
|
|
The only DbgMsg messages left tell the user, if they use
"--display_timing", whether the functionality is actually being used, or
if the VK_GOOGLE_display_timing extension isn't available.
NOTE: When somebody wants to see all of the DbgMsg messages, they should
use "git revert" with this commit.
|
|
Show how to use the VK_GOOGLE_display_timing extension (currently, only
available on the Android O release). Other notes:
- There are many diagnostic DbgMsg()'s, which can help show the usage.
- This includes a port of the Vulkan CTS (dEQP) time code for use in
cube.
- Added a "--display_timing" command-line option to turn on use of
VK_GOOGLE_display_timing
- Compiles and runs on Windows, Linux, and Android, but the feature will
only really be used on systems that support the extension.
|
|
Addresses GH #1048
Change-Id: Ie94796bcd13dc506e1b97c483763df9023567ac6
|
|
This fixes the a few occurences in demos, the loader and a test.
It also adds the warning to the always-on list so it will prevent
future regressions.
Fixes #1587.
Change-Id: I26f69e977b57749a3ab4ddb548ada95384131edc
|
|
Change-Id: I44e3654ee8d2f1b127284ae5f66ca75cb9ff54a7
|
|
Added option to cube demo "--validate-checks-disabled".
This option will use the VK_EXT_validation_flags extension to cause
validation to skip all validation flags that have a flag.
This is meant to provide a basic test for the VK_EXT_validation_flags
extension and find any obvious bugs/crashes.
|
|
Change-Id: I6ec4465d52db8f3b6d41a13d3238957a41a6ea1f
|
|
Fix GH 116: Cube demo does not allocate depth buffer in device local
heap.
Change-Id: Ic368bc039fc555f0d8739b0aeb6648237a6fcc5c
|
|
Change-Id: I937f1387ca6d4405cbceea12d66e97985d367bbd
|
|
|
|
- Add a newline to the end of the error message when printing to stdout
for ERR_EXIT.
- Handle demo_read_spv failures by calling ERR_EXIT rather than just
continuing on and calling the Vulkan library with a NULL pointer.
|
|
Change-Id: Idb2991972bdd91c3e48ad5d796de4b31d7138c98
|
|
Although this extension is platform agnostic, this commit only enables
it on Linux because this is the only platform I am able to test.
Direct to display is enabled by passing '-DDEMOS_WSI_SELECTION=DISPLAY'
to cmake.
Change-Id: I5f23019d4b0c87104e1f834d3a6901850bfda7a3
|
|
Change-Id: I1e9d088d744bd1c4745a4c77ea75207f5350bf02
|
|
Since the size of a memory heap can be rather substantial, it is helpful
to have the size additionally printed out in a human-readable format,
i.e. using prefixes.
Change-Id: I47aad4fce06471804ce9e853ba300626b6ad34c8
|
|
Fixes #1388
Turn on the Windows compiler option (4456) to report
hidden declarations.
Fix all places where this was occurring.
Change-Id: I3346d87da8b70d6299c206fcac68520a091ed1a6
|
|
Switch clang-format standard from the LLVM style to the
Google style for more consistency.
Change-Id: I247c4abc275d7873a91522e1e234198adaa24033
|
|
Bring all source files in the repo up to date with consistent
coding style/standard.
Change-Id: Iceedbc17109974d3a0437fc4995441c9ad7e0c23
|
|
Clang formatting the teapot mesh data file makes it unnecessarily
lengthy -- disabled for the data definition portion of the file.
Change-Id: I773fc4655b381b26a33e32fe845514f36b9d8e66
|
|
On Linux the following command crashes:
DISPLAY=foobar ./vulkaninfo
This patch fixes this issue.
https://github.com/LunarG/VulkanTools/issues/125
Change-Id: Ibb8d7b8b6cb4dc730aab9f5b4311e744c903029b
|
|
Change-Id: I290ed2a8f72303c58a52cace3c9d640cb3264def
|
|
Change-Id: I2cc5c49b53a19716096ac912120286f03f7d6f91
|
|
Change-Id: I2ae1cb03ec98ee8f31c6103ed3fc8f1f8edc4a2c
|
|
Add exit code after failed mallocs.
Dynamically allocate gpu info and handle arrays, getting
rid of artificial limit. This also moves a large allocation
from the stack to the heap.
There are still some false positives from the MSFT analyzer
that aren't worth fixing or suppressing.
|
|
Running smoketest with --flush will call vkFlushMappedMemoryRanges so
that the trace layer is aware of modified memory. This is not
necessary with the --PMB option in vktrace.
Change-Id: If72c0ed0c651cf82f2f2c4c78ec2534a0d475a9c
|
|
Fixes #1316.
Rework XCB event processing code to handle events
properly and avoid hangs when pausing.
Fix polarity of decrease/increase spin rate keys. I
suspect that this was an artifact from fixes made
to the transforms a while back.
Change-Id: I74adf7309227fafd175d8972ca930a304c58a1dd
|
|
Travis-CI is building this repo with gcc and clang.
This commit fixes warnings reported by clang but not by gcc.
All the fixes involved adding an extra set of braces in
initializers.
Change-Id: I88e7841d9ab13afe2e45362b8f85261863d5b7fa
|
|
Fixes #1249.
When frame count is reached in ::on_frame(), inform the caller
that it is time to quit by calling Game::quit(), but go ahead
and finish submitting this frame, because the caller is waiting
on the fence.
Change-Id: If3d918f8a8b5bf3697e9569d045dbe7c8aec98e5
|
|
Also allow only one WSI selection at a time
Change-Id: Ie7ca4f98c71a5097b7e07a4b5e2762b59606317c
|
|
Change-Id: Id27307788c7c230e75d620f1bf5470b1450289f2
|
|
Change-Id: I7e7ca30bd1452a216213c02a7aa29ce8829b2974
|
|
Change-Id: I2f28dc3e21fc10ae96dde2dbfc7f3025efd9c2f0
|
|
Change-Id: Ic1fcc6cf888d94b84a43661aa33815948d85b701
|
|
Change-Id: I640e45db5d586a379674fb209e38075ba7f0cf29
|
|
Change-Id: I61ac8910200a1751a23aa92fe0e7d955ee9e03e5
|
|
Change-Id: I60ee7f881cfd2bd78de21fa14146ef5667e20cc6
|
|
This was an inadvertent change from 3f3748ad
|
|
|
|
|
|
|
|
Fixes #1190
Change-Id: Iefb03b803b049a1634ae2075178afbd3dee691bd
|
|
Fixes a cubepp crash running on AMD
Change-Id: Ie8ef8625a2e8a8a416bcbfe4a62871fef5e07f71
|
|
Cleanup to match Google c++ style guide.
Change-Id: Ifecbf5c8680159684e24a184421e907d1d815627
|
|
Change-Id: Icb6c30a81743cf5854fd7ecc974d87e814be856d
|