revert between 56095 -> 55830 in arch
[AROS.git] / workbench / libs / gallium / gallium_intern.h
blobb8b5df58f29bd8d7f2530f6f36e049a7d44eb362
1 /*
2 Copyright © 2010-2018, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef GALLIUM_INTERN_H
7 #define GALLIUM_INTERN_H
9 #ifndef EXEC_LIBRARIES_H
10 # include <exec/libraries.h>
11 #endif
13 #ifndef GALLIUM_GALLIUM_H
14 # include <gallium/gallium.h>
15 #endif
17 #ifndef PROTO_EXEC_H
18 # include <proto/exec.h>
19 #endif
21 #ifndef EXEC_SEMAPHORES_H
22 # include <exec/semaphores.h>
23 #endif
25 #ifndef OOP_OOP_H
26 # include <oop/oop.h>
27 #endif
29 #ifndef PROTO_OOP_H
30 # include <proto/oop.h>
31 #endif
33 #ifndef HIDD_GALLIUM_H
34 # include <hidd/gallium.h>
35 #endif
37 #ifndef P_SCREEN_H
38 # include <gallium/pipe/p_screen.h>
39 #endif
41 struct GalliumBase
43 struct Library galb_Lib;
45 char *fallback;
46 struct Library *fallbackmodule;
48 OOP_Class *basegallium;
49 OOP_AttrBase gfxAttrBase;
50 OOP_AttrBase galliumAttrBase;
51 OOP_AttrBase bmAttrBase;
53 /* methods we use .. */
54 OOP_MethodID galliumMId_UpdateRect;
55 OOP_MethodID galliumMId_DisplayResource;
57 struct SignalSemaphore driversemaphore;
58 struct Library *drivermodule;
59 OOP_Object *driver;
62 OOP_Object * SelectGalliumDriver(ULONG requestedinterfaceversion, struct Library * GalliumBase);
63 BOOL IsVersionMatching(ULONG version, OOP_Object * driver, struct Library * GalliumBase);
65 #define GB(lb) ((struct GalliumBase *)lb)
66 #undef HiddGfxAttrBase
67 #define HiddGfxAttrBase (GB(GalliumBase)->gfxAttrBase)
68 #undef HiddBitMapAttrBase
69 #define HiddBitMapAttrBase (GB(GalliumBase)->bmAttrBase)
70 #undef HiddGalliumAttrBase
71 #define HiddGalliumAttrBase (GB(GalliumBase)->galliumAttrBase)
73 #endif