summaryrefslogtreecommitdiff
path: root/hk21/game/gpu.hpp
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