diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2019-10-16 10:47:44 -0400 |
|---|---|---|
| committer | FernandoS27 <fsahmkow27@gmail.com> | 2019-11-20 14:59:35 -0400 |
| commit | cc81c0ce64a5cc1f550ca796fda38e445660649a (patch) | |
| tree | c9d2c27f143dcda1b164e2e4bc5edac96cef3bc8 /src/video_core/texture_cache/surface_params.h | |
| parent | c52f37f259372485ac5902d9cae8de327c984a55 (diff) | |
Texture_Cache: Redo invalid Surfaces handling.
This commit aims to redo the full setup of invalid textures and
guarantee correct behavior across backends in the case of finding one by
using black dummy textures that match the target of the expected
texture.
Diffstat (limited to 'src/video_core/texture_cache/surface_params.h')
| -rw-r--r-- | src/video_core/texture_cache/surface_params.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/texture_cache/surface_params.h b/src/video_core/texture_cache/surface_params.h index 709aa0dc2..129817ad3 100644 --- a/src/video_core/texture_cache/surface_params.h +++ b/src/video_core/texture_cache/surface_params.h @@ -45,6 +45,14 @@ public: static SurfaceParams CreateForFermiCopySurface( const Tegra::Engines::Fermi2D::Regs::Surface& config); + /// Obtains the texture target from a shader's sampler entry. + static VideoCore::Surface::SurfaceTarget ExpectedTarget( + const VideoCommon::Shader::Sampler& entry); + + /// Obtains the texture target from a shader's sampler entry. + static VideoCore::Surface::SurfaceTarget ExpectedTarget( + const VideoCommon::Shader::Image& entry); + std::size_t Hash() const { return static_cast<std::size_t>( Common::CityHash64(reinterpret_cast<const char*>(this), sizeof(*this))); |
