|
|
@ -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_}, |
|
|
|
|
|
resolution{Settings::values.resolution_info} {} |
|
|
|
|
|
|
|
|
render_pass_cache{render_pass_cache_}, 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); |
|
|
} |
|
|
} |
|
|
|