mirror of
https://github.com/skyline-emu/skyline.git
synced 2024-12-23 20:41:50 +01:00
Fix host synchronization for texture with a different guest format
Host synchronization of a guest texture with a different guest format represents a valid use case where the host doesn't support the guest format and conversion to a host-compatible format must be performed. The issue is most evident on Mali GPUs, as they don't support BCn texture formats thus needing manual decoding before submission. It was disabled by mistake in a previous commit, this commit re-enables it.
This commit is contained in:
parent
a1ff4e1777
commit
54172322fe
@ -671,8 +671,8 @@ namespace skyline::gpu {
|
||||
}
|
||||
|
||||
void Texture::SynchronizeHost(bool gpuDirty) {
|
||||
if (!guest || format != guest->format)
|
||||
return; // We need to skip GPU dirty if the host format and guest format differ as we don't support re-encoding compressed textures which is when this generally occurs
|
||||
if (!guest)
|
||||
return;
|
||||
|
||||
TRACE_EVENT("gpu", "Texture::SynchronizeHost");
|
||||
{
|
||||
@ -708,8 +708,8 @@ namespace skyline::gpu {
|
||||
}
|
||||
|
||||
void Texture::SynchronizeHostInline(const vk::raii::CommandBuffer &commandBuffer, const std::shared_ptr<FenceCycle> &pCycle, bool gpuDirty) {
|
||||
if (!guest || format != guest->format)
|
||||
return; // See SynchronizeHost(...)
|
||||
if (!guest)
|
||||
return;
|
||||
|
||||
TRACE_EVENT("gpu", "Texture::SynchronizeHostInline");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user