diff --git a/CMakeLists.txt b/CMakeLists.txt index ef98e1af..620a1c27 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -95,7 +95,8 @@ endif() set(SOURCE_FILES src/main.cpp src/emulator.cpp src/io_file.cpp src/config.cpp src/core/CPU/cpu_dynarmic.cpp src/core/CPU/dynarmic_cycles.cpp - src/core/memory.cpp src/renderer.cpp src/httpserver.cpp src/stb_image_write.c + src/core/memory.cpp src/renderer.cpp src/core/renderer_null/renderer_null.cpp + src/httpserver.cpp src/stb_image_write.c ) set(CRYPTO_SOURCE_FILES src/core/crypto/aes_engine.cpp) set(KERNEL_SOURCE_FILES src/core/kernel/kernel.cpp src/core/kernel/resource_limits.cpp @@ -130,7 +131,7 @@ set(HEADER_FILES include/emulator.hpp include/helpers.hpp include/termcolor.hpp include/dynarmic_cp15.hpp include/kernel/resource_limits.hpp include/kernel/kernel_types.hpp include/kernel/config_mem.hpp include/services/service_manager.hpp include/services/apt.hpp include/kernel/handles.hpp include/services/hid.hpp include/services/fs.hpp - include/services/gsp_gpu.hpp include/services/gsp_lcd.hpp include/arm_defs.hpp + include/services/gsp_gpu.hpp include/services/gsp_lcd.hpp include/arm_defs.hpp include/renderer_null/renderer_null.hpp include/PICA/gpu.hpp include/PICA/regs.hpp include/services/ndm.hpp include/PICA/shader.hpp include/PICA/shader_unit.hpp include/PICA/float_types.hpp include/logger.hpp include/loader/ncch.hpp include/loader/ncsd.hpp include/io_file.hpp diff --git a/include/renderer_null/renderer_null.hpp b/include/renderer_null/renderer_null.hpp new file mode 100644 index 00000000..29080786 --- /dev/null +++ b/include/renderer_null/renderer_null.hpp @@ -0,0 +1,17 @@ +#include "renderer.hpp" + +class GPU; + +class RendererNull final : public Renderer { + public: + RendererNull(GPU& gpu, const std::array& internalRegs); + ~RendererNull() override; + + void reset() override; + void display() override; + void initGraphicsContext() override; + void clearBuffer(u32 startAddress, u32 endAddress, u32 value, u32 control) override; + void displayTransfer(u32 inputAddr, u32 outputAddr, u32 inputSize, u32 outputSize, u32 flags) override; + void drawVertices(PICA::PrimType primType, std::span vertices) override; + void screenshot(const std::string& name) override; +}; \ No newline at end of file diff --git a/src/core/renderer_null/renderer_null.cpp b/src/core/renderer_null/renderer_null.cpp new file mode 100644 index 00000000..9df2ddeb --- /dev/null +++ b/src/core/renderer_null/renderer_null.cpp @@ -0,0 +1,12 @@ +#include "renderer_null/renderer_null.hpp" + +RendererNull::RendererNull(GPU& gpu, const std::array& internalRegs) : Renderer(gpu, internalRegs) {} +RendererNull::~RendererNull() {} + +void RendererNull::reset() {} +void RendererNull::display() {} +void RendererNull::initGraphicsContext() {} +void RendererNull::clearBuffer(u32 startAddress, u32 endAddress, u32 value, u32 control) {} +void RendererNull::displayTransfer(u32 inputAddr, u32 outputAddr, u32 inputSize, u32 outputSize, u32 flags) {} +void RendererNull::drawVertices(PICA::PrimType primType, std::span vertices) {} +void RendererNull::screenshot(const std::string& name) {} \ No newline at end of file