shader: Fix ShadowCube declaration type, set number of pipeline threads based on hardware
This commit is contained in:
parent
9e6fe430bd
commit
72daa2a039
|
@ -45,7 +45,7 @@ Id ImageType(EmitContext& ctx, const TextureDescriptor& desc) {
|
||||||
case TextureType::ShadowCube:
|
case TextureType::ShadowCube:
|
||||||
return ctx.TypeImage(type, spv::Dim::Cube, true, false, false, 1, format);
|
return ctx.TypeImage(type, spv::Dim::Cube, true, false, false, 1, format);
|
||||||
case TextureType::ShadowArrayCube:
|
case TextureType::ShadowArrayCube:
|
||||||
return ctx.TypeImage(type, spv::Dim::Cube, false, true, false, 1, format);
|
return ctx.TypeImage(type, spv::Dim::Cube, true, true, false, 1, format);
|
||||||
}
|
}
|
||||||
throw InvalidArgument("Invalid texture type {}", desc.type);
|
throw InvalidArgument("Invalid texture type {}", desc.type);
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
#include <thread>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
#include "common/bit_cast.h"
|
#include "common/bit_cast.h"
|
||||||
|
@ -607,7 +608,8 @@ PipelineCache::PipelineCache(RasterizerVulkan& rasterizer_, Tegra::GPU& gpu_,
|
||||||
scheduler{scheduler_}, descriptor_pool{descriptor_pool_},
|
scheduler{scheduler_}, descriptor_pool{descriptor_pool_},
|
||||||
update_descriptor_queue{update_descriptor_queue_}, render_pass_cache{render_pass_cache_},
|
update_descriptor_queue{update_descriptor_queue_}, render_pass_cache{render_pass_cache_},
|
||||||
buffer_cache{buffer_cache_}, texture_cache{texture_cache_},
|
buffer_cache{buffer_cache_}, texture_cache{texture_cache_},
|
||||||
workers(11, "yuzu:PipelineBuilder"), serialization_thread(1, "yuzu:PipelineSerialization") {
|
workers(std::thread::hardware_concurrency() - 1, "yuzu:PipelineBuilder"),
|
||||||
|
serialization_thread(1, "yuzu:PipelineSerialization") {
|
||||||
const auto& float_control{device.FloatControlProperties()};
|
const auto& float_control{device.FloatControlProperties()};
|
||||||
const VkDriverIdKHR driver_id{device.GetDriverID()};
|
const VkDriverIdKHR driver_id{device.GetDriverID()};
|
||||||
base_profile = Shader::Profile{
|
base_profile = Shader::Profile{
|
||||||
|
|
Loading…
Reference in New Issue