You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
wildcard
4eb6d10d62
[Vk] Improve Stencil Handling and Fix Read-After-Write Hazard (#235)
1. Improves stencil handling:
- Adds surface type detection to distinguish between color, depth, stencil, and depth-stencil formats
- Only enables stencil load/store operations for surfaces that actually contain stencil data
- Avoids unnecessary stencil operations for non-stencil formats (DONT_CARE)
2. Fixes read-after-write (RAW) synchronization hazards:
- Adds a subpass self-dependency (subpass 0 → subpass 0)
- Synchronizes color/depth writes with subsequent shader reads
- Uses VK_DEPENDENCY_BY_REGION_BIT for efficient synchronization
- Covers all possible relevant stages,
• src: Color output + Early/Late fragment tests
• dst: Fragment shader
• Access: Write → Read transitions
here is what hazard looks like [1147.550616] Render.Vulkan <Critical> video_core/vulkan_common/vulkan_debug_callback.cpp:DebugUtilCallback:55: Validation Error: [ SYNC-HAZARD-READ-AFTER-WRITE ] Object 0: handle = 0x7409630000000192, type = VK_OBJECT_TYPE_IMAGE_VIEW; | MessageID = 0xe4d96472 | vkCmdDrawIndexed: Hazard READ_AFTER_WRITE for VkImageView 0x7409630000000192[], in VkCommandBuffer 0xb400007cb003ea70[], and VkPipeline 0x44d3470000000213[], VkDescriptorSet 0x0[], type: VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, imageLayout: VK_IMAGE_LAYOUT_GENERAL, binding #2, index 0. Access info (usage: SYNC_FRAGMENT_SHADER_SHADER_SAMPLED_READ, prior_usage: SYNC_IMAGE_LAYOUT_TRANSITION, write_barriers: SYNC_FRAGMENT_SHADER_COLOR_ATTACHMENT_READ|SYNC_FRAGMENT_SHADER_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_FRAGMENT_SHADER_INPUT_ATTACHMENT_READ|SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_EARLY_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_READ|SYNC_LATE_FRAGMENT_TESTS_DEPTH_STENCIL_ATTACHMENT_WRITE|SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_READ|SYNC_COLOR_ATTACHMENT_OUTPUT_COLOR_ATTACHMENT_WRITE|SYNC_SUBPASS_SHADER_HUAWEI_INPUT_ATTACHMENT_READ, command: vkCmdPipelineBarrier, seq_no: 45, reset_no: 129).
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/235
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Co-authored-by: wildcard <nubieluv@gmail.com>
Co-committed-by: wildcard <nubieluv@gmail.com>
|
9 months ago |
| .. |
|
compatibility_list
|
chore: make yuzu REUSE compliant
|
4 years ago |
|
english_plurals
|
Translate english plurals
|
4 years ago |
|
icons
|
general: compress png images
|
4 years ago |
|
languages
|
[Vk] Improve Stencil Handling and Fix Read-After-Write Hazard (#235)
|
9 months ago |
|
qt_themes
|
Add game list refresh button (#126)
|
1 year ago |
|
72-yuzu-input.rules
|
dist: add udev rule to enable user hidraw access (#12292)
|
3 years ago |
|
eden.icns
|
[dist] update icons + script to update icons (#198)
|
10 months ago |
|
eden.ico
|
[dist] update icons + script to update icons (#198)
|
10 months ago |
|
eden_named.ico
|
Add eden named icons (.ico and .png)
|
1 year ago |
|
eden_named.svg
|
Add named .svg icons
|
1 year ago |
|
org.eden_emu.eden.desktop
|
[cmake] fix regressions intr. CPM and packaging (#201)
|
10 months ago |
|
org.eden_emu.eden.metainfo.xml
|
Use proper rdns nonsense (#179)
|
12 months ago |
|
org.eden_emu.eden.svg
|
[dist] update icons + script to update icons (#198)
|
10 months ago |
|
org.eden_emu.eden.xml
|
[dist] update icons + script to update icons (#198)
|
10 months ago |
|
yuzu.bmp
|
[dist] fix icons (#221)
|
10 months ago |
|
yuzu.icns
|
[dist] update icons + script to update icons (#198)
|
10 months ago |
|
yuzu.manifest
|
general: Target Windows 10 SDK
|
3 years ago |