diff options
author | bunnei <bunneidev@gmail.com> | 2020-12-30 08:20:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-30 08:20:09 +0100 |
commit | d5fe722a30947c5c808717ad8940077e95a3a81c (patch) | |
tree | f6f5d6d6379b0404147969e7d1f548ed3d49ca01 /src/video_core/texture_cache/image_info.h | |
parent | Merge pull request #5247 from comex/xx-concepts (diff) | |
parent | video_core: Rewrite the texture cache (diff) | |
download | yuzu-d5fe722a30947c5c808717ad8940077e95a3a81c.tar yuzu-d5fe722a30947c5c808717ad8940077e95a3a81c.tar.gz yuzu-d5fe722a30947c5c808717ad8940077e95a3a81c.tar.bz2 yuzu-d5fe722a30947c5c808717ad8940077e95a3a81c.tar.lz yuzu-d5fe722a30947c5c808717ad8940077e95a3a81c.tar.xz yuzu-d5fe722a30947c5c808717ad8940077e95a3a81c.tar.zst yuzu-d5fe722a30947c5c808717ad8940077e95a3a81c.zip |
Diffstat (limited to 'src/video_core/texture_cache/image_info.h')
-rw-r--r-- | src/video_core/texture_cache/image_info.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/image_info.h b/src/video_core/texture_cache/image_info.h new file mode 100644 index 000000000..5049fc36e --- /dev/null +++ b/src/video_core/texture_cache/image_info.h @@ -0,0 +1,38 @@ +// Copyright 2020 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "video_core/engines/fermi_2d.h" +#include "video_core/engines/maxwell_3d.h" +#include "video_core/surface.h" +#include "video_core/texture_cache/types.h" + +namespace VideoCommon { + +using Tegra::Texture::TICEntry; +using VideoCore::Surface::PixelFormat; + +struct ImageInfo { + explicit ImageInfo() = default; + explicit ImageInfo(const TICEntry& config) noexcept; + explicit ImageInfo(const Tegra::Engines::Maxwell3D::Regs& regs, size_t index) noexcept; + explicit ImageInfo(const Tegra::Engines::Maxwell3D::Regs& regs) noexcept; + explicit ImageInfo(const Tegra::Engines::Fermi2D::Surface& config) noexcept; + + PixelFormat format = PixelFormat::Invalid; + ImageType type = ImageType::e1D; + SubresourceExtent resources; + Extent3D size{1, 1, 1}; + union { + Extent3D block{0, 0, 0}; + u32 pitch; + }; + u32 layer_stride = 0; + u32 maybe_unaligned_layer_stride = 0; + u32 num_samples = 1; + u32 tile_width_spacing = 0; +}; + +} // namespace VideoCommon |