summaryrefslogtreecommitdiffstats
path: root/src/video_core/texture_cache/texture_cache_contextless.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-04-25 18:41:57 +0200
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-06-21 02:36:11 +0200
commit6c410104f4f6953ac37095aa5e65804bf115c026 (patch)
treec508c35c4bc1bf436a22888cd6c150dfbe07edc8 /src/video_core/texture_cache/texture_cache_contextless.h
parentgl_texture_cache: Implement fermi copies (diff)
downloadyuzu-6c410104f4f6953ac37095aa5e65804bf115c026.tar
yuzu-6c410104f4f6953ac37095aa5e65804bf115c026.tar.gz
yuzu-6c410104f4f6953ac37095aa5e65804bf115c026.tar.bz2
yuzu-6c410104f4f6953ac37095aa5e65804bf115c026.tar.lz
yuzu-6c410104f4f6953ac37095aa5e65804bf115c026.tar.xz
yuzu-6c410104f4f6953ac37095aa5e65804bf115c026.tar.zst
yuzu-6c410104f4f6953ac37095aa5e65804bf115c026.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/texture_cache/texture_cache_contextless.h93
1 files changed, 0 insertions, 93 deletions
diff --git a/src/video_core/texture_cache/texture_cache_contextless.h b/src/video_core/texture_cache/texture_cache_contextless.h
deleted file mode 100644
index cd35a9fd4..000000000
--- a/src/video_core/texture_cache/texture_cache_contextless.h
+++ /dev/null
@@ -1,93 +0,0 @@
-// Copyright 2019 yuzu Emulator Project
-// Licensed under GPLv2 or any later version
-// Refer to the license.txt file included.
-
-#pragma once
-
-#include "video_core/texture_cache/texture_cache.h"
-
-namespace VideoCommon {
-
-struct DummyExecutionContext {};
-
-template <typename TSurface, typename TView>
-class TextureCacheContextless : protected TextureCache<TSurface, TView, DummyExecutionContext> {
- using Base = TextureCache<TSurface, TView, DummyExecutionContext>;
-
-public:
- void InvalidateRegion(CacheAddr addr, std::size_t size) {
- Base::InvalidateRegion(addr, size);
- }
-
- TView* GetTextureSurface(const Tegra::Texture::FullTextureInfo& config) {
- return RemoveContext(Base::GetTextureSurface({}, config));
- }
-
- TView* GetDepthBufferSurface(bool preserve_contents) {
- return RemoveContext(Base::GetDepthBufferSurface({}, preserve_contents));
- }
-
- TView* GetColorBufferSurface(std::size_t index, bool preserve_contents) {
- return RemoveContext(Base::GetColorBufferSurface({}, index, preserve_contents));
- }
-
- TView* GetFermiSurface(const Tegra::Engines::Fermi2D::Regs::Surface& config) {
- return RemoveContext(Base::GetFermiSurface({}, config));
- }
-
- std::shared_ptr<TSurface> TryFindFramebufferSurface(const u8* host_ptr) const {
- return Base::TryFindFramebufferSurface(host_ptr);
- }
-
- u64 Tick() {
- return Base::Tick();
- }
-
-protected:
- explicit TextureCacheContextless(Core::System& system,
- VideoCore::RasterizerInterface& rasterizer)
- : TextureCache<TSurface, TView, DummyExecutionContext>{system, rasterizer} {}
-
- virtual TView* TryFastGetSurfaceView(
- GPUVAddr gpu_addr, VAddr cpu_addr, u8* host_ptr, const SurfaceParams& params,
- bool preserve_contents, const std::vector<std::shared_ptr<TSurface>>& overlaps) = 0;
-
-private:
- std::tuple<TView*, DummyExecutionContext> TryFastGetSurfaceView(
- DummyExecutionContext, GPUVAddr gpu_addr, VAddr cpu_addr, u8* host_ptr,
- const SurfaceParams& params, bool preserve_contents,
- const std::vector<std::shared_ptr<TSurface>>& overlaps) {
- return {TryFastGetSurfaceView(gpu_addr, cpu_addr, host_ptr, params, preserve_contents,
- overlaps),
- {}};
- }
-
- TView* RemoveContext(std::tuple<TView*, DummyExecutionContext> return_value) {
- const auto [view, exctx] = return_value;
- return view;
- }
-};
-
-template <typename TTextureCache, typename TView>
-class SurfaceBaseContextless : public SurfaceBase<TTextureCache, TView, DummyExecutionContext> {
-public:
- DummyExecutionContext DownloadTexture(DummyExecutionContext) {
- DownloadTextureImpl();
- return {};
- }
-
- DummyExecutionContext UploadTexture(DummyExecutionContext) {
- UploadTextureImpl();
- return {};
- }
-
-protected:
- explicit SurfaceBaseContextless(TTextureCache& texture_cache, const SurfaceParams& params)
- : SurfaceBase<TTextureCache, TView, DummyExecutionContext>{texture_cache, params} {}
-
- virtual void DownloadTextureImpl() = 0;
-
- virtual void UploadTextureImpl() = 0;
-};
-
-} // namespace VideoCommon