blob: 316cdb2d4f43ef3ec55cff171bbb029b5f267f12 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
// 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
|