ReinUsesLisp and ameerj
3d822faea1
spirv: Reduce log severity of mismatching denorm rules
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
7ac55c2a75
shader: Fix loop safety to SSA pass
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
8fb2048934
vk_rasterizer: Exit render passes on fragment barriers
2021-07-22 21:51:35 -04:00
Rodrigo Locatti and ameerj
dbf7cb9f90
vk_graphics_pipeline: Fix path with no VK_EXT_extended_dynamic_state
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
94e751f415
buffer_cache: Invalidate fast buffers on compute
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
61cd7dd301
shader: Add logging
2021-07-22 21:51:35 -04:00
lat9nq and ameerj
373f75d944
shader: Add shader loop safety check settings
...
Also add a setting for enable Nsight Aftermath.
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
487057b8d2
shader: Comment why the array component is not read in TMML
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
ba3bdf1d41
vulkan_device: Enable VK_EXT_vertex_input_dynamic_state
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
41cca8b8ad
vk_pipeline_cache: Skip cached pipelines with different dynamic state
2021-07-22 21:51:35 -04:00
ameerj
5445799260
main: Fix Open Transferable Shader Cache context item
...
Opens the new shader cache directory location for the specified title, if it exists.
2021-07-22 21:51:35 -04:00
ameerj
3c125d4134
tmml: Remove index component from coords vec
...
The lod query functions exposed by the rendering API's do not make use of the texturearray layer indexing.
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
ea038d6653
vulkan: Add VK_EXT_vertex_input_dynamic_state support
...
Reduces the number of total pipelines generated on Vulkan.
Tested on Super Smash Bros. Ultimate.
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
cb78a1b494
shader: Reorder shader cache directories
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
3025b2f605
vk_rasterizer: Implement first index
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
d554778311
vulkan: Use VK_EXT_provoking_vertex when available
2021-07-22 21:51:35 -04:00
ameerj
d52bacf6f0
spirv/convert: Catch more signed operations oversights
...
The sign bit on integers of size < 32 was not properly preserved in casts
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
8554a644df
spirv/convert: Catch more broken signed operations on Nvidia OpenGL
...
BitCast U32 to S32 before converting to float on drivers with broken
signed operations.
2021-07-22 21:51:35 -04:00
ameerj
cd8427367e
gl_buffer_cache: Use unorm internal formats for snorm texture buffer views
...
Fixes black textures in UE4 games
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
5befc0bf87
shader_environment: Fix local memory size calculations
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
60a96c49e5
buffer_cache: Fix copy based uniform bindings tracking
2021-07-22 21:51:35 -04:00
ameerj
15bdd27cac
shader_environment: Add shader_local_memory_crs_size to local memory size
...
Fixes DOOM 2016 missing local memory
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
7eaa74ad23
gl_texture_cache: Create image storage views
...
Fixes SULD.D tests.
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
b1ed64ac18
gl_shader_util: Move shader utility code to a separate file
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
12fe7210d2
gl_shader_cache: Store workers in shader cache object
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
cffd4716c5
vk_pipeline_cache,shader_notify: Add shader notifications
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
48aad8dc05
vk_pipeline_cache: Add asynchronous shaders
2021-07-22 21:51:35 -04:00
ReinUsesLisp and ameerj
2a0aeaa3d2
vk_rasterizer: Flush work on clear and dispatches
2021-07-22 21:51:34 -04:00
FernandoS27 and ameerj
c736b9ffab
DMA: Restrict optimised path for BlockToLinear further.
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
f45f7b5c2a
vk_swapchain: Handle outdated swapchains
...
Fixes pixelated presentation on Intel devices.
2021-07-22 21:51:34 -04:00
FernandoS27 and ameerj
562af30181
shader: Fix VertexA Shaders.
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
ec9a78885e
shader: Add 2D and 3D variants to SUATOM and SURED
...
Used by Claybook.
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
b02c78b276
vk_buffer_cache: Handle null texture buffers
...
Fixes a crash on Age of Calamity cutscenes.
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
8f099af6a8
nsight_aftermath_tracker: Fix SPIR-V module writes
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
8c954fcaee
vk_pipeline_cache: Set support_derivative_control to true
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
4f8b68fb04
shader: Avoid CPU side undefined behavior on I2F
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
79f2fe1a39
glasm: Use ARB_derivative_control conditionally
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
4a2361a1e2
buffer_cache: Reduce uniform buffer size from shader usage
...
Increases performance significantly on certain titles.
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
e57ee3b7fd
transform_feedback: Read buffer stride from index instead of layout
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
46bd362d0d
fixed_pipeline_state: Use regular for loop instead of ranges for perf
...
MSVC generates better code for it.
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
d26271b014
vk_swapchain: Avoid recreating the swapchain on each frame
...
Recreate only when requested (or sRGB is changed) instead of tracking
the frontend's size. That size is still used as a hint.
2021-07-22 21:51:34 -04:00
lat9nq and ameerj
22f0c4f002
emit_glasm_context_get_set: Remove unused variable
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
5539b13c5a
shader,glasm: Implement legacy texcoord loads
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
cf9f88e5a7
glasm: Implement legacy varyings
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
ac0f5d2ab6
shader: Track legacy varyings
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
05d41fa9b7
shader: Add support for "negative" and unaligned offsets
...
"Negative" offsets don't exist. They are shown as such due to a bug in
nvdisasm.
Unaligned offsets have been proved to read the aligned offset. For
example, when reading an U32, if the offset is 6, the offset read will
be 4.
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
5d170de0b5
shader: Implement ISCADD32I
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
adc43297c5
spirv: Fix output generics with components
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
1148a4eac7
vulkan: Conditionally use shaderInt16
...
Add support for Polaris AMD devices.
2021-07-22 21:51:34 -04:00
ReinUsesLisp and ameerj
77372443c3
vulkan: Enable depth bounds and use it conditionally
...
Intel devices pre-Xe don't support this.
2021-07-22 21:51:34 -04:00