Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/glx/dri2_priv.h
4558 views
1
/*
2
* Copyright © 2008 Red Hat, Inc.
3
*
4
* Permission is hereby granted, free of charge, to any person obtaining a
5
* copy of this software and associated documentation files (the "Soft-
6
* ware"), to deal in the Software without restriction, including without
7
* limitation the rights to use, copy, modify, merge, publish, distribute,
8
* and/or sell copies of the Software, and to permit persons to whom the
9
* Software is furnished to do so, provided that the above copyright
10
* notice(s) and this permission notice appear in all copies of the Soft-
11
* ware and that both the above copyright notice(s) and this permission
12
* notice appear in supporting documentation.
13
*
14
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
16
* ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY
17
* RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
18
* THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSE-
19
* QUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
20
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
21
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFOR-
22
* MANCE OF THIS SOFTWARE.
23
*
24
* Except as contained in this notice, the name of a copyright holder shall
25
* not be used in advertising or otherwise to promote the sale, use or
26
* other dealings in this Software without prior written authorization of
27
* the copyright holder.
28
*
29
* Authors:
30
* Kristian Høgsberg ([email protected])
31
*/
32
33
#ifndef DRI2_PRIV_H
34
#define DRI2_PRIV_H
35
36
#ifdef __cplusplus
37
extern "C" {
38
#endif
39
40
struct dri2_screen {
41
struct glx_screen base;
42
43
__DRIscreen *driScreen;
44
__GLXDRIscreen vtable;
45
const __DRIdri2Extension *dri2;
46
const __DRIcoreExtension *core;
47
48
const __DRI2flushExtension *f;
49
const __DRI2configQueryExtension *config;
50
const __DRItexBufferExtension *texBuffer;
51
const __DRI2throttleExtension *throttle;
52
const __DRI2rendererQueryExtension *rendererQuery;
53
const __DRI2interopExtension *interop;
54
const __DRIconfig **driver_configs;
55
56
void *driver;
57
char *driverName;
58
int fd;
59
60
int show_fps_interval;
61
};
62
63
struct dri2_context
64
{
65
struct glx_context base;
66
__DRIcontext *driContext;
67
};
68
69
_X_HIDDEN int
70
dri2_query_renderer_integer(struct glx_screen *base, int attribute,
71
unsigned int *value);
72
73
_X_HIDDEN int
74
dri2_query_renderer_string(struct glx_screen *base, int attribute,
75
const char **value);
76
77
_X_HIDDEN int
78
dri2_interop_query_device_info(struct glx_context *ctx,
79
struct mesa_glinterop_device_info *out);
80
81
_X_HIDDEN int
82
dri2_interop_export_object(struct glx_context *ctx,
83
struct mesa_glinterop_export_in *in,
84
struct mesa_glinterop_export_out *out);
85
86
#ifdef __cplusplus
87
}
88
#endif
89
90
#endif
91
92