diff options
author | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-06-30 00:52:37 +0200 |
---|---|---|
committer | ReinUsesLisp <reinuseslisp@airmail.cc> | 2019-06-30 00:52:37 +0200 |
commit | f6f1a8f26a302dc33df635625c490f0d65880059 (patch) | |
tree | 4b0f73bcd53ef8ddc3e57520d82d32937cb21b5c | |
parent | texture_cache: Use std::array for siblings_table (diff) | |
download | yuzu-f6f1a8f26a302dc33df635625c490f0d65880059.tar yuzu-f6f1a8f26a302dc33df635625c490f0d65880059.tar.gz yuzu-f6f1a8f26a302dc33df635625c490f0d65880059.tar.bz2 yuzu-f6f1a8f26a302dc33df635625c490f0d65880059.tar.lz yuzu-f6f1a8f26a302dc33df635625c490f0d65880059.tar.xz yuzu-f6f1a8f26a302dc33df635625c490f0d65880059.tar.zst yuzu-f6f1a8f26a302dc33df635625c490f0d65880059.zip |
-rw-r--r-- | src/video_core/surface.h | 18 | ||||
-rw-r--r-- | src/video_core/texture_cache/surface_params.h | 9 | ||||
-rw-r--r-- | src/video_core/texture_cache/texture_cache.h | 3 |
3 files changed, 13 insertions, 17 deletions
diff --git a/src/video_core/surface.h b/src/video_core/surface.h index bfdbc3b81..83f31c12c 100644 --- a/src/video_core/surface.h +++ b/src/video_core/surface.h @@ -439,11 +439,11 @@ static constexpr u32 GetBytesPerPixel(PixelFormat pixel_format) { return GetFormatBpp(pixel_format) / CHAR_BIT; } -enum class SurfaceCompression : u8 { - None = 0, - Compressed = 1, - Converted = 2, - Rearranged = 3, +enum class SurfaceCompression { + None, // Not compressed + Compressed, // Texture is compressed + Converted, // Texture is converted before upload or after download + Rearranged, // Texture is swizzled before upload or after download }; constexpr std::array<SurfaceCompression, MaxPixelFormat> compression_type_table = {{ @@ -513,11 +513,11 @@ constexpr std::array<SurfaceCompression, MaxPixelFormat> compression_type_table SurfaceCompression::None, // Z32FS8 }}; -static constexpr SurfaceCompression GetFormatCompressionType(PixelFormat format) { - if (format == PixelFormat::Invalid) +constexpr SurfaceCompression GetFormatCompressionType(PixelFormat format) { + if (format == PixelFormat::Invalid) { return SurfaceCompression::None; - - ASSERT(static_cast<std::size_t>(format) < compression_type_table.size()); + } + DEBUG_ASSERT(static_cast<std::size_t>(format) < compression_type_table.size()); return compression_type_table[static_cast<std::size_t>(format)]; } diff --git a/src/video_core/texture_cache/surface_params.h b/src/video_core/texture_cache/surface_params.h index 4dfb882f0..358d6757c 100644 --- a/src/video_core/texture_cache/surface_params.h +++ b/src/video_core/texture_cache/surface_params.h @@ -95,7 +95,7 @@ public: /// Returns the block depth of a given mipmap level. u32 GetMipBlockDepth(u32 level) const; - /// returns the best possible row/pitch alignment for the surface. + /// Returns the best possible row/pitch alignment for the surface. u32 GetRowAlignment(u32 level) const { const u32 bpp = GetCompressionType() == SurfaceCompression::Converted ? 4 : GetBytesPerPixel(); @@ -109,7 +109,7 @@ public: std::size_t GetHostMipmapLevelOffset(u32 level) const; /// Returns the offset in bytes in host memory (linear) of a given mipmap level - // for a texture that is converted in host gpu. + /// for a texture that is converted in host gpu. std::size_t GetConvertedMipmapOffset(u32 level) const; /// Returns the size in bytes in guest memory of a given mipmap level. @@ -176,10 +176,7 @@ public: pixel_format < VideoCore::Surface::PixelFormat::MaxDepthStencilFormat; } - /// Returns how the compression should be handled for this texture. Values - /// are: None(no compression), Compressed(texture is compressed), - /// Converted(texture is converted before upload/ after download), - /// Rearranged(texture is swizzled before upload/after download). + /// Returns how the compression should be handled for this texture. SurfaceCompression GetCompressionType() const { return VideoCore::Surface::GetFormatCompressionType(pixel_format); } diff --git a/src/video_core/texture_cache/texture_cache.h b/src/video_core/texture_cache/texture_cache.h index 9fcf87744..3df3e17dd 100644 --- a/src/video_core/texture_cache/texture_cache.h +++ b/src/video_core/texture_cache/texture_cache.h @@ -571,8 +571,7 @@ private: // Step 1 // Check Level 1 Cache for a fast structural match. If candidate surface // matches at certain level we are pretty much done. - auto iter = l1_cache.find(cache_addr); - if (iter != l1_cache.end()) { + if (const auto iter = l1_cache.find(cache_addr); iter != l1_cache.end()) { TSurface& current_surface = iter->second; const auto topological_result = current_surface->MatchesTopology(params); if (topological_result != MatchTopologyResult::FullMatch) { |