Check for SYS/GL during library init. Reason is that
[AROS.git] / workbench / hidds / gallium / include / gallium.h
blob3ea1af20c9f552acf013c074e3a5c741224af3f1
1 #ifndef HIDD_GALLIUM_H
2 #define HIDD_GALLIUM_H
4 /*
5 Copyright 2010-2011, The AROS Development Team. All rights reserved.
6 $Id$
7 */
9 #ifndef EXEC_TYPES_H
10 # include <exec/types.h>
11 #endif
13 #ifndef HIDD_HIDD_H
14 # include <hidd/hidd.h>
15 #endif
17 #ifndef OOP_OOP_H
18 # include <oop/oop.h>
19 #endif
21 #ifndef P_AROS_VERSION_H
22 /* Gallium3D interface version. This is separate from gallium.hidd versioning */
23 # include <gallium/pipe/p_aros_version.h>
24 #endif
26 #ifndef _STDINT_H_
27 # include <stdint.h>
28 #endif
30 #ifndef U_SIMPLE_SCREEN_H
31 # include <gallium/util/u_simple_screen.h>
32 #endif
34 #ifndef PIPE_STATE_H
35 # include <gallium/pipe/p_state.h>
36 #endif
38 #ifndef GRAPHICS_RASTPORT_H
39 # include <graphics/rastport.h>
40 #endif
42 /* Gallium interface */
43 #define CLID_Hidd_Gallium "hidd.gallium"
44 #define IID_Hidd_Gallium "hidd.gallium"
46 #define HiddGalliumAttrBase __IHidd_Gallium
48 #ifndef __OOP_NOATTRBASES__
49 extern OOP_AttrBase HiddGalliumAttrBase;
50 #endif
52 /* Gallium Class methods */
54 enum
56 moHidd_Gallium_CreatePipeScreen = 0,
57 moHidd_Gallium_DisplaySurface = 2, /* This method is OBSOLETE */
58 moHidd_Gallium_DisplayResource,
60 NUM_GALLIUM_METHODS
63 enum
65 aoHidd_Gallium_GalliumInterfaceVersion = 0,
67 num_Hidd_Gallium_Attrs
70 #define aHidd_Gallium_GalliumInterfaceVersion (HiddGalliumAttrBase + aoHidd_Gallium_GalliumInterfaceVersion)
72 #define IS_GALLIUM_ATTR(attr, idx) \
73 (((idx) = (attr) - HiddGalliumAttrBase) < num_Hidd_Gallium_Attrs)
75 struct pHidd_Gallium_CreatePipeScreen
77 STACKED OOP_MethodID mID;
80 struct pHidd_Gallium_DisplaySurface
82 STACKED OOP_MethodID mID;
83 STACKED APTR context;
84 STACKED struct RastPort *rastport;
85 STACKED ULONG left;
86 STACKED ULONG top;
87 STACKED ULONG width;
88 STACKED ULONG height;
89 STACKED struct pipe_surface *surface;
90 STACKED ULONG absx;
91 STACKED ULONG absy;
92 STACKED ULONG relx;
93 STACKED ULONG rely;
96 struct pHidd_Gallium_DisplayResource
98 STACKED OOP_MethodID mID;
99 STACKED struct pipe_resource *resource;
100 STACKED ULONG srcx;
101 STACKED ULONG srcy;
103 STACKED struct BitMap *bitmap;
104 STACKED ULONG dstx;
105 STACKED ULONG dsty;
106 STACKED ULONG width;
107 STACKED ULONG height;
110 struct HIDDT_WinSys
112 struct pipe_winsys base;
113 OOP_Object *driver;
116 #endif