Changes:
- 6f3982a "Merge Tagged PR 4836"
- 7e272d3 Merge pull request #6575 from FernandoS27/new_settings
- b5c3cb8 Merge pull request #6709 from ameerj/screenshot-path
- 98b26b6 Merge pull request #6585 from ameerj/hades
- 9dd35b7 main: Fix screenshot filepath construction
- c2aaf51 Merge pull request #6699 from lat9nq/common-threads
- eb61824 common: Publically link to pthreads
- 7f13104 shader: Support out of bound local memory reads and immediate writes
- a55ff22 vulkan/blit_image: Commit descriptor sets within worker thread
- f6796ca vulkan_device: Blacklist Volta and older from VK_KHR_push_descriptor
See More
- 594ea29 cmake: Remove unused code in GenerateSCMRev.cmake
- a741513 qt: Remove "experimental" from asynchronous shader building UI
- 3c6d440 Revert "renderers: Disable async shader compilation"
- 8381490 opengl: Fix asynchronous shaders
- 258f355 shader_environment: Receive cache version from outside
- 4a82450 cmake: Remove shader cache version
- 56478bc shader: Fix disabled attribute default values
- c952828 gl_device: Simplify GLASM setting logic
- 56c30dd glsl: Simplify FCMP emission
- 79d2684 glsl: Update TessellationControl gl_in
- e1ed218 renderer_opengl: Use ARB_separate_shader_objects
- fc7bed2 shader: Implement ISETP.X
- bf2956d shader: Avoid usage of C++20 ranges to build in clang
- 94af0a0 glsl: Clamp shared mem size to GL_MAX_COMPUTE_SHARED_MEMORY_SIZE
- 8c166c6 gl_shader_cache: Properly implement asynchronous shaders
- 49946cf shader_recompiler, video_core: Resolve clang errors
- 4e4b877 main: Update Shader Cache menu options
- 41493fb renderers: Fix clang formatting
- 2235a51 shader: Manually convert from array to bitset instead of using bit_cast
- 8390286 renderers: Disable async shader compilation
- be54aad maxwell_to_vk: Add R16_SNORM
- 18fb9bd configure_graphics: Mark SPIR-V as Experimental, Mesa only
- 41c6cb7 glsl: Fix tracking of info.uses_shadow_lod
- 11f04f1 shader: Ignore global memory ops on devices lacking int64 support
- 55233c2 vulkan_device: Add missing include algorithm
- 7277d7f vulkan_device: Blacklist ampere devices from float16 math
- 57f222c dual_vertex_pass: Clang format
- dbee32d gl_shader_cache: Fixes for async shaders
- 57171b2 vulkan_device: Enable VK_EXT_extended_dynamic_state on RADV 21.2 onward
- 8722668 emit_spirv: Workaround VK_KHR_shader_float_controls on fp16 Nvidia
- 1b27a2b configure_graphics: Re-order vulkan device populating
- 2e5af95 shader: GCC fmt 8.0.0 fixes
- b9069c7 shader: Account for 33-bit IADD3 scenario
- b21bf79 shader: Only apply shift on register mode for IADD3
- fba6bd9 vk_rasterizer: Workaround bug in VK_EXT_vertex_input_dynamic_state
- 5643a90 shader: Fix disabled and unwritten attributes and varyings
- 65daec8 glsl: Fix shared and local memory declarations
- 8289eb1 opengl: Implement LOP.CC
- f94f0be vk_graphics_pipeline: Implement smooth lines
- 57a8921 vk_graphics_pipeline: Implement line width
- 5b2b063 spirv: Fix code emission when descriptor aliasing is unsupported
- fb9b178 video_core: Enable GL SPIR-V shaders
- 1152d66 general: Add setting shader_backend
- 00fa09d glsl: Declare local memory in main
- f735241 glsl: Add passthrough geometry shader support
- 8612b5f shader: Use std::bit_cast instead of Common::BitCast for passthrough
- 8a3427a glasm: Add passthrough geometry shader support
- 7dafa96 shader: Rework varyings and implement passthrough geometry shaders
- 4f052a1 vk_graphics_pipeline: Implement conservative rendering
- ecd6b43 shader: Only verify shader when graphics debugging is enabled
- 395bed3 shader: Unify shader stage types
- 257d2aa lower_int64_to_int32: Add missing include
- fb166b5 shader: Emulate 64-bit integers when not supported
- d8d5501 shader: Add int64 to int32 lowering pass
- 04ef216 shader: Teach global memory base tracker to follow vectors
- 97e80dd shader: Add constant propagation to integer vectors
- 27ca8a0 glsl: Better IAdd Overflow CC fix
- 4397053 shader: Remove IAbs64
- bc6e399 glsl: Fix IADD CC
- a753682 shader_recompiler: Fix IADD3 input partitioning
- 808ef97 shader: Move loop safety tests to code emission
- 3877918 gl_graphics_pipeline: Fix assembly shaders check for transform feedbacks
- cbce9dd glsl: Remove frag color initialization
- 3a2dd1b glasm: Implement SetAttribute ViewportMask
- 9bd0531 gl_graphics_pipeline: Inline hash and operator== key functions
- f5db8c7 gl_shader_cache: Check previous pipeline before checking hash map
- 218dedc gl_graphics_pipeline: Port optimizations from Vulkan pipelines
- 1c648f1 emit_glsl_special: Skip initialization of frag_color0
- 1d182fc shader: Calibrate loop safety threshold
- df9b7e1 buffer_cache: Fix debugging leftover
- cfbc858 glsl: Add missing ; in EmitSetSampleMask
- 838d7e4 buffer_cache: Fix size reductions not having in mind bind sizes
- 9e066dc glsl: Fix output varying initialization when transform feedback is used
- fcff19e shaders: Allow shader notify when async shaders is disabled
- a036521 texture_pass: Fix is_read image qualification
- 0cd08b3 shader: Align constant buffer sizes to 16 bytes
- 59fead3 spirv: Properly handle devices without int8 and int16
- b5e7860 spirv: Handle small storage buffer loads on devices with no support
- ca67077 vk_graphics_pipeline: Use VK_KHR_push_descriptor when available
- ccbd24f glsl: Fix cbuf component indexing bug falback
- 1091995 shader: Simplify MergeDualVertexPrograms
- 374eeda shader: Properly manage attributes not written from previous stages
- 892b8aa glsl: Only declare fragment outputs on fragment shaders
- 0ffea97 shader: Split profile and runtime info headers
- cbbca26 shader: Add support for native 16-bit floats
- 376aa94 shader: Rename maxwell/program.h to translate_program.h
- 69f9b97 vulkan_device: Blacklist VK_EXT_vertex_input_dynamic_state on Intel
- 12ef06b glsl: Obey need_declared_frag_colors to declare and initialize all frag_color
- d36f667 glsl: Address rest of feedback
- c5dfa0b glsl: Move gl_Position/generic attribute initialization to EmitProlgue
- 3b339fb glsl: Conditionally use fine/coarse derivatives based on device support
- 6eea88d glsl: Cleanup/Address feedback
- 74f6837 gl_shader_cache: Implement async shaders
- ae4e452 glsl: Add Shader_GLSL logging
- 6c6a451 glsl: Add LoopSafety instructions
- a0d0704 glsl: Conditionally add EXT_texture_shadow_lod
- 5e7b2b9 glsl: Add stubs for sparse queries and variable aoffi when not supported
- 6aa1bf7 glsl: Implement legacy varyings
- ff3de0f gl_shader_cache: Remove const from pipeline source arguments
- 413eb69 gl_shader_cache: Move OGL shader compilation to the respective Pipeline constructor
- 39c2966 glsl: Minor cleanup
- 427a259 glsl: Fix Cbuf getters for F32 type
- 7c82f20 glsl: Add immediate index oob checking for Cbuf getters
- 84c86e0 glsl: Refactor GetCbuf functions to reduce code duplication
- e81c73a glsl: Address more feedback. Implement indexed texture reads
- 7d89a82 glsl: Remove Signed Integer variables
- 4759db2 glsl: Address Rodrigo's feedback
- 85399e1 glsl: Reorganize backend code, remove unneeded [[maybe_unused]]
- e7c8f89 glsl: Implement SampleId and SetSampleMask
- d1a68f7 glsl: Add gl_PerVertex in for GS
- a926695 glsl: Use existing tracking for enabling EXT_shader_image_load_formatted
- 14bd73d glsl: Enable early fragment tests
- 6650c47 gl_rasterizer: Add texture fetch barrier for fragments
- 3f31a54 glsl: Implement more attribute getters and setters
- 8bb8bbf glsl: Implement fswzadd
- c542204 glsl: Implement indexed attribute loads
- 2a504b4 glsl: Conditionally add GL_ARB_sparse_texture2
- 970fc39 glsl: Rebase fixes
- fc0db61 glsl: Conditionally use GL_EXT_shader_image_load_formatted
- fb83906 glsl: Remove output generic indexing for geometry stage
- 2581060 glsl: Allow dynamic tracking of variable allocation
- 4659034 glsl: Implement barriers
- 421847c glsl: Implement image atomics and set layer
- d41aef0 glsl: Fix image gather logic
- 35e78d5 glsl: Add cbuf access workaround for devices with component indexing bug
- 747b855 glsl: Use textureGrad fallback when EXT_texture_shadow_lod is unsupported
- d12f2b8 emit_glsl_image: Use immediate offsets when possible
- 0a0b0a7 glsl: Fix <32-bit SSBO writes
- 34fdb64 glsl: Cleanup and address feedback
- 5355568 glsl: Refactor Global memory functions
- a68fabf glsl: Increase NUM_VARS that can be allocated
- 8d8ce24 glsl: Implement Load/WriteGlobal
- af96960 glsl: Implement Images
- 6577a63 glsl: skip gl_ViewportIndex write if device does not support it
- f4799e8 glsl: Implement transform feedback
- 31147ff glsl: Yet another gl_ViewportIndex fix attempt
- 9f3970f glsl: Add gl_ViewportIndex out attribute
- fc29de7 emit_glsl_context_get_set: Remove unused function
- 59576b8 glsl: Fix precise variable declaration
- 8c684b3 glsl: Implement tessellation shaders
- c7d085b glsl: Implement ImageGradient and other texture function variants
- 68d075d glsl: Fix atomic SSBO offsets
- 19247ba glsl: Implement geometry shaders
- df53046 glsl: Use NotImplemented macro with function name output
- 3a024b3 glsl: Implement gl_ViewportIndex
- b756122 glsl: SHFL fix and prefer shift operations over divide in glsl shader
- e103669 glsl: Implement precise fp variable allocation
- 14bfb47 HACK glsl: Write defaults to unused generic attributes
- 4b5a4ea glsl: Fix ssbo indexing and name shadowing between shader stages
- 8ec0028 glsl: implement set clip distance
- 9f3ffb9 glsl: Rework var alloc to not assign unused results
- 1269a0c glsl: Rework variable allocator to allow for variable reuse
- 9ccbd74 glsl: Fix ATOM and implement ATOMS
- 68ef380 glsl: Use gl_SubGroupInvocationARB
- e35ffbb glsl: Implement VOTE for subgroup size potentially larger
- 770b754 glsl: Implement VOTE
- 181a4ff glsl: Implement ST{LS}
- 57d354b glsl: Implement more instructions used by SMO
- 7df0815 glsl: Implement more instructions used by SMO
- 80eec85 glsl: Fix GetAttribute return values
- 1542f31 glsl: minor cleanup
- 005eecf glsl: Fix and implement rest of cbuf access
- 3047eb6 glsl: Implement TXQ and other misc changes
- 5fd9278 glsl: TLD4 implementation
- 697eacd glsl: Implement TLD instruction
- e4ba755 glsl: Implement TEXS
- 59a692e glsl: Cleanup texture functions
- c9a2585 shader_recompiler: GCC fixes
- 7619b7d glsl: Implement TEX depth functions
- 55e0211 glsl: Implement TEX ImageSample functions
- b98de76 glsl: Rework Shuffle emit instructions to align with SPIR-V
- 8ba814e glsl: Better Storage access and wip warps
- 86d4a05 glsl: Fix integer conversions, implement clamp CC
- 21797ef glsl: Implement IADD CC
- 453cd25 glsl: SSBO access fixes and wip SampleExplicitLod implementation.
- f6bbc76 glsl: WIP var forward declaration
- 2a71333 glsl: Fix bindings, add some CC ops
- 6674637 glsl: remove unused headers
- a752ec8 glsl: Implement derivatives and YDirection
- ed14d31 glsl: Fix non-immediate buffer access
- d171083 glsl: textures wip
- 3d086e6 glsl: Implement some attribute getters and setters
- 5399906 glsl: Track S32 atomics
- b95716e glsl: Update phi node management
- 67f881e glsl: Fix floating point compare ops
- bd24fa9 glsl: Query GL Device for FP16 extension support
- 3482df1 glsl: Simply FP storage atomics
- 9cc1b8a glsl: F16x2 storage atomics
- 11ba190 glsl: Revert ssbo aliasing. Storage Atomics impl
- e99d01f glsl: implement phi nodes
- 3d9ecbe glsl: Wip storage atomic ops
- df793fc glsl: Implement FCMP
- cdde730 glsl: Add a more robust fp formatter
- ac7b0eb glsl: More FP fixes
- 3064bde glsl: FP function fixes
- 65c6f73 glsl: More FP instructions/fixes
- 5e9095e glsl: Add many FP32/64 instructions
- 53667dd glsl: Fixup build issues
- ef7bd53 glsl: Implement more Integer ops
- 266a3d6 glsl: Implement BF*
- 0f40b0e glsl: Implement a few Integer instructions
- fb75d12 glsl: Use std::string_view for Emit function args.
- 115c162 glsl: Pass IR::Inst& to Emit functions
- 78f5eb9 glsl: INeg and IAdd negate tests
- e221bac glsl: Reusable typed variables. IADD32
- faf4cd7 glsl: Fix program linking and cbuf
- 64337f0 glsl: Fix "reg" allocing
- eaff103 glsl: Initial backend
- 3d822fa spirv: Reduce log severity of mismatching denorm rules
- 7ac55c2 shader: Fix loop safety to SSA pass
- 8fb2048 vk_rasterizer: Exit render passes on fragment barriers
- dbf7cb9 vk_graphics_pipeline: Fix path with no VK_EXT_extended_dynamic_state
- 94e751f buffer_cache: Invalidate fast buffers on compute
- 61cd7dd shader: Add logging
- 373f75d shader: Add shader loop safety check settings
- 487057b shader: Comment why the array component is not read in TMML
- ba3bdf1 vulkan_device: Enable VK_EXT_vertex_input_dynamic_state
- 41cca8b vk_pipeline_cache: Skip cached pipelines with different dynamic state
- 5445799 main: Fix Open Transferable Shader Cache context item
- 3c125d4 tmml: Remove index component from coords vec
- ea038d6 vulkan: Add VK_EXT_vertex_input_dynamic_state support
- cb78a1b shader: Reorder shader cache directories
- 3025b2f vk_rasterizer: Implement first index
- d554778 vulkan: Use VK_EXT_provoking_vertex when available
- d52bacf spirv/convert: Catch more signed operations oversights
- 8554a64 spirv/convert: Catch more broken signed operations on Nvidia OpenGL
- cd84273 gl_buffer_cache: Use unorm internal formats for snorm texture buffer views
- 5befc0b shader_environment: Fix local memory size calculations
- 60a96c4 buffer_cache: Fix copy based uniform bindings tracking
- 15bdd27 shader_environment: Add shader_local_memory_crs_size to local memory size
- 7eaa74a gl_texture_cache: Create image storage views
- b1ed64a gl_shader_util: Move shader utility code to a separate file
- 12fe721 gl_shader_cache: Store workers in shader cache object
- cffd471 vk_pipeline_cache,shader_notify: Add shader notifications
- 48aad8d vk_pipeline_cache: Add asynchronous shaders
- 2a0aeaa vk_rasterizer: Flush work on clear and dispatches
- c736b9f DMA: Restrict optimised path for BlockToLinear further.
- f45f7b5 vk_swapchain: Handle outdated swapchains
- 562af30 shader: Fix VertexA Shaders.
- ec9a788 shader: Add 2D and 3D variants to SUATOM and SURED
This list of changes was auto generated.