summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache/samples_helper.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2023-01-29 08:47:45 +0100
committerGitHub <noreply@github.com>2023-01-29 08:47:45 +0100
commita3aedcce65959d846733fec1128fbe89fc205d02 (patch)
tree1ba6236c83d61a911199bf1381a65881424d0537 /src/video_core/texture_cache/samples_helper.h
parentMerge pull request #9690 from german77/whoops (diff)
parenttexture_cache: Adjust image view sizes by MSAA samples (diff)
downloadyuzu-a3aedcce65959d846733fec1128fbe89fc205d02.tar
yuzu-a3aedcce65959d846733fec1128fbe89fc205d02.tar.gz
yuzu-a3aedcce65959d846733fec1128fbe89fc205d02.tar.bz2
yuzu-a3aedcce65959d846733fec1128fbe89fc205d02.tar.lz
yuzu-a3aedcce65959d846733fec1128fbe89fc205d02.tar.xz
yuzu-a3aedcce65959d846733fec1128fbe89fc205d02.tar.zst
yuzu-a3aedcce65959d846733fec1128fbe89fc205d02.zip
Diffstat (limited to 'src/video_core/texture_cache/samples_helper.h')
-rw-r--r--src/video_core/texture_cache/samples_helper.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/samples_helper.h b/src/video_core/texture_cache/samples_helper.h
index d552bccf0..203ac1b11 100644
--- a/src/video_core/texture_cache/samples_helper.h
+++ b/src/video_core/texture_cache/samples_helper.h
@@ -51,4 +51,48 @@ namespace VideoCommon {
return 1;
}
+[[nodiscard]] inline int NumSamplesX(Tegra::Texture::MsaaMode msaa_mode) {
+ using Tegra::Texture::MsaaMode;
+ switch (msaa_mode) {
+ case MsaaMode::Msaa1x1:
+ return 1;
+ case MsaaMode::Msaa2x1:
+ case MsaaMode::Msaa2x1_D3D:
+ case MsaaMode::Msaa2x2:
+ case MsaaMode::Msaa2x2_VC4:
+ case MsaaMode::Msaa2x2_VC12:
+ return 2;
+ case MsaaMode::Msaa4x2:
+ case MsaaMode::Msaa4x2_D3D:
+ case MsaaMode::Msaa4x2_VC8:
+ case MsaaMode::Msaa4x2_VC24:
+ case MsaaMode::Msaa4x4:
+ return 4;
+ }
+ ASSERT_MSG(false, "Invalid MSAA mode={}", static_cast<int>(msaa_mode));
+ return 1;
+}
+
+[[nodiscard]] inline int NumSamplesY(Tegra::Texture::MsaaMode msaa_mode) {
+ using Tegra::Texture::MsaaMode;
+ switch (msaa_mode) {
+ case MsaaMode::Msaa1x1:
+ case MsaaMode::Msaa2x1:
+ case MsaaMode::Msaa2x1_D3D:
+ return 1;
+ case MsaaMode::Msaa2x2:
+ case MsaaMode::Msaa2x2_VC4:
+ case MsaaMode::Msaa2x2_VC12:
+ case MsaaMode::Msaa4x2:
+ case MsaaMode::Msaa4x2_D3D:
+ case MsaaMode::Msaa4x2_VC8:
+ case MsaaMode::Msaa4x2_VC24:
+ return 2;
+ case MsaaMode::Msaa4x4:
+ return 4;
+ }
+ ASSERT_MSG(false, "Invalid MSAA mode={}", static_cast<int>(msaa_mode));
+ return 1;
+}
+
} // namespace VideoCommon