diff options
| author | 2021-04-05 08:56:58 +0200 | |
|---|---|---|
| committer | 2021-07-22 21:51:26 -0400 | |
| commit | 72daa2a039d58d23b0dca035bb5f6af8b10ce97b (patch) | |
| tree | c971b1e78869a84198a2856b20ac00d31a04bf47 /src | |
| parent | shader: Fix splits on blocks using indirect branches (diff) | |
| download | yuzu-72daa2a039d58d23b0dca035bb5f6af8b10ce97b.tar.gz yuzu-72daa2a039d58d23b0dca035bb5f6af8b10ce97b.tar.xz yuzu-72daa2a039d58d23b0dca035bb5f6af8b10ce97b.zip | |
shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardware
Diffstat (limited to 'src')
| -rw-r--r-- | src/shader_recompiler/backend/spirv/emit_context.cpp | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/shader_recompiler/backend/spirv/emit_context.cpp b/src/shader_recompiler/backend/spirv/emit_context.cpp index 5ef637fe7..002b305dc 100644 --- a/src/shader_recompiler/backend/spirv/emit_context.cpp +++ b/src/shader_recompiler/backend/spirv/emit_context.cpp | |||
| @@ -45,7 +45,7 @@ Id ImageType(EmitContext& ctx, const TextureDescriptor& desc) { | |||
| 45 | case TextureType::ShadowCube: | 45 | case TextureType::ShadowCube: |
| 46 | return ctx.TypeImage(type, spv::Dim::Cube, true, false, false, 1, format); | 46 | return ctx.TypeImage(type, spv::Dim::Cube, true, false, false, 1, format); |
| 47 | case TextureType::ShadowArrayCube: | 47 | case TextureType::ShadowArrayCube: |
| 48 | return ctx.TypeImage(type, spv::Dim::Cube, false, true, false, 1, format); | 48 | return ctx.TypeImage(type, spv::Dim::Cube, true, true, false, 1, format); |
| 49 | } | 49 | } |
| 50 | throw InvalidArgument("Invalid texture type {}", desc.type); | 50 | throw InvalidArgument("Invalid texture type {}", desc.type); |
| 51 | } | 51 | } |
diff --git a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp index f88ab67ae..088de7001 100644 --- a/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp +++ b/src/video_core/renderer_vulkan/vk_pipeline_cache.cpp | |||
| @@ -6,6 +6,7 @@ | |||
| 6 | #include <cstddef> | 6 | #include <cstddef> |
| 7 | #include <fstream> | 7 | #include <fstream> |
| 8 | #include <memory> | 8 | #include <memory> |
| 9 | #include <thread> | ||
| 9 | #include <vector> | 10 | #include <vector> |
| 10 | 11 | ||
| 11 | #include "common/bit_cast.h" | 12 | #include "common/bit_cast.h" |
| @@ -607,7 +608,8 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, Tegra::GPU& gpu_, | |||
| 607 | scheduler{scheduler_}, descriptor_pool{descriptor_pool_}, | 608 | scheduler{scheduler_}, descriptor_pool{descriptor_pool_}, |
| 608 | update_descriptor_queue{update_descriptor_queue_}, render_pass_cache{render_pass_cache_}, | 609 | update_descriptor_queue{update_descriptor_queue_}, render_pass_cache{render_pass_cache_}, |
| 609 | buffer_cache{buffer_cache_}, texture_cache{texture_cache_}, | 610 | buffer_cache{buffer_cache_}, texture_cache{texture_cache_}, |
| 610 | workers(11, "yuzu:PipelineBuilder"), serialization_thread(1, "yuzu:PipelineSerialization") { | 611 | workers(std::thread::hardware_concurrency() - 1, "yuzu:PipelineBuilder"), |
| 612 | serialization_thread(1, "yuzu:PipelineSerialization") { | ||
| 611 | const auto& float_control{device.FloatControlProperties()}; | 613 | const auto& float_control{device.FloatControlProperties()}; |
| 612 | const VkDriverIdKHR driver_id{device.GetDriverID()}; | 614 | const VkDriverIdKHR driver_id{device.GetDriverID()}; |
| 613 | base_profile = Shader::Profile{ | 615 | base_profile = Shader::Profile{ |