30 lines
471 B
C++
30 lines
471 B
C++
// Copyright 2025 Steven Le Rouzic
|
|
//
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
#pragma once
|
|
|
|
#include <asl/types/status_or.hpp>
|
|
#include <asl/types/box.hpp>
|
|
|
|
struct SDL_Window;
|
|
|
|
namespace gpu
|
|
{
|
|
|
|
class Gpu
|
|
{
|
|
public:
|
|
Gpu() = default;
|
|
ASL_DELETE_COPY_MOVE(Gpu);
|
|
virtual ~Gpu() = default;
|
|
|
|
virtual void destroy() = 0;
|
|
|
|
virtual void frame() = 0;
|
|
};
|
|
|
|
asl::status_or<asl::box<Gpu>> init(SDL_Window* window);
|
|
|
|
} // namespace gpu
|