mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-25 15:56:00 +03:00
[PR #2428] [MERGED] shader_recompiler: Remove special case buffers and add support for aliasing #2725
Labels
No labels
Bloodborne
bug
contributor wanted
documentation
enhancement
frontend
good first issue
help wanted
linux
pull-request
question
release
verification progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/shadPS4#2725
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/shadps4-emu/shadPS4/pull/2428
Author: @raphaelthegreat
Created: 2/14/2025
Status: ✅ Merged
Merged: 2/15/2025
Merged by: @raphaelthegreat
Base:
main← Head:buffer-cleanup📝 Commits (10+)
dd8fb9dshader_recompiler: Move shared mem lowering into emitter1a6d0c8runtime_info: Pack PsColorBuffer into 8 bytes027c198emit_spirv_context: Add infrastructure for buffer aliases7423ccfshader_recompiler: Merge srt_flatbuf into buffers listb0dd81ashader_recompiler: Complete buffer aliasing support174107bshader_recompiler: Remove existing shared memory emulationb05e657shader_recompiler: Reintroduce shared memory on ssbo emulation67998c4clang formatf171b25buffer_cache: Reduce buffer sizes42d2b7avk_rasterizer: Cleanup resource binding code📊 Changes
36 files changed (+674 additions, -624 deletions)
View changed files
📝
CMakeLists.txt(+1 -1)📝
src/shader_recompiler/backend/spirv/emit_spirv.cpp(+5 -2)📝
src/shader_recompiler/backend/spirv/emit_spirv_atomic.cpp(+12 -9)📝
src/shader_recompiler/backend/spirv/emit_spirv_context_get_set.cpp(+86 -62)📝
src/shader_recompiler/backend/spirv/emit_spirv_shared_memory.cpp(+12 -42)📝
src/shader_recompiler/backend/spirv/emit_spirv_special.cpp(+3 -0)📝
src/shader_recompiler/backend/spirv/spirv_emit_context.cpp(+109 -112)📝
src/shader_recompiler/backend/spirv/spirv_emit_context.h(+33 -7)📝
src/shader_recompiler/frontend/translate/data_share.cpp(+18 -8)📝
src/shader_recompiler/frontend/translate/export.cpp(+2 -2)📝
src/shader_recompiler/frontend/translate/translate.cpp(+19 -3)📝
src/shader_recompiler/frontend/translate/translate.h(+3 -1)📝
src/shader_recompiler/info.h(+17 -25)📝
src/shader_recompiler/ir/attribute.h(+11 -10)📝
src/shader_recompiler/ir/passes/ir_passes.h(+4 -2)➖
src/shader_recompiler/ir/passes/lower_shared_mem_to_registers.cpp(+0 -81)📝
src/shader_recompiler/ir/passes/resource_tracking_pass.cpp(+29 -19)📝
src/shader_recompiler/ir/passes/shader_info_collection_pass.cpp(+9 -3)📝
src/shader_recompiler/ir/passes/shared_memory_barrier_pass.cpp(+48 -24)➕
src/shader_recompiler/ir/passes/shared_memory_to_storage_pass.cpp(+117 -0)...and 16 more files
📄 Description
Commit messages are mostly self explanatory. This wont fix any bugs, but needs some testing to ensure no regressions. After its merged 64-bit buffer atomics can be implemented as well
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.