ameerj
933b5dff61
host_shaders: Remove opengl_copy_bgra.comp
4 years ago
ameerj
6aaf430d15
gl_texture_cache: Migrate BGRCopyPass from util_shaders
The BGR copies no longer use shaders.
4 years ago
ameerj
6af2ea8253
util_shaders: Unify BGRA copy passes
4 years ago
Morph
653acf39e2
renderers: Log total pipeline count
4 years ago
ameerj
e9a8e011f6
structured_control_flow: Conditionally invoke demote reorder pass
This is only needed on select drivers when a fragment shader discards/demotes.
5 years ago
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
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
Lioncash
ac3aa96ebc
gl_shader_cache: Remove unused variable
5 years ago
ameerj
2fef43b32a
renderer_base: Removed redundant settings
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.
5 years ago
ReinUsesLisp
c29f2c9507
Revert "renderers: Disable async shader compilation"
This reverts commit 4a15276728 .
5 years ago
ReinUsesLisp
8a74a2c895
opengl: Fix asynchronous shaders
Wait for shader to build before configuring it, and wait for the shader
to build before sharing it with other contexts.
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
ameerj
3927809a63
shader: Fix disabled attribute default values
5 years ago
ameerj
a7fe20e636
gl_device: Simplify GLASM setting logic
5 years ago
ReinUsesLisp
4f84ef1f2b
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
a23f05c215
glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
5 years ago
ReinUsesLisp
ac0c2f8edc
gl_shader_cache: Properly implement asynchronous shaders
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
ameerj
508e41777b
shader: Ignore global memory ops on devices lacking int64 support
5 years ago
ameerj
472f9fcb18
gl_shader_cache: Fixes for async shaders
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
b48b4b0600
shader: Fix disabled and unwritten attributes and varyings
5 years ago
lat9nq
5443d4bd9c
video_core: Enable GL SPIR-V shaders
5 years ago
lat9nq
ddd4720fe4
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
362888dcb0
glasm: Add passthrough geometry shader support
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
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
e57f54e582
gl_graphics_pipeline: Fix assembly shaders check for transform feedbacks
5 years ago
ReinUsesLisp
2cff04fab9
gl_graphics_pipeline: Inline hash and operator== key functions
5 years ago
ReinUsesLisp
97cfedab70
gl_shader_cache: Check previous pipeline before checking hash map
Port optimization from Vulkan.
5 years ago
ReinUsesLisp
40402f3947
gl_graphics_pipeline: Port optimizations from Vulkan pipelines
5 years ago
ameerj
c7921c7812
shaders: Allow shader notify when async shaders is disabled
5 years ago
ReinUsesLisp
c4a71824d5
shader: Properly manage attributes not written from previous stages
5 years ago
ReinUsesLisp
9389e71b12
shader: Split profile and runtime info headers
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
ameerj
1d2c13fd7b
glsl: Address rest of feedback
5 years ago
ameerj
bc50a9ef20
glsl: Conditionally use fine/coarse derivatives based on device support
5 years ago
ameerj
4e73fdbd0f
glsl: Cleanup/Address feedback
5 years ago
ameerj
7e661303d5
gl_shader_cache: Implement async shaders
5 years ago
ameerj
b33af69513
glsl: Add stubs for sparse queries and variable aoffi when not supported
5 years ago