* video_core: Refactor render target bind to allow disabling MSAA
* video_core: Implement swapping of backing samples
* clang format
* video_core: Better implementation
Instead of downgrading to 1 sample, always try to match depth samples. This avoids needing to copy depth-stencil attachment and copying multisampled stencil is not possible on some vendors
* video_core: Small bugfixes
* image: Add null check
* vk_rasterizer: Swap backing samples on resolve dst
* vk_presenter: Reset backing samples before present
* video_core: Small refactor to make this implementation better
* reinterpret: Fix channel check for degamma
Seems this was simpler than I thought, hardware doesn't apply degamma on the W channel regardless of swizzle
* image: Add missing end rendering call
* blit_helper: Fix bug in old reinterpret path
* blit_helper: Remove unused layer vertex
Should be used in the future if copying many layers is needed
* vk_rasterizer: Apply suggestion
* vk_rasterizer: More bind refactor
* vk_instance: Re-enable extensions
* shader_recompiler: Replace buffer pulling with attribute divisor for instance step rates
* flatten_extended_userdata: Remove special step rate buffer handling
* Review comments
* spirv_emit_context: Name all instance rate attribs properly
* spirv: Merge ReadConstBuffer again
template function only has 1 user now
* attribute: Add missing attributes
* translate: Reimplement step rate instance id
* Resolve validation warnings
* shader_recompiler: Separate vertex inputs from LS stage, cleanup tess
* shader_recompiler: Implement AMD buffer bounds checking behavior.
* shader_recompiler: Use SRT flatbuf for bounds check size.
* shader_recompiler: Fix buffer atomic bounds check.
* buffer_cache: Prevent false image-to-buffer sync.
Lowering vertex fetch to formatted buffer surfaced an issue where a CPU modified range may be overwritten with stale GPU modified image data.
* Address review comments.
* shader_recompiler: Read image format info directly from sharps instead of storing in shader info.
* renderer_vulkan: Parse fetch shader per-pipeline
* Few minor fixes.
* shader_recompiler: Specialize on vertex attribute number types.
* shader_recompiler: Move GetDrawOffsets to fetch shader
* shader_recompiler: handle fetch shader address offsets
parse index & offset sgpr from fetch shader and propagate them to vkBindVertexBuffers
* shader_recompiler: fix fetch_shader when offset is not present
* video_core: propagate index/offset SGPRs to vkCmdDraw instead of offsetting the buffer address
* video_core: add vertex_offset to non-indexed draw calls
renamed fetch offset fields
* video_core: Remove hack in rasterizer
* The hack was to skip the first draw as the display buffer had not been created yet and the texture cache couldn't create one itself. With this patch it now can, using the color buffer parameters from registers
* shader_recompiler: Implement attribute loads/stores
* video_core: Add basic vertex, index buffer handling and pipeline caching
* externals: Make xxhash lowercase