diff options
| author | Stenzek <stenzek@gmail.com> | 2017-10-22 00:49:40 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2017-11-22 18:47:04 +1000 |
| commit | f43d85921dc85ae586d69b21d28a7578835a55bd (patch) | |
| tree | da734d7c52a1cbaeae276c601b99dd426fcf3d43 /Source/Core/VideoCommon/TextureConfig.cpp | |
| parent | a584ccc7d882213d93586cae9063d9865311aaad (diff) | |
VideoBackends: Add AbstractStagingTexture class
Can be used for asynchronous readback or upload of textures.
Diffstat (limited to 'Source/Core/VideoCommon/TextureConfig.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/TextureConfig.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
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 <tuple> @@ -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<int> TextureConfig::GetRect() const { return {0, 0, static_cast<int>(width), static_cast<int>(height)}; } + +MathUtil::Rectangle<int> TextureConfig::GetMipRect(u32 level) const +{ + return {0, 0, static_cast<int>(std::max(width >> level, 1u)), + static_cast<int>(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)); +} |
