ameerj
|
a7536825df
|
shader_recompiler: Fix IADD3 input partitioning
|
2021-07-22 21:51:39 -04:00 |
|
ReinUsesLisp
|
808ef97a08
|
shader: Move loop safety tests to code emission
|
2021-07-22 21:51:39 -04:00 |
|
ReinUsesLisp
|
3877918e96
|
gl_graphics_pipeline: Fix assembly shaders check for transform feedbacks
|
2021-07-22 21:51:39 -04:00 |
|
ameerj
|
cbce9ddd4a
|
glsl: Remove frag color initialization
|
2021-07-22 21:51:39 -04:00 |
|
ameerj
|
3a2dd1b483
|
glasm: Implement SetAttribute ViewportMask
|
2021-07-22 21:51:39 -04:00 |
|
ReinUsesLisp
|
9bd0531384
|
gl_graphics_pipeline: Inline hash and operator== key functions
|
2021-07-22 21:51:39 -04:00 |
|
ReinUsesLisp
|
f5db8c7440
|
gl_shader_cache: Check previous pipeline before checking hash map
Port optimization from Vulkan.
|
2021-07-22 21:51:39 -04:00 |
|
ReinUsesLisp
|
218dedca1f
|
gl_graphics_pipeline: Port optimizations from Vulkan pipelines
|
2021-07-22 21:51:39 -04:00 |
|
ameerj
|
1c648f176c
|
emit_glsl_special: Skip initialization of frag_color0
Fixes rendering in Devil May Cry without regressing Ori and the Blind Forest.
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
1d182fc0f5
|
shader: Calibrate loop safety threshold
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
df9b7e18f5
|
buffer_cache: Fix debugging leftover
|
2021-07-22 21:51:38 -04:00 |
|
Morph
|
cfbc85839d
|
glsl: Add missing ; in EmitSetSampleMask
Fixes shader compilation in Okami HD
|
2021-07-22 21:51:38 -04:00 |
|
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.
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
9e066dcb15
|
glsl: Fix output varying initialization when transform feedback is used
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
fcff19e0fa
|
shaders: Allow shader notify when async shaders is disabled
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
a0365217f5
|
texture_pass: Fix is_read image qualification
Atomic operations are considered to have both read and write access. This was not being accounted for.
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
0cd08b3e72
|
shader: Align constant buffer sizes to 16 bytes
WAR for AMD reading zeroes on uniform buffers of size 2.
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
59fead3a47
|
spirv: Properly handle devices without int8 and int16
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
b5e78607ad
|
spirv: Handle small storage buffer loads on devices with no support
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
ca67077ca8
|
vk_graphics_pipeline: Use VK_KHR_push_descriptor when available
~51% faster on Nvidia compared to previous method.
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
ccbd24fe00
|
glsl: Fix cbuf component indexing bug falback
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
1091995f8e
|
shader: Simplify MergeDualVertexPrograms
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
374eeda1a3
|
shader: Properly manage attributes not written from previous stages
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
892b8aa2ad
|
glsl: Only declare fragment outputs on fragment shaders
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
0ffea97e2e
|
shader: Split profile and runtime info headers
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
cbbca26d18
|
shader: Add support for native 16-bit floats
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
376aa94819
|
shader: Rename maxwell/program.h to translate_program.h
|
2021-07-22 21:51:38 -04:00 |
|
ReinUsesLisp
|
69f9b97e7e
|
vulkan_device: Blacklist VK_EXT_vertex_input_dynamic_state on Intel
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
12ef06ba8b
|
glsl: Obey need_declared_frag_colors to declare and initialize all frag_color
Fixes Ori and the blind forest title screen
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
d36f667bc0
|
glsl: Address rest of feedback
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
c5dfa0b630
|
glsl: Move gl_Position/generic attribute initialization to EmitProlgue
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
3b339fbbf6
|
glsl: Conditionally use fine/coarse derivatives based on device support
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
6eea88d614
|
glsl: Cleanup/Address feedback
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
74f683787e
|
gl_shader_cache: Implement async shaders
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
ae4e452759
|
glsl: Add Shader_GLSL logging
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
6c6a451d6a
|
glsl: Add LoopSafety instructions
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
a0d0704aff
|
glsl: Conditionally add EXT_texture_shadow_lod
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
5e7b2b9661
|
glsl: Add stubs for sparse queries and variable aoffi when not supported
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
6aa1bf7b6f
|
glsl: Implement legacy varyings
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
ff3de0fb6b
|
gl_shader_cache: Remove const from pipeline source arguments
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
413eb6983f
|
gl_shader_cache: Move OGL shader compilation to the respective Pipeline constructor
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
39c29664f9
|
glsl: Minor cleanup
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
427a2596a1
|
glsl: Fix Cbuf getters for F32 type
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
7c82f20b52
|
glsl: Add immediate index oob checking for Cbuf getters
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
84c86e03cd
|
glsl: Refactor GetCbuf functions to reduce code duplication
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
e81c73a874
|
glsl: Address more feedback. Implement indexed texture reads
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
7d89a82a48
|
glsl: Remove Signed Integer variables
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
4759db28d0
|
glsl: Address Rodrigo's feedback
|
2021-07-22 21:51:38 -04:00 |
|
ameerj
|
85399e119d
|
glsl: Reorganize backend code, remove unneeded [[maybe_unused]]
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
e7c8f8911f
|
glsl: Implement SampleId and SetSampleMask
plus some minor refactoring of implementations
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
d1a68f7997
|
glsl: Add gl_PerVertex in for GS
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
a926695234
|
glsl: Use existing tracking for enabling EXT_shader_image_load_formatted
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
14bd73db36
|
glsl: Enable early fragment tests
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
6650c4799d
|
gl_rasterizer: Add texture fetch barrier for fragments
Fixes flicker seen in XC2
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
3f31a547e0
|
glsl: Implement more attribute getters and setters
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
8bb8bbf4ae
|
glsl: Implement fswzadd
and wip nv thread shuffle impl
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
c542204113
|
glsl: Implement indexed attribute loads
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
2a504b4765
|
glsl: Conditionally add GL_ARB_sparse_texture2
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
970fc39d98
|
glsl: Rebase fixes
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
fc0db612ab
|
glsl: Conditionally use GL_EXT_shader_image_load_formatted
Fix for SULD.D
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
fb839061fb
|
glsl: Remove output generic indexing for geometry stage
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
258106038e
|
glsl: Allow dynamic tracking of variable allocation
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
465903468e
|
glsl: Implement barriers
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
421847cf1e
|
glsl: Implement image atomics and set layer
along with some more cleanup/oversight fixes
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
d41aef03c7
|
glsl: Fix image gather logic
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
35e78d558d
|
glsl: Add cbuf access workaround for devices with component indexing bug
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
747b8556a4
|
glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupported
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
d12f2b8ccf
|
emit_glsl_image: Use immediate offsets when possible
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
0a0b0a73d8
|
glsl: Fix <32-bit SSBO writes
and more cleanup
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
34fdb6471d
|
glsl: Cleanup and address feedback
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
5355568a2d
|
glsl: Refactor Global memory functions
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
a68fabf6d5
|
glsl: Increase NUM_VARS that can be allocated
needed for HW:AoC.
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
8d8ce24f20
|
glsl: Implement Load/WriteGlobal
along with some other misc changes and fixes
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
af9696059c
|
glsl: Implement Images
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
6577a63d36
|
glsl: skip gl_ViewportIndex write if device does not support it
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
f4799e8fa1
|
glsl: Implement transform feedback
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
31147ffe69
|
glsl: Yet another gl_ViewportIndex fix attempt
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
9f3970f837
|
glsl: Add gl_ViewportIndex out attribute
|
2021-07-22 21:51:37 -04:00 |
|
lat9nq
|
fc29de7d5b
|
emit_glsl_context_get_set: Remove unused function
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
59576b82a8
|
glsl: Fix precise variable declaration
and add some more separation in the shader for better debugability when dumped
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
8c684b3e23
|
glsl: Implement tessellation shaders
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
c7d085b505
|
glsl: Implement ImageGradient and other texture function variants
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
68d075d1e8
|
glsl: Fix atomic SSBO offsets
and implement misc getters
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
19247ba4fa
|
glsl: Implement geometry shaders
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
df53046d68
|
glsl: Use NotImplemented macro with function name output
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
3a024b3026
|
glsl: Implement gl_ViewportIndex
SSBU now working
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
b7561226ed
|
glsl: SHFL fix and prefer shift operations over divide in glsl shader
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
e10366974e
|
glsl: Implement precise fp variable allocation
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
14bfb4719a
|
HACK glsl: Write defaults to unused generic attributes
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
4b5a4ea72e
|
glsl: Fix ssbo indexing and name shadowing between shader stages
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
8ec0028e68
|
glsl: implement set clip distance
and missed a diff in emit_glsl relating to var alloc ref counting
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
9f3ffb996b
|
glsl: Rework var alloc to not assign unused results
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
1269a0cf8b
|
glsl: Rework variable allocator to allow for variable reuse
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
9ccbd74991
|
glsl: Fix ATOM and implement ATOMS
|
2021-07-22 21:51:37 -04:00 |
|
ameerj
|
68ef3803bf
|
glsl: Use gl_SubGroupInvocationARB
|
2021-07-22 21:51:36 -04:00 |
|
ameerj
|
e35ffbbeb0
|
glsl: Implement VOTE for subgroup size potentially larger
|
2021-07-22 21:51:36 -04:00 |
|
ameerj
|
770b754afd
|
glsl: Implement VOTE
|
2021-07-22 21:51:36 -04:00 |
|
ameerj
|
181a4ffdc4
|
glsl: Implement ST{LS}
|
2021-07-22 21:51:36 -04:00 |
|
ameerj
|
57d354b02c
|
glsl: Implement more instructions used by SMO
|
2021-07-22 21:51:36 -04:00 |
|
ameerj
|
7df0815117
|
glsl: Implement more instructions used by SMO
|
2021-07-22 21:51:36 -04:00 |
|