Commit Graph

19443 Commits (068c66672dd8314693f5f5ee29941dce1973b405)
 

Author SHA1 Message Date
ReinUsesLisp 258f35515d shader_environment: Receive cache version from outside
This allows us invalidating OpenGL and Vulkan separately in the future.
4 years ago
ReinUsesLisp 4a82450c81 cmake: Remove shader cache version 4 years ago
ameerj 56478bc9ac shader: Fix disabled attribute default values 4 years ago
ameerj c9528282d9 gl_device: Simplify GLASM setting logic 4 years ago
ameerj 56c30dd9e0 glsl: Simplify FCMP emission 4 years ago
ameerj 79d2684261 glsl: Update TessellationControl gl_in
Adheres to GL_ARB_separate_shader_objects requirements
4 years ago
ReinUsesLisp e1ed218b41 renderer_opengl: Use ARB_separate_shader_objects
Ensures that states set for a particular stage are not attached to other
stages which may not need them.
4 years ago
ameerj fc7bed21b5 shader: Implement ISETP.X 4 years ago
ReinUsesLisp bf2956d77a shader: Avoid usage of C++20 ranges to build in clang 4 years ago
ameerj 94af0a00f6 glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 4 years ago
ReinUsesLisp 8c166c68d4 gl_shader_cache: Properly implement asynchronous shaders 4 years ago
lat9nq 49946cf780 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
4 years ago
ameerj 4e4b8775b5 main: Update Shader Cache menu options
This change adds two new context menu items to remove either the OpenGL or the Vulkan shader caches individually, and the provides the option to remove all caches for the selected title.
This also changes the behavior of the open shader cache option. Now it creates the shader cache directory for the title if it does not yet exist.
4 years ago
ameerj 41493fbe89 renderers: Fix clang formatting 4 years ago
ReinUsesLisp 2235a51b5d shader: Manually convert from array<u32> to bitset instead of using bit_cast 4 years ago
ameerj 8390286a89 renderers: Disable async shader compilation
The current implementation is prone to causing graphical issues. Disable until a better solution is implemented.
4 years ago
ReinUsesLisp be54aad1c4 maxwell_to_vk: Add R16_SNORM 4 years ago
lat9nq 18fb9bdfa8 configure_graphics: Mark SPIR-V as Experimental, Mesa only 4 years ago
ameerj 41c6cb70f9 glsl: Fix tracking of info.uses_shadow_lod 4 years ago
ameerj 11f04f1022 shader: Ignore global memory ops on devices lacking int64 support 4 years ago
lat9nq 55233c2861 vulkan_device: Add missing include algorithm 4 years ago
ameerj 7277d7fe96 vulkan_device: Blacklist ampere devices from float16 math 4 years ago
ameerj 57f222c56e dual_vertex_pass: Clang format 4 years ago
ameerj dbee32d302 gl_shader_cache: Fixes for async shaders 4 years ago
ReinUsesLisp 57171b23f9 vulkan_device: Enable VK_EXT_extended_dynamic_state on RADV 21.2 onward 4 years ago
ReinUsesLisp 8722668b3c emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia
Fix regression on Fire Emblem: Three Houses when using native fp16.
4 years ago
lat9nq 1b27a2b597 configure_graphics: Re-order vulkan device populating 4 years ago
lat9nq 2e5af95541 shader: GCC fmt 8.0.0 fixes 4 years ago
ameerj b9069c7891 shader: Account for 33-bit IADD3 scenario 4 years ago
ReinUsesLisp b21bf79bd2 shader: Only apply shift on register mode for IADD3 4 years ago
ReinUsesLisp fba6bd92d4 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.
4 years ago
ReinUsesLisp 5643a909bc shader: Fix disabled and unwritten attributes and varyings 4 years ago
ameerj 65daec8b75 glsl: Fix shared and local memory declarations
account for the fact that program.*memory_size is in units of bytes.
4 years ago
ameerj 8289eb108f opengl: Implement LOP.CC
Used by MH:Rise
4 years ago
ReinUsesLisp f94f0be521 vk_graphics_pipeline: Implement smooth lines 4 years ago
ReinUsesLisp 57a8921e01 vk_graphics_pipeline: Implement line width 4 years ago
ReinUsesLisp 5b2b0634a1 spirv: Fix code emission when descriptor aliasing is unsupported
Fixes OpenGL.
4 years ago
lat9nq fb9b1787f8 video_core: Enable GL SPIR-V shaders 4 years ago
lat9nq 1152d66ddd general: Add setting shader_backend
GLASM is getting good enough that we can move it out of advanced
graphics settings. This removes the setting `use_assembly_shaders`,
opting for a enum class `shader_backend`. This comes with the benefits
that it is extensible for additional shader backends besides GLSL and
GLASM, and this will work better with a QComboBox.

Qt removes the related assembly shader setting from the Advanced
Graphics section and places it as a new QComboBox in the API Settings
group. This will replace the Vulkan device selector when OpenGL is
selected.

Additionally, mark all of the custom anisotropic filtering settings as
"WILL BREAK THINGS", as that is the case with a select few games.
4 years ago
ameerj 00fa09dc45 glsl: Declare local memory in main 4 years ago
ameerj f7352411f0 glsl: Add passthrough geometry shader support 4 years ago
ReinUsesLisp 8612b5fec5 shader: Use std::bit_cast instead of Common::BitCast for passthrough 4 years ago
ReinUsesLisp 8a3427a4c8 glasm: Add passthrough geometry shader support 4 years ago
ReinUsesLisp 7dafa96ab5 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.
4 years ago
ReinUsesLisp 4f052a1f39 vk_graphics_pipeline: Implement conservative rendering 4 years ago
ReinUsesLisp ecd6b4356b shader: Only verify shader when graphics debugging is enabled 4 years ago
ReinUsesLisp 395bed3a0a shader: Unify shader stage types 4 years ago
lat9nq 257d2aab74 lower_int64_to_int32: Add missing include 4 years ago
ReinUsesLisp fb166b5ff4 shader: Emulate 64-bit integers when not supported
Useful for mobile and Intel Xe devices.
4 years ago
ReinUsesLisp d8d5501459 shader: Add int64 to int32 lowering pass 4 years ago