renderer_null.h 908 B

1234567891011121314151617181920212223242526272829303132333435
  1. // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include <memory>
  5. #include <string>
  6. #include "video_core/renderer_base.h"
  7. #include "video_core/renderer_null/null_rasterizer.h"
  8. namespace Null {
  9. class RendererNull final : public VideoCore::RendererBase {
  10. public:
  11. explicit RendererNull(Core::Frontend::EmuWindow& emu_window, Tegra::GPU& gpu,
  12. std::unique_ptr<Core::Frontend::GraphicsContext> context);
  13. ~RendererNull() override;
  14. void Composite(std::span<const Tegra::FramebufferConfig> framebuffer) override;
  15. VideoCore::RasterizerInterface* ReadRasterizer() override {
  16. return &m_rasterizer;
  17. }
  18. [[nodiscard]] std::string GetDeviceVendor() const override {
  19. return "NULL";
  20. }
  21. private:
  22. Tegra::GPU& m_gpu;
  23. RasterizerNull m_rasterizer;
  24. };
  25. } // namespace Null