mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-21 02:09:05 +02:00
GPU/Metal, modelled on GPU/Vulkan since the shaders are the same Vulkan GLSL, translated to MSL. Drawing goes through the render manager's state setters, so it shares encoders with thin3d. thin3d fixes found along the way: - Binding the framebuffer that's already the target continues the pass, applying clears and ignoring DontCare, like VulkanRenderManager. - Separate depth or stencil copies, through a buffer, so the stencil survives a framebuffer resize (Need for Speed Shift). - Stencil export, so stencil uploads take one pass. Out of the 1061 dumps in ppsspp-framedumps, 1058 render identically to Vulkan (two of the others are bad dumps), as do the eight benchmark savestates. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
26 lines
940 B
C++
26 lines
940 B
C++
// Copyright (c) 2012- PPSSPP Project.
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU General Public License as published by
|
|
// the Free Software Foundation, version 2.0 or later versions.
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License 2.0 for more details.
|
|
|
|
// A copy of the GPL 2.0 should have been included with the program.
|
|
// If not, see http://www.gnu.org/licenses/
|
|
|
|
// Official git repository and contact information can be found at
|
|
// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
|
|
|
|
#pragma once
|
|
|
|
#include "GPU/Common/FramebufferManagerCommon.h"
|
|
|
|
class FramebufferManagerMetal : public FramebufferManagerCommon {
|
|
public:
|
|
FramebufferManagerMetal(Draw::DrawContext *draw);
|
|
};
|