summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/TextureDecoder.h
diff options
context:
space:
mode:
authorMarkus Wick <degasus@users.noreply.github.com>2017-04-12 01:09:30 +0200
committerGitHub <noreply@github.com>2017-04-12 01:09:30 +0200
commit29344cb5ff7cfaae08349726a092b78689c17a45 (patch)
tree64ac677546927d8565e0a7c1dc2dcfe3824fe244 /Source/Core/VideoCommon/TextureDecoder.h
parent8ecc5e9b7a43c346ffa87572d45ff7e38c83c632 (diff)
parent5e7bd03d0b8aaf16b4baa716d73c4804760a84c0 (diff)
Merge pull request #5202 from stenzek/efb-copy-source-format
TextureConversionShader: Consider source format of EFB for EFB2RAM
Diffstat (limited to 'Source/Core/VideoCommon/TextureDecoder.h')
-rw-r--r--Source/Core/VideoCommon/TextureDecoder.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/TextureDecoder.h b/Source/Core/VideoCommon/TextureDecoder.h
index 44834c0623..b424dd324f 100644
--- a/Source/Core/VideoCommon/TextureDecoder.h
+++ b/Source/Core/VideoCommon/TextureDecoder.h
@@ -4,6 +4,7 @@
#pragma once
+#include <tuple>
#include "Common/CommonTypes.h"
enum
@@ -67,6 +68,22 @@ enum TlutFormat
GX_TL_RGB5A3 = 0x2,
};
+struct EFBCopyFormat
+{
+ EFBCopyFormat(u32 efb_format_, TextureFormat copy_format_)
+ : efb_format(efb_format_), copy_format(copy_format_)
+ {
+ }
+
+ bool operator<(const EFBCopyFormat& rhs) const
+ {
+ return std::tie(efb_format, copy_format) < std::tie(rhs.efb_format, rhs.copy_format);
+ }
+
+ u32 efb_format;
+ TextureFormat copy_format;
+};
+
int TexDecoder_GetTexelSizeInNibbles(int format);
int TexDecoder_GetTextureSizeInBytes(int width, int height, int format);
int TexDecoder_GetBlockWidthInTexels(u32 format);