// Copyright 2017 Dolphin Emulator Project // Licensed under GPLv2+ // Refer to the license.txt file included. #include "VideoCommon/TextureConfig.h" #include "VideoCommon/AbstractTexture.h" #include bool TextureConfig::operator==(const TextureConfig& o) const { return std::tie(width, height, levels, layers, format, rendertarget) == 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)); }