2 Copyright © 2010-2011, The AROS Development Team. All rights reserved.
6 #include "nouveau_intern.h"
7 #include "drm_aros_config.h"
10 #include <proto/exec.h>
11 #include <aros/symbolsets.h>
13 #if defined(HOSTED_BUILD)
14 static VOID
Nouveau_HOSTED_BUILD_Init(LIBBASETYPEPTR LIBBASE
)
16 OOP_NewObject(NULL
, CLID_Hidd_Gfx_Nouveau
, NULL
);
18 /* TODO: NewBitmap creation of screen bitmap 1024x768 */
19 /* TODO: ShowViewPorts - display of bitmap */
23 static ULONG
Nouveau_Init(LIBBASETYPEPTR LIBBASE
)
25 struct OOP_ABDescr attrbases
[] =
27 { IID_Hidd_BitMap
, &LIBBASE
->sd
.bitMapAttrBase
},
28 { IID_Hidd_PixFmt
, &LIBBASE
->sd
.pixFmtAttrBase
},
29 { IID_Hidd_Sync
, &LIBBASE
->sd
.syncAttrBase
},
30 { IID_Hidd_Gfx
, &LIBBASE
->sd
.gfxAttrBase
},
31 { IID_Hidd_PlanarBM
, &LIBBASE
->sd
.planarAttrBase
},
32 { IID_Hidd_I2C_Nouveau
, &LIBBASE
->sd
.i2cNouveauAttrBase
},
33 { IID_Hidd_Gallium
, &LIBBASE
->sd
.galliumAttrBase
},
34 { IID_Hidd_GC
, &LIBBASE
->sd
.gcAttrBase
},
35 { IID_Hidd_Compositing
, &LIBBASE
->sd
.compositingAttrBase
},
36 { IID_Hidd_BitMap_Nouveau
, &LIBBASE
->sd
.bitMapNouveauAttrBase
},
40 if (!OOP_ObtainAttrBases(attrbases
))
43 LIBBASE
->sd
.mid_CopyMemBox16
= OOP_GetMethodID((STRPTR
)IID_Hidd_BitMap
, moHidd_BitMap_CopyMemBox16
);
44 LIBBASE
->sd
.mid_CopyMemBox32
= OOP_GetMethodID((STRPTR
)IID_Hidd_BitMap
, moHidd_BitMap_CopyMemBox32
);
45 LIBBASE
->sd
.mid_PutMem32Image16
= OOP_GetMethodID((STRPTR
)IID_Hidd_BitMap
, moHidd_BitMap_PutMem32Image16
);
46 LIBBASE
->sd
.mid_GetMem32Image16
= OOP_GetMethodID((STRPTR
)IID_Hidd_BitMap
, moHidd_BitMap_GetMem32Image16
);
47 LIBBASE
->sd
.mid_PutMemTemplate16
= OOP_GetMethodID((STRPTR
)IID_Hidd_BitMap
, moHidd_BitMap_PutMemTemplate16
);
48 LIBBASE
->sd
.mid_PutMemTemplate32
= OOP_GetMethodID((STRPTR
)IID_Hidd_BitMap
, moHidd_BitMap_PutMemTemplate32
);
49 LIBBASE
->sd
.mid_PutMemPattern16
= OOP_GetMethodID((STRPTR
)IID_Hidd_BitMap
, moHidd_BitMap_PutMemPattern16
);
50 LIBBASE
->sd
.mid_PutMemPattern32
= OOP_GetMethodID((STRPTR
)IID_Hidd_BitMap
, moHidd_BitMap_PutMemPattern32
);
51 LIBBASE
->sd
.mid_ConvertPixels
= OOP_GetMethodID((STRPTR
)IID_Hidd_BitMap
, moHidd_BitMap_ConvertPixels
);
52 LIBBASE
->sd
.mid_GetPixFmt
= OOP_GetMethodID((STRPTR
)IID_Hidd_Gfx
, moHidd_Gfx_GetPixFmt
);
54 LIBBASE
->sd
.mid_BitMapPositionChanged
=
55 OOP_GetMethodID((STRPTR
)IID_Hidd_Compositing
, moHidd_Compositing_BitMapPositionChanged
);
56 LIBBASE
->sd
.mid_BitMapRectChanged
=
57 OOP_GetMethodID((STRPTR
)IID_Hidd_Compositing
, moHidd_Compositing_BitMapRectChanged
);
58 LIBBASE
->sd
.mid_ValidateBitMapPositionChange
=
59 OOP_GetMethodID((STRPTR
)IID_Hidd_Compositing
, moHidd_Compositing_ValidateBitMapPositionChange
);
63 InitSemaphore(&LIBBASE
->sd
.multibitmapsemaphore
);
65 #if defined(HOSTED_BUILD)
66 /* This is used only for HOSTED_BUILD initialization */
67 Nouveau_HOSTED_BUILD_Init(LIBBASE
);
70 /* TEMP - FIXME HACK FOR PATCHRGBCONV */
71 LIBBASE
->sd
.rgbpatched
= FALSE
;
72 /* TEMP - FIXME HACK FOR PATCHRGBCONV */
77 ADD2INITLIB(Nouveau_Init
, 0);
79 ADD2LIBS((STRPTR
)"gallium.hidd", 7, static struct Library
*, GalliumHiddBase
);