From d647d9550c838fdfb16ad053f3ff243de3e15482 Mon Sep 17 00:00:00 2001 From: bunnei Date: Mon, 27 Aug 2018 21:35:15 -0400 Subject: gl_renderer: Cache textures, framebuffers, and shaders based on CPU address. --- src/video_core/renderer_opengl/gl_rasterizer_cache.h | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/video_core/renderer_opengl/gl_rasterizer_cache.h') diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.h b/src/video_core/renderer_opengl/gl_rasterizer_cache.h index ecdd8d8e5..f381e735f 100644 --- a/src/video_core/renderer_opengl/gl_rasterizer_cache.h +++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.h @@ -638,9 +638,6 @@ struct SurfaceParams { GetFormatBpp(pixel_format) / CHAR_BIT; } - /// Returns the CPU virtual address for this surface - VAddr GetCpuAddr() const; - /// Creates SurfaceParams from a texture configuration static SurfaceParams CreateForTexture(const Tegra::Texture::FullTextureInfo& config); @@ -671,7 +668,7 @@ struct SurfaceParams { std::tie(other.pixel_format, other.type, other.cache_width, other.cache_height); } - Tegra::GPUVAddr addr; + VAddr addr; bool is_tiled; u32 block_height; PixelFormat pixel_format; @@ -712,7 +709,7 @@ class CachedSurface final { public: CachedSurface(const SurfaceParams& params); - Tegra::GPUVAddr GetAddr() const { + VAddr GetAddr() const { return params.addr; } @@ -763,8 +760,8 @@ public: /// Flushes the surface to Switch memory void FlushSurface(const Surface& surface); - /// Tries to find a framebuffer GPU address based on the provided CPU address - Surface TryFindFramebufferSurface(VAddr cpu_addr) const; + /// Tries to find a framebuffer using on the provided CPU address + Surface TryFindFramebufferSurface(VAddr addr) const; private: void LoadSurface(const Surface& surface); -- cgit v1.2.3