ameerj
c9528282d9
gl_device: Simplify GLASM setting logic
5 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.
5 years ago
ameerj
94af0a00f6
glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
5 years ago
ReinUsesLisp
8c166c68d4
gl_shader_cache: Properly implement asynchronous shaders
5 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
5 years ago
ameerj
41493fbe89
renderers: Fix clang formatting
5 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.
5 years ago
ReinUsesLisp
be54aad1c4
maxwell_to_vk: Add R16_SNORM
5 years ago
ameerj
11f04f1022
shader: Ignore global memory ops on devices lacking int64 support
5 years ago
lat9nq
55233c2861
vulkan_device: Add missing include algorithm
5 years ago
ameerj
7277d7fe96
vulkan_device: Blacklist ampere devices from float16 math
5 years ago
ameerj
dbee32d302
gl_shader_cache: Fixes for async shaders
5 years ago
ReinUsesLisp
57171b23f9
vulkan_device: Enable VK_EXT_extended_dynamic_state on RADV 21.2 onward
5 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.
5 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.
5 years ago
ReinUsesLisp
5643a909bc
shader: Fix disabled and unwritten attributes and varyings
5 years ago
ReinUsesLisp
f94f0be521
vk_graphics_pipeline: Implement smooth lines
5 years ago
ReinUsesLisp
57a8921e01
vk_graphics_pipeline: Implement line width
5 years ago
lat9nq
fb9b1787f8
video_core: Enable GL SPIR-V shaders
5 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.
5 years ago
ReinUsesLisp
8a3427a4c8
glasm: Add passthrough geometry shader support
5 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.
5 years ago
ReinUsesLisp
4f052a1f39
vk_graphics_pipeline: Implement conservative rendering
5 years ago
ReinUsesLisp
395bed3a0a
shader: Unify shader stage types
5 years ago
ReinUsesLisp
fb166b5ff4
shader: Emulate 64-bit integers when not supported
Useful for mobile and Intel Xe devices.
5 years ago
ReinUsesLisp
3877918e96
gl_graphics_pipeline: Fix assembly shaders check for transform feedbacks
5 years ago
ReinUsesLisp
9bd0531384
gl_graphics_pipeline: Inline hash and operator== key functions
5 years ago
ReinUsesLisp
f5db8c7440
gl_shader_cache: Check previous pipeline before checking hash map
Port optimization from Vulkan.
5 years ago
ReinUsesLisp
218dedca1f
gl_graphics_pipeline: Port optimizations from Vulkan pipelines
5 years ago
ReinUsesLisp
df9b7e18f5
buffer_cache: Fix debugging leftover
5 years ago
ReinUsesLisp
838d7e4ca5
buffer_cache: Fix size reductions not having in mind bind sizes
A buffer binding can change between shaders without changing the
shaders. This lead to outdated bindings on OpenGL.
5 years ago
ameerj
fcff19e0fa
shaders: Allow shader notify when async shaders is disabled
5 years ago
ReinUsesLisp
ca67077ca8
vk_graphics_pipeline: Use VK_KHR_push_descriptor when available
~51% faster on Nvidia compared to previous method.
5 years ago
ReinUsesLisp
374eeda1a3
shader: Properly manage attributes not written from previous stages
5 years ago
ReinUsesLisp
0ffea97e2e
shader: Split profile and runtime info headers
5 years ago
ReinUsesLisp
cbbca26d18
shader: Add support for native 16-bit floats
5 years ago
ReinUsesLisp
376aa94819
shader: Rename maxwell/program.h to translate_program.h
5 years ago
ReinUsesLisp
69f9b97e7e
vulkan_device: Blacklist VK_EXT_vertex_input_dynamic_state on Intel
5 years ago
ameerj
d36f667bc0
glsl: Address rest of feedback
5 years ago
ameerj
3b339fbbf6
glsl: Conditionally use fine/coarse derivatives based on device support
5 years ago
ameerj
6eea88d614
glsl: Cleanup/Address feedback
5 years ago
ameerj
74f683787e
gl_shader_cache: Implement async shaders
5 years ago
ameerj
5e7b2b9661
glsl: Add stubs for sparse queries and variable aoffi when not supported
5 years ago
ameerj
ff3de0fb6b
gl_shader_cache: Remove const from pipeline source arguments
5 years ago
ameerj
413eb6983f
gl_shader_cache: Move OGL shader compilation to the respective Pipeline constructor
5 years ago
ameerj
e81c73a874
glsl: Address more feedback. Implement indexed texture reads
5 years ago
ameerj
6650c4799d
gl_rasterizer: Add texture fetch barrier for fragments
Fixes flicker seen in XC2
5 years ago
ameerj
8bb8bbf4ae
glsl: Implement fswzadd
and wip nv thread shuffle impl
5 years ago
ameerj
970fc39d98
glsl: Rebase fixes
5 years ago
ameerj
747b8556a4
glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupported
5 years ago