[PR #245] [MERGED] shader_recompiler: Check usage before enabling capabilities #1418

Closed
opened 2026-02-27 21:12:28 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/shadps4-emu/shadPS4/pull/245
Author: @raphaelthegreat
Created: 7/5/2024
Status: Merged
Merged: 7/5/2024
Merged by: @raphaelthegreat

Base: mainHead: feature-check


📝 Commits (4)

  • f619049 vk_instance: Better feature check
  • a36407b shader_recompiler: Make most features optional
  • 1e842c0 vk_instance: Bump extension vector size
  • 1b5a96e resource_tracking_pass: Perform BFS for sharp tracking

📊 Changes

12 files changed (+151 additions, -61 deletions)

View changed files

📝 src/core/libraries/gnmdriver/gnmdriver.cpp (+1 -1)
📝 src/shader_recompiler/backend/spirv/emit_spirv.cpp (+18 -8)
📝 src/shader_recompiler/backend/spirv/spirv_emit_context.cpp (+7 -9)
📝 src/shader_recompiler/frontend/translate/translate.cpp (+1 -0)
src/shader_recompiler/ir/breadth_first_search.h (+52 -0)
📝 src/shader_recompiler/ir/passes/resource_tracking_pass.cpp (+11 -14)
📝 src/shader_recompiler/ir/passes/shader_info_collection_pass.cpp (+18 -0)
📝 src/shader_recompiler/runtime_info.h (+5 -0)
📝 src/video_core/amdgpu/liverpool.h (+5 -6)
📝 src/video_core/renderer_vulkan/liverpool_to_vk.cpp (+7 -0)
📝 src/video_core/renderer_vulkan/vk_instance.cpp (+25 -23)
📝 src/video_core/renderer_vulkan/vk_instance.h (+1 -0)

📄 Description

Some users had issues with crashing due to shaderFloat16 feature being enabled. This is now checked and the vulkan feature is enabled only if driver supports it and shader only declares it if an instruction needs it.


🔄 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/245 **Author:** [@raphaelthegreat](https://github.com/raphaelthegreat) **Created:** 7/5/2024 **Status:** ✅ Merged **Merged:** 7/5/2024 **Merged by:** [@raphaelthegreat](https://github.com/raphaelthegreat) **Base:** `main` ← **Head:** `feature-check` --- ### 📝 Commits (4) - [`f619049`](https://github.com/shadps4-emu/shadPS4/commit/f619049bc304c4a5c5de80e150c5f4d63e846902) vk_instance: Better feature check - [`a36407b`](https://github.com/shadps4-emu/shadPS4/commit/a36407bc5e2000956a7b20c727fa18bd38117fe1) shader_recompiler: Make most features optional - [`1e842c0`](https://github.com/shadps4-emu/shadPS4/commit/1e842c01bf84c0c56a79ccd1103524f999db33eb) vk_instance: Bump extension vector size - [`1b5a96e`](https://github.com/shadps4-emu/shadPS4/commit/1b5a96e307e3481c3e72345d0319a0b6bd030406) resource_tracking_pass: Perform BFS for sharp tracking ### 📊 Changes **12 files changed** (+151 additions, -61 deletions) <details> <summary>View changed files</summary> 📝 `src/core/libraries/gnmdriver/gnmdriver.cpp` (+1 -1) 📝 `src/shader_recompiler/backend/spirv/emit_spirv.cpp` (+18 -8) 📝 `src/shader_recompiler/backend/spirv/spirv_emit_context.cpp` (+7 -9) 📝 `src/shader_recompiler/frontend/translate/translate.cpp` (+1 -0) ➕ `src/shader_recompiler/ir/breadth_first_search.h` (+52 -0) 📝 `src/shader_recompiler/ir/passes/resource_tracking_pass.cpp` (+11 -14) 📝 `src/shader_recompiler/ir/passes/shader_info_collection_pass.cpp` (+18 -0) 📝 `src/shader_recompiler/runtime_info.h` (+5 -0) 📝 `src/video_core/amdgpu/liverpool.h` (+5 -6) 📝 `src/video_core/renderer_vulkan/liverpool_to_vk.cpp` (+7 -0) 📝 `src/video_core/renderer_vulkan/vk_instance.cpp` (+25 -23) 📝 `src/video_core/renderer_vulkan/vk_instance.h` (+1 -0) </details> ### 📄 Description Some users had issues with crashing due to shaderFloat16 feature being enabled. This is now checked and the vulkan feature is enabled only if driver supports it and shader only declares it if an instruction needs it. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 21:12:28 +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#1418
No description provided.