| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use VK_KHR_pipeline_executable_properties when enabled and available to
log statistics about the pipeline cache in a game.
For example, this is on Turing GPUs when generating a pipeline cache
from Super Smash Bros. Ultimate:
Average pipeline statistics
==========================================
Code size: 6433.167
Register count: 32.939
More advanced results could be presented, at the moment it's just an
average of all 3D and compute pipelines.
|
|
|
|
| |
We should be using the passed in object type instead.
|
| |
|
|
|
|
| |
~51% faster on Nvidia compared to previous method.
|
|
|
|
|
| |
Reduces the number of total pipelines generated on Vulkan.
Tested on Super Smash Bros. Ultimate.
|
| |
|
|
|
|
|
|
|
|
| |
This uses a ring buffer similar to OpenGL's stream buffer for small
uploads. This stops us from allocating several small buffers, reducing
memory fragmentation and cache locality.
It uses dedicated allocations when possible.
|
| |
|
|
|
|
|
| |
The Vulkan device abstraction either initializes successfully on the
constructor or throws a Vulkan exception.
|
|
|
|
|
|
| |
Report device enumeration errors with exceptions to be consistent with
other initialization related function calls. Reduces the amount of code
to maintain.
|
|
|
|
|
|
|
|
| |
Initialize debug callbacks (messenger) from a separate file. This allows
sharing code with different backends.
Change our Vulkan error handling to use exceptions instead of error
codes, simplifying the initialization process.
|
|
Allows sharing Vulkan wrapper code between different rendering backends.
|