fixes alpha copy on totk
Some checks failed
eden-license / license-header (pull_request) Failing after 32s
Some checks failed
eden-license / license-header (pull_request) Failing after 32s
This commit is contained in:
parent
0b29fb7c8a
commit
5cd5304c80
2 changed files with 10 additions and 2 deletions
|
@ -1,3 +1,6 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
// SPDX-FileCopyrightText: Copyright 2019 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
@ -1368,8 +1371,7 @@ void TextureCacheRuntime::CopyImage(Image& dst, Image& src,
|
|||
std::span<const VideoCommon::ImageCopy> copies) {
|
||||
// As per the size-compatible formats section of vulkan, copy manually via ReinterpretImage
|
||||
// these images that aren't size-compatible
|
||||
if (HasAlpha(src.info.format) != HasAlpha(dst.info.format) ||
|
||||
BytesPerBlock(src.info.format) != BytesPerBlock(dst.info.format)) {
|
||||
if (BytesPerBlock(src.info.format) != BytesPerBlock(dst.info.format)) {
|
||||
auto oneCopy = VideoCommon::ImageCopy{
|
||||
.src_offset = VideoCommon::Offset3D(0, 0, 0),
|
||||
.dst_offset = VideoCommon::Offset3D(0, 0, 0),
|
||||
|
|
|
@ -263,6 +263,12 @@ bool HasAlpha(PixelFormat pixel_format) {
|
|||
case PixelFormat::B8G8R8A8_SRGB:
|
||||
case PixelFormat::BC1_RGBA_SRGB:
|
||||
case PixelFormat::A4B4G4R4_UNORM:
|
||||
case PixelFormat::BC2_SRGB:
|
||||
case PixelFormat::BC2_UNORM:
|
||||
case PixelFormat::BC3_SRGB:
|
||||
case PixelFormat::BC3_UNORM:
|
||||
case PixelFormat::BC7_SRGB:
|
||||
case PixelFormat::BC7_UNORM:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue