mirror of
https://github.com/shadps4-emu/shadPS4.git
synced 2026-04-25 07:46:01 +03:00
[PR #3241] [MERGED] renderer_vulkan: Handle more miscellaneous GPU settings #3328
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#3328
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/3241
Author: @raphaelthegreat
Created: 7/14/2025
Status: ✅ Merged
Merged: 7/14/2025
Merged by: @georgemoralis
Base:
main← Head:new-exts📝 Commits (10+)
3393694renderer_vulkan: Respect provoking vertex setting23ebe5erenderer_vulkan: Handle rasterization discard4cc2220renderer_vulkan: Implement logic ops20ab2carenderer_vulkan: Properly implement depth clamp and clipd487cccrenderer_vulkan: Handle line widthd59015aFix build6798338vk_pipeline_cache: Don't check depth clamp without a depth bufferf271190liverpool: Fix line control offset2a38b7evk_pipeline_cache: Don't run search if depth clamp is disabled4375fadvk_pipeline_cache: Allow using viewport range when it's more restrictive then depth clamp📊 Changes
13 files changed (+323 additions, -67 deletions)
View changed files
📝
src/video_core/amdgpu/liverpool.h(+41 -10)📝
src/video_core/renderer_vulkan/liverpool_to_vk.cpp(+40 -0)📝
src/video_core/renderer_vulkan/liverpool_to_vk.h(+2 -0)📝
src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp(+62 -17)📝
src/video_core/renderer_vulkan/vk_graphics_pipeline.h(+21 -11)📝
src/video_core/renderer_vulkan/vk_instance.cpp(+23 -0)📝
src/video_core/renderer_vulkan/vk_instance.h(+23 -0)📝
src/video_core/renderer_vulkan/vk_pipeline_cache.cpp(+68 -17)📝
src/video_core/renderer_vulkan/vk_pipeline_cache.h(+2 -0)📝
src/video_core/renderer_vulkan/vk_rasterizer.cpp(+9 -7)📝
src/video_core/renderer_vulkan/vk_rasterizer.h(+1 -0)📝
src/video_core/renderer_vulkan/vk_scheduler.cpp(+9 -1)📝
src/video_core/renderer_vulkan/vk_scheduler.h(+22 -4)📄 Description
While wondering radv_cmd_buffer.c noticed there are a few things that were not handled at all, or handled incorrectly. This PR is a collection of some easier ones to implement.
The most complicated one is the depth clamp/clip commit. The existing code would clamp the viewport minDepth/maxDepth but that is actually incorrect as those affect the transformation of the Z values. The new depth clamp control extension gives us the ability to specify a custom depth clamp range, aside from the default behavior or using viewport setting.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.