summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_opengl/gl_rasterizer_cache.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-06-24 23:42:29 +0200
committerbunnei <bunneidev@gmail.com>2018-06-27 06:08:03 +0200
commit3f9f047375dd9aae7eadcb957747fa8db01544bf (patch)
tree4a5ce82d2726e5f723a3a7a0e72d973f6d6d0573 /src/video_core/renderer_opengl/gl_rasterizer_cache.h
parentgl_rasterizer_cache: Cache size_in_bytes as a const per surface. (diff)
downloadyuzu-3f9f047375dd9aae7eadcb957747fa8db01544bf.tar
yuzu-3f9f047375dd9aae7eadcb957747fa8db01544bf.tar.gz
yuzu-3f9f047375dd9aae7eadcb957747fa8db01544bf.tar.bz2
yuzu-3f9f047375dd9aae7eadcb957747fa8db01544bf.tar.lz
yuzu-3f9f047375dd9aae7eadcb957747fa8db01544bf.tar.xz
yuzu-3f9f047375dd9aae7eadcb957747fa8db01544bf.tar.zst
yuzu-3f9f047375dd9aae7eadcb957747fa8db01544bf.zip
Diffstat (limited to 'src/video_core/renderer_opengl/gl_rasterizer_cache.h')
-rw-r--r--src/video_core/renderer_opengl/gl_rasterizer_cache.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/video_core/renderer_opengl/gl_rasterizer_cache.h b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
index 9f1209b0f..53ff2722d 100644
--- a/src/video_core/renderer_opengl/gl_rasterizer_cache.h
+++ b/src/video_core/renderer_opengl/gl_rasterizer_cache.h
@@ -220,6 +220,16 @@ struct SurfaceParams {
}
}
+ static PixelFormat PixelFormatFromGPUPixelFormat(Tegra::FramebufferConfig::PixelFormat format) {
+ switch (format) {
+ case Tegra::FramebufferConfig::PixelFormat::ABGR8:
+ return PixelFormat::ABGR8;
+ default:
+ NGLOG_CRITICAL(HW_GPU, "Unimplemented format={}", static_cast<u32>(format));
+ UNREACHABLE();
+ }
+ }
+
static SurfaceType GetFormatType(PixelFormat pixel_format) {
if (static_cast<size_t>(pixel_format) < MaxPixelFormat) {
return SurfaceType::ColorTexture;
@@ -302,6 +312,7 @@ public:
const MathUtil::Rectangle<s32>& viewport);
void LoadSurface(const Surface& surface);
void FlushSurface(const Surface& surface);
+ Surface TryFindFramebufferSurface(VAddr cpu_addr) const;
private:
Surface GetSurface(const SurfaceParams& params);