|
|
@ -791,12 +791,17 @@ TextureCacheRuntime::TextureCacheRuntime(const Device& device_, Scheduler& sched
|
|
|
|
MemoryAllocator& memory_allocator_,
|
|
|
|
MemoryAllocator& memory_allocator_,
|
|
|
|
StagingBufferPool& staging_buffer_pool_,
|
|
|
|
StagingBufferPool& staging_buffer_pool_,
|
|
|
|
BlitImageHelper& blit_image_helper_,
|
|
|
|
BlitImageHelper& blit_image_helper_,
|
|
|
|
ASTCDecoderPass& astc_decoder_pass_,
|
|
|
|
RenderPassCache& render_pass_cache_,
|
|
|
|
RenderPassCache& render_pass_cache_)
|
|
|
|
DescriptorPool& descriptor_pool,
|
|
|
|
|
|
|
|
UpdateDescriptorQueue& update_descriptor_queue)
|
|
|
|
: device{device_}, scheduler{scheduler_}, memory_allocator{memory_allocator_},
|
|
|
|
: device{device_}, scheduler{scheduler_}, memory_allocator{memory_allocator_},
|
|
|
|
staging_buffer_pool{staging_buffer_pool_}, blit_image_helper{blit_image_helper_},
|
|
|
|
staging_buffer_pool{staging_buffer_pool_}, blit_image_helper{blit_image_helper_},
|
|
|
|
astc_decoder_pass{astc_decoder_pass_}, render_pass_cache{render_pass_cache_},
|
|
|
|
render_pass_cache{render_pass_cache_}, resolution{Settings::values.resolution_info} {
|
|
|
|
resolution{Settings::values.resolution_info} {}
|
|
|
|
if (Settings::values.accelerate_astc) {
|
|
|
|
|
|
|
|
astc_decoder_pass.emplace(device, scheduler, descriptor_pool, staging_buffer_pool,
|
|
|
|
|
|
|
|
update_descriptor_queue, memory_allocator);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void TextureCacheRuntime::Finish() {
|
|
|
|
void TextureCacheRuntime::Finish() {
|
|
|
|
scheduler.Finish();
|
|
|
|
scheduler.Finish();
|
|
|
@ -1845,7 +1850,7 @@ void TextureCacheRuntime::AccelerateImageUpload(
|
|
|
|
Image& image, const StagingBufferRef& map,
|
|
|
|
Image& image, const StagingBufferRef& map,
|
|
|
|
std::span<const VideoCommon::SwizzleParameters> swizzles) {
|
|
|
|
std::span<const VideoCommon::SwizzleParameters> swizzles) {
|
|
|
|
if (IsPixelFormatASTC(image.info.format)) {
|
|
|
|
if (IsPixelFormatASTC(image.info.format)) {
|
|
|
|
return astc_decoder_pass.Assemble(image, map, swizzles);
|
|
|
|
return astc_decoder_pass->Assemble(image, map, swizzles);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
ASSERT(false);
|
|
|
|
ASSERT(false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|