| Age | Commit message (Collapse) | Author |
|
This reduces the amount of over dispatching when there are odd dimensions (i.e. ASTC 8x5), which rarely evenly divide into 32x32.
|
|
Alleviates the dependency on the swizzle table and a uniform which is constant for all ASTC texture sizes.
|
|
|
|
|
|
This buffer was a list of EncodingData structures sorted by their bit length, with some duplication from the cpu decoder implementation.
We can take advantage of its sorted property to optimize its usage in the shader.
Thanks to wwylele for the optimization idea.
|
|
Moves leftover values that are no longer used by the gpu decoder back to the cpp implementation.
|
|
renderer_vulkan: Add setting to log pipeline statistics
|
|
Matches OpenGL's behavior. I don't believe this register flips geometry,
but we have to try to match behavior on both backends.
|
|
OpenGL and Vulkan images render in different coordinate systems. This allows us to specify the coordinate system of the screenshot within each renderer
|
|
|
|
|
|
Allows specifying the framebuffer and render area dimensions, rather than being hard coded for the render window.
|
|
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.
|
|
render_target: Add missing initializer for size extent
|
|
video_core/engine: Consistently initialize rasterizer pointers
|
|
video_core: Remove some unused variables
|
|
Everything else has a default constructor that does the straightforward
thing of initializing most members to a default value, except for the
size.
We explicitly initialize the size (and others, for consistency), to
prevent potential uninitialized reads from occurring. Particularly given
the largeish surface area that this struct is used in.
|
|
Ensures all of the engines have consistent and deterministic
initialization of the rasterizer pointers.
|
|
We should be using the passed in object type instead.
|
|
Given this is non-trivial, the constructor is required to execute, so
this removes a bit of redundant codegen.
|
|
|
|
Resolves two compiler warnings.
|
|
general: Rename "Frame Limit" references to "Speed Limit"
|
|
vk_stream_buffer: Remove unused stream buffer
|
|
Handle allocation failure in Staging buffer
|
|
|
|
vk_buffer_cache: Add transform feedback usage to null buffer
|
|
Remove unused file.
|
|
Use an index buffer barrier instead of a vertex input read barrier.
|
|
Fixes bad API usages on Vulkan.
|
|
Shader Decompiler Rewrite
|
|
buffer_cache: Misc fixups related to buffer clears
|
|
use_framelimiter was not being used internally by the renderers.
set_background_color was always set to true as there is no toggle for the renderer background color, instead users directly choose the color of their choice.
|
|
This setting is best referred to as a speed limit, as it involves the limits of all timing based aspects of the emulator, not only framerate.
This allows us to differentiate it from the fps unlocker setting.
|
|
Fixes race condition caused. The descriptor pool is not thread safe, so
we have to commit descriptor sets within the same thread.
|
|
Causes crashes on Link's Awakening intro. It's hard to debug if it's our
fault due to bugs in validation layers.
|
|
This reverts commit 4a152767286717fa69bfc94846a124a366f70065.
|
|
Wait for shader to build before configuring it, and wait for the shader
to build before sharing it with other contexts.
|
|
This allows us invalidating OpenGL and Vulkan separately in the future.
|
|
|
|
|
|
Ensures that states set for a particular stage are not attached to other
stages which may not need them.
|
|
|
|
|
|
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors
|
|
|
|
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented.
|
|
|
|
|
|
|