From f43d85921dc85ae586d69b21d28a7578835a55bd Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sun, 22 Oct 2017 00:49:40 +1000 Subject: VideoBackends: Add AbstractStagingTexture class Can be used for asynchronous readback or upload of textures. --- Source/Core/VideoCommon/TextureConfig.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'Source/Core/VideoCommon/TextureConfig.cpp') diff --git a/Source/Core/VideoCommon/TextureConfig.cpp b/Source/Core/VideoCommon/TextureConfig.cpp index 7a6930c798..d8155d59b1 100644 --- a/Source/Core/VideoCommon/TextureConfig.cpp +++ b/Source/Core/VideoCommon/TextureConfig.cpp @@ -3,6 +3,7 @@ // Refer to the license.txt file included. #include "VideoCommon/TextureConfig.h" +#include "VideoCommon/AbstractTexture.h" #include @@ -12,7 +13,28 @@ bool TextureConfig::operator==(const TextureConfig& o) const std::tie(o.width, o.height, o.levels, o.layers, o.format, o.rendertarget); } +bool TextureConfig::operator!=(const TextureConfig& o) const +{ + return !operator==(o); +} + MathUtil::Rectangle TextureConfig::GetRect() const { return {0, 0, static_cast(width), static_cast(height)}; } + +MathUtil::Rectangle TextureConfig::GetMipRect(u32 level) const +{ + return {0, 0, static_cast(std::max(width >> level, 1u)), + static_cast(std::max(height >> level, 1u))}; +} + +size_t TextureConfig::GetStride() const +{ + return AbstractTexture::CalculateStrideForFormat(format, width); +} + +size_t TextureConfig::GetMipStride(u32 level) const +{ + return AbstractTexture::CalculateStrideForFormat(format, std::max(width >> level, 1u)); +} -- cgit v1.2.3