[PR #2525] [MERGED] video_core: Various small improvements and bug fixes #2802

Closed
opened 2026-02-27 22:01:18 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/2525
Author: @raphaelthegreat
Created: 2/24/2025
Status: Merged
Merged: 2/24/2025
Merged by: @georgemoralis

Base: mainHead: overlap-improve


📝 Commits (10+)

  • 0675f5a ir_passes: Add barrier at end of block too
  • ea206be vk_platform: Always assign names to resources
  • 207facd texture_cache: Better overlap handling
  • 2ef2700 liverpool: Avoid resuming ce_task when its finished
  • 32f7b93 spirv_quad_rect: Skip default attributes
  • 4da373f memory: Improve buffer size clamping
  • 8470058 liverpool: Relax binary header validity check
  • 59a8615 liverpool: Stub SetPredication with a warning
  • d044e37 emit_spirv: Implement round to zero mode
  • ea78e4d liverpool: queue::pop takes the front element

📊 Changes

17 files changed (+112 additions, -88 deletions)

View changed files

📝 src/core/libraries/playgo/playgo.cpp (+4 -3)
📝 src/core/memory.cpp (+14 -4)
📝 src/shader_recompiler/backend/spirv/emit_spirv.cpp (+6 -1)
📝 src/shader_recompiler/backend/spirv/emit_spirv_quad_rect.cpp (+10 -9)
📝 src/shader_recompiler/ir/passes/shared_memory_barrier_pass.cpp (+4 -0)
📝 src/shader_recompiler/profile.h (+1 -0)
📝 src/video_core/amdgpu/liverpool.cpp (+11 -7)
📝 src/video_core/amdgpu/liverpool.h (+1 -2)
📝 src/video_core/buffer_cache/buffer_cache.cpp (+5 -4)
📝 src/video_core/renderer_vulkan/vk_pipeline_cache.cpp (+1 -0)
📝 src/video_core/renderer_vulkan/vk_platform.h (+0 -9)
📝 src/video_core/texture_cache/image.cpp (+5 -4)
📝 src/video_core/texture_cache/image.h (+1 -1)
📝 src/video_core/texture_cache/image_info.cpp (+11 -8)
📝 src/video_core/texture_cache/image_info.h (+2 -2)
📝 src/video_core/texture_cache/texture_cache.cpp (+35 -32)
📝 src/video_core/texture_cache/tile_manager.cpp (+1 -2)

📄 Description

  • Adds another case of missing shared memory barriers which fixes more LDS artifacts
  • Improves texture cache overlap resolution to allow copying individual slices in a multi-layer mip-mapped image (credit to poly for testing and brainstorming)
  • Fixes a crash when CE task finishes execution earlier than GFX task.
  • Fixes crashes when emitting Quad/Rect tess shaders with default attributes

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/shadps4-emu/shadPS4/pull/2525 **Author:** [@raphaelthegreat](https://github.com/raphaelthegreat) **Created:** 2/24/2025 **Status:** ✅ Merged **Merged:** 2/24/2025 **Merged by:** [@georgemoralis](https://github.com/georgemoralis) **Base:** `main` ← **Head:** `overlap-improve` --- ### 📝 Commits (10+) - [`0675f5a`](https://github.com/shadps4-emu/shadPS4/commit/0675f5a5543dbbede62ecb23bf501dc134ae7740) ir_passes: Add barrier at end of block too - [`ea206be`](https://github.com/shadps4-emu/shadPS4/commit/ea206be2e2bac054580d5a8b9469f8c1afaba7cb) vk_platform: Always assign names to resources - [`207facd`](https://github.com/shadps4-emu/shadPS4/commit/207facd7180114678846b2e21eab38d7ccede9c2) texture_cache: Better overlap handling - [`2ef2700`](https://github.com/shadps4-emu/shadPS4/commit/2ef27007b68ee794127a3ba3e742169ab938de81) liverpool: Avoid resuming ce_task when its finished - [`32f7b93`](https://github.com/shadps4-emu/shadPS4/commit/32f7b9310cd1f997069aa9b8525dd0a0eae8ebac) spirv_quad_rect: Skip default attributes - [`4da373f`](https://github.com/shadps4-emu/shadPS4/commit/4da373f2082f5e46e6163425abd1b23e5cad217d) memory: Improve buffer size clamping - [`8470058`](https://github.com/shadps4-emu/shadPS4/commit/84700588db73911b7f4f38aafda32cdfeb0c4dc3) liverpool: Relax binary header validity check - [`59a8615`](https://github.com/shadps4-emu/shadPS4/commit/59a86153938a71385e9064bef2ae195ff28ca8d7) liverpool: Stub SetPredication with a warning - [`d044e37`](https://github.com/shadps4-emu/shadPS4/commit/d044e378b5e85c23aa7303ab3ba6c5d9e3955f1e) emit_spirv: Implement round to zero mode - [`ea78e4d`](https://github.com/shadps4-emu/shadPS4/commit/ea78e4d636d421273df2eaff090b8b64fa8bfaa7) liverpool: queue::pop takes the front element ### 📊 Changes **17 files changed** (+112 additions, -88 deletions) <details> <summary>View changed files</summary> 📝 `src/core/libraries/playgo/playgo.cpp` (+4 -3) 📝 `src/core/memory.cpp` (+14 -4) 📝 `src/shader_recompiler/backend/spirv/emit_spirv.cpp` (+6 -1) 📝 `src/shader_recompiler/backend/spirv/emit_spirv_quad_rect.cpp` (+10 -9) 📝 `src/shader_recompiler/ir/passes/shared_memory_barrier_pass.cpp` (+4 -0) 📝 `src/shader_recompiler/profile.h` (+1 -0) 📝 `src/video_core/amdgpu/liverpool.cpp` (+11 -7) 📝 `src/video_core/amdgpu/liverpool.h` (+1 -2) 📝 `src/video_core/buffer_cache/buffer_cache.cpp` (+5 -4) 📝 `src/video_core/renderer_vulkan/vk_pipeline_cache.cpp` (+1 -0) 📝 `src/video_core/renderer_vulkan/vk_platform.h` (+0 -9) 📝 `src/video_core/texture_cache/image.cpp` (+5 -4) 📝 `src/video_core/texture_cache/image.h` (+1 -1) 📝 `src/video_core/texture_cache/image_info.cpp` (+11 -8) 📝 `src/video_core/texture_cache/image_info.h` (+2 -2) 📝 `src/video_core/texture_cache/texture_cache.cpp` (+35 -32) 📝 `src/video_core/texture_cache/tile_manager.cpp` (+1 -2) </details> ### 📄 Description * Adds another case of missing shared memory barriers which fixes more LDS artifacts * Improves texture cache overlap resolution to allow copying individual slices in a multi-layer mip-mapped image (credit to poly for testing and brainstorming) * Fixes a crash when CE task finishes execution earlier than GFX task. * Fixes crashes when emitting Quad/Rect tess shaders with default attributes --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 22:01:18 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shadPS4#2802
No description provided.