Serenity Operating System
1/*
2 * Copyright (c) 2022, Sahan Fernando <sahan.h.fernando@gmail.com>
3 *
4 * SPDX-License-Identifier: BSD-2-Clause
5 */
6
7#pragma once
8
9#include <AK/Types.h>
10
11struct VirGL3DResourceSpec {
12 u32 target;
13 u32 format;
14 u32 bind;
15 u32 width;
16 u32 height;
17 u32 depth;
18 u32 array_size;
19 u32 last_level;
20 u32 nr_samples;
21 u32 flags;
22 u32 created_resource_id;
23};
24
25struct VirGLCommandBuffer {
26 u32 const* data;
27 u32 num_elems;
28};
29
30#define VIRGL_DATA_DIR_GUEST_TO_HOST 1
31#define VIRGL_DATA_DIR_HOST_TO_GUEST 2
32
33struct VirGLTransferDescriptor {
34 void* data;
35 size_t offset_in_region;
36 size_t num_bytes;
37 int direction;
38};