yzct12345
0cef80ec92
texture_cache: Address ameerj's review
5 years ago
yzct12345
e99a125e19
texture_cache: Don't change copyright year
5 years ago
yzct12345
4436e63616
texture_cache: Address ameerj's review
5 years ago
yzct12345
e85149c507
texture_cache: Split templates out
5 years ago
ameerj
bfb2325618
astc_decoder: Reduce workgroup size
This reduces the amount of over dispatching when there are odd dimensions (i.e. ASTC 8x5), which rarely evenly divide into 32x32.
5 years ago
ameerj
2ff4eb5def
astc_decoder: Compute offset swizzles in-shader
Alleviates the dependency on the swizzle table and a uniform which is constant for all ASTC texture sizes.
5 years ago
ameerj
958ede1ed9
astc_decoder: Optimize the use EncodingData
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.
5 years ago
ReinUsesLisp
2eaec1b7ee
vk_rasterizer: Flip viewport on Y_NEGATE
Matches OpenGL's behavior. I don't believe this register flips geometry,
but we have to try to match behavior on both backends.
5 years ago
ameerj
9629e74364
renderers: Add explicit invert_y bool to screenshot callback
OpenGL and Vulkan images render in different coordinate systems. This allows us to specify the coordinate system of the screenshot within each renderer
5 years ago
ameerj
6733ae9aab
renderer_vulkan: Implement screenshots
5 years ago
ameerj
317f238e1d
vk_blit_screen: Add public CreateFramebuffer method
5 years ago
ameerj
870a92bd78
vk_blit_screen: Make Draw method more generic
Allows specifying the framebuffer and render area dimensions, rather than being hard coded for the render window.
5 years ago
ReinUsesLisp
482c1ec8e5
renderer_vulkan: Add setting to log pipeline statistics
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.
5 years ago
Lioncash
f902b4b167
vk_compute_pass: Remove unused captures
Resolves two compiler warnings.
5 years ago
Robin Kertels
534c86587b
vk_staging_buffer_pool: Fall back to host memory when allocation fails
5 years ago
ReinUsesLisp
5afcd587e3
vk_stream_buffer: Remove unused stream buffer
Remove unused file.
5 years ago
ReinUsesLisp
8d86e9a9d7
vk_compute_pass: Fix pipeline barrier for indexed quads
Use an index buffer barrier instead of a vertex input read barrier.
5 years ago
ReinUsesLisp
b53503b0fe
vk_buffer_cache: Add transform feedback usage to null buffer
Fixes bad API usages on Vulkan.
5 years ago
ReinUsesLisp
7efec6bce4
vulkan/blit_image: Commit descriptor sets within worker thread
Fixes race condition caused. The descriptor pool is not thread safe, so
we have to commit descriptor sets within the same thread.
5 years ago
ReinUsesLisp
c29f2c9507
Revert "renderers: Disable async shader compilation"
This reverts commit 4a15276728 .
5 years ago
ReinUsesLisp
a97c0ccabd
shader_environment: Receive cache version from outside
This allows us invalidating OpenGL and Vulkan separately in the future.
5 years ago
lat9nq
b557314001
shader_recompiler, video_core: Resolve clang errors
Silences the following warnings-turned-errors:
-Wsign-conversion
-Wunused-private-field
-Wbraced-scalar-init
-Wunused-variable
And some other errors
5 years ago
ameerj
2cde6c5708
renderers: Fix clang formatting
5 years ago
ameerj
e45e458b17
renderers: Disable async shader compilation
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented.
5 years ago
ReinUsesLisp
b654537f0f
maxwell_to_vk: Add R16_SNORM
5 years ago
ameerj
508e41777b
shader: Ignore global memory ops on devices lacking int64 support
5 years ago
ReinUsesLisp
ff35ef8ec1
emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia
Fix regression on Fire Emblem: Three Houses when using native fp16.
5 years ago
ReinUsesLisp
934b23ab85
vk_rasterizer: Workaround bug in VK_EXT_vertex_input_dynamic_state
Workaround potential bug on Nvidia's driver where only updating high
attributes leaves low attributes out dated.
5 years ago
ReinUsesLisp
1c7c65087d
vk_graphics_pipeline: Implement smooth lines
5 years ago
ReinUsesLisp
bd0796d52f
vk_graphics_pipeline: Implement line width
5 years ago
ReinUsesLisp
b1df436cef
shader: Rework varyings and implement passthrough geometry shaders
Put all varyings into a single std::bitset with helpers to access it.
Implement passthrough geometry shaders using host's.
5 years ago
ReinUsesLisp
649c9cca0f
vk_graphics_pipeline: Implement conservative rendering
5 years ago
ReinUsesLisp
c0705f79b8
shader: Unify shader stage types
5 years ago
ReinUsesLisp
0a75c400e3
shader: Emulate 64-bit integers when not supported
Useful for mobile and Intel Xe devices.
5 years ago
ReinUsesLisp
97cfedab70
gl_shader_cache: Check previous pipeline before checking hash map
Port optimization from Vulkan.
5 years ago
ameerj
c7921c7812
shaders: Allow shader notify when async shaders is disabled
5 years ago
ReinUsesLisp
b3bf0d4ebb
vk_graphics_pipeline: Use VK_KHR_push_descriptor when available
~51% faster on Nvidia compared to previous method.
5 years ago
ReinUsesLisp
c4a71824d5
shader: Properly manage attributes not written from previous stages
5 years ago
ReinUsesLisp
52be21495e
shader: Add support for native 16-bit floats
5 years ago
ReinUsesLisp
41c634a7a9
shader: Rename maxwell/program.h to translate_program.h
5 years ago
ReinUsesLisp
eb7925b421
vk_rasterizer: Exit render passes on fragment barriers
5 years ago
Rodrigo Locatti
0ce45868ca
vk_graphics_pipeline: Fix path with no VK_EXT_extended_dynamic_state
5 years ago
ReinUsesLisp
cefa403eba
vk_pipeline_cache: Skip cached pipelines with different dynamic state
5 years ago
ReinUsesLisp
1805ba1763
vulkan: Add VK_EXT_vertex_input_dynamic_state support
Reduces the number of total pipelines generated on Vulkan.
Tested on Super Smash Bros. Ultimate.
5 years ago
ReinUsesLisp
8fae35f767
shader: Reorder shader cache directories
5 years ago
ReinUsesLisp
2e99f9ce1b
vk_rasterizer: Implement first index
5 years ago
ReinUsesLisp
969f76707c
vulkan: Use VK_EXT_provoking_vertex when available
5 years ago
ReinUsesLisp
b420b97025
vk_pipeline_cache,shader_notify: Add shader notifications
5 years ago
ReinUsesLisp
1dccf005e1
vk_pipeline_cache: Add asynchronous shaders
5 years ago
ReinUsesLisp
420ec60284
vk_rasterizer: Flush work on clear and dispatches
5 years ago