mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-04-26 00:49:00 +02:00
Revert "Controlled SPV features on QCOM"
This reverts commit 907b041ec6fb4f16750155f4c41e17389f2e385d.
This commit is contained in:
parent
094071ee2b
commit
9cfe9a4684
6 changed files with 88 additions and 418 deletions
|
|
@ -228,9 +228,7 @@ ShaderCache::ShaderCache(Tegra::MaxwellDeviceMemoryManager& device_memory_,
|
|||
.need_fastmath_off = device.NeedsFastmathOff(),
|
||||
.need_gather_subpixel_offset = device.IsAmd() || device.IsIntel(),
|
||||
|
||||
.has_broken_spirv_clamp = true,
|
||||
.has_broken_spirv_vector_access_chain = false,
|
||||
.has_broken_spirv_access_chain_opt = false,
|
||||
.has_broken_spirv_clamp = true,
|
||||
.has_broken_unsigned_image_offsets = true,
|
||||
.has_broken_signed_operations = true,
|
||||
.has_broken_fp16_float_controls = false,
|
||||
|
|
@ -543,9 +541,7 @@ std::unique_ptr<GraphicsPipeline> ShaderCache::CreateGraphicsPipeline(
|
|||
case Settings::ShaderBackend::SpirV:
|
||||
ConvertLegacyToGeneric(program, runtime_info);
|
||||
sources_spirv[stage_index] =
|
||||
const bool optimize_shader{this->optimize_spirv_output &&
|
||||
!profile.has_broken_spirv_access_chain_opt};
|
||||
EmitSPIRV(profile, runtime_info, program, binding, optimize_shader);
|
||||
EmitSPIRV(profile, runtime_info, program, binding, this->optimize_spirv_output);
|
||||
break;
|
||||
}
|
||||
previous_program = &program;
|
||||
|
|
@ -604,9 +600,7 @@ std::unique_ptr<ComputePipeline> ShaderCache::CreateComputePipeline(
|
|||
code = EmitGLASM(profile, info, program);
|
||||
break;
|
||||
case Settings::ShaderBackend::SpirV:
|
||||
const bool optimize_shader{this->optimize_spirv_output &&
|
||||
!profile.has_broken_spirv_access_chain_opt};
|
||||
code_spirv = EmitSPIRV(profile, program, optimize_shader);
|
||||
code_spirv = EmitSPIRV(profile, program, this->optimize_spirv_output);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -377,8 +377,6 @@ PipelineCache::PipelineCache(Tegra::MaxwellDeviceMemoryManager& device_memory_,
|
|||
driver_id == VK_DRIVER_ID_INTEL_OPEN_SOURCE_MESA,
|
||||
|
||||
.has_broken_spirv_clamp = driver_id == VK_DRIVER_ID_INTEL_PROPRIETARY_WINDOWS,
|
||||
.has_broken_spirv_vector_access_chain = driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
|
||||
.has_broken_spirv_access_chain_opt = driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
|
||||
.has_broken_spirv_position_input = driver_id == VK_DRIVER_ID_QUALCOMM_PROPRIETARY,
|
||||
.has_broken_unsigned_image_offsets = false,
|
||||
.has_broken_signed_operations = false,
|
||||
|
|
@ -705,10 +703,7 @@ std::unique_ptr<GraphicsPipeline> PipelineCache::CreateGraphicsPipeline(
|
|||
|
||||
const auto runtime_info{MakeRuntimeInfo(programs, key, program, previous_stage, device)};
|
||||
ConvertLegacyToGeneric(program, runtime_info);
|
||||
const bool optimize_shader{this->optimize_spirv_output &&
|
||||
!profile.has_broken_spirv_access_chain_opt};
|
||||
const std::vector<u32> code{EmitSPIRV(profile, runtime_info, program, binding,
|
||||
optimize_shader)};
|
||||
const std::vector<u32> code{EmitSPIRV(profile, runtime_info, program, binding, this->optimize_spirv_output)};
|
||||
device.SaveShader(code);
|
||||
modules[stage_index] = BuildShader(device, code);
|
||||
if (device.HasDebuggingToolAttached()) {
|
||||
|
|
@ -815,9 +810,7 @@ std::unique_ptr<ComputePipeline> PipelineCache::CreateComputePipeline(
|
|||
max_shared_memory / 1024);
|
||||
program.shared_memory_size = max_shared_memory;
|
||||
}
|
||||
const bool optimize_shader{this->optimize_spirv_output &&
|
||||
!profile.has_broken_spirv_access_chain_opt};
|
||||
const std::vector<u32> code{EmitSPIRV(profile, program, optimize_shader)};
|
||||
const std::vector<u32> code{EmitSPIRV(profile, program, this->optimize_spirv_output)};
|
||||
device.SaveShader(code);
|
||||
vk::ShaderModule spv_module{BuildShader(device, code)};
|
||||
if (device.HasDebuggingToolAttached()) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue