mirror of
https://git.eden-emu.dev/eden-emu/eden.git
synced 2026-10-20 01:48:20 +00:00
vulkan: force subgroup-in-geometry fallback on Turnip (#4344)
Turnip reports VK_SHADER_STAGE_GEOMETRY_BIT in supportedStages, but its ballot/shuffle results in the geometry stage are wrong, corrupting the compaction-based draws (missing/incorrect meshes and textures observed in NieR Automata). Vendor Qualcomm drivers don't advertise geometry support and use the existing fallback correctly. Force the fallback on Turnip too, ignoring the advertised capability. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4344 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
This commit is contained in:
committed by
crueter
parent
d0a6e951ff
commit
b846577037
@@ -369,7 +369,8 @@ PipelineCache::PipelineCache(Tegra::MaxwellDeviceMemoryManager& device_memory_,
|
||||
Shader::Stage::TessellationControl) |
|
||||
subgroup_stage_bit(VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT,
|
||||
Shader::Stage::TessellationEval) |
|
||||
subgroup_stage_bit(VK_SHADER_STAGE_GEOMETRY_BIT, Shader::Stage::Geometry) |
|
||||
subgroup_stage_bit(driver_id == VK_DRIVER_ID_MESA_TURNIP ? 0 : VK_SHADER_STAGE_GEOMETRY_BIT,
|
||||
Shader::Stage::Geometry) |
|
||||
subgroup_stage_bit(VK_SHADER_STAGE_FRAGMENT_BIT, Shader::Stage::Fragment) |
|
||||
subgroup_stage_bit(VK_SHADER_STAGE_COMPUTE_BIT, Shader::Stage::Compute)};
|
||||
profile = Shader::Profile{
|
||||
|
||||
Reference in New Issue
Block a user