Fix IO memory access .. SB128 driver makes noises in VMWare - CMI is untested (Curren...
[AROS.git] / rom / hidds / graphics / graphics_init.c
blob3cd4ec325d672b3f2acb77cb1e7cf5c90c581c5b
1 /*
2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Graphics hidd initialization code.
6 Lang: English.
7 */
8 #include <stddef.h>
9 #include <exec/types.h>
11 #include <proto/exec.h>
13 #include <aros/symbolsets.h>
15 #include "graphics_intern.h"
16 #include "rgbconv.h"
18 #include LC_LIBDEFS_FILE
20 #undef SDEBUG
21 #undef DEBUG
22 #define DEBUG 0
23 #include <aros/debug.h>
25 #undef csd
27 static int GFX_Init(LIBBASETYPEPTR LIBBASE)
29 struct class_static_data *csd = &LIBBASE->hdg_csd;
31 EnterFunc(bug("GfxHIDD_Init()\n"));
33 csd->GfxBase = NULL;
34 NEWLIST(&csd->pflist);
35 InitSemaphore(&csd->sema);
36 InitSemaphore(&csd->pfsema);
37 InitSemaphore(&csd->rgbconvertfuncs_sem);
39 /* X -> BGR032 */
40 csd->rgbconvertfuncs[vHidd_StdPixFmt_RGB24 - FIRST_RGB_STDPIXFMT]
41 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_RGB24_To_BGR032;
42 csd->rgbconvertfuncs[vHidd_StdPixFmt_BGR24 - FIRST_RGB_STDPIXFMT]
43 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_BGR24_To_BGR032;
44 csd->rgbconvertfuncs[vHidd_StdPixFmt_RGB16 - FIRST_RGB_STDPIXFMT]
45 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_RGB16_To_BGR032;
46 csd->rgbconvertfuncs[vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT]
47 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_RGB16LE_To_BGR032;
48 csd->rgbconvertfuncs[vHidd_StdPixFmt_BGR16 - FIRST_RGB_STDPIXFMT]
49 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_BGR16_To_BGR032;
50 csd->rgbconvertfuncs[vHidd_StdPixFmt_BGR16_LE - FIRST_RGB_STDPIXFMT]
51 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_BGR16LE_To_BGR032;
52 csd->rgbconvertfuncs[vHidd_StdPixFmt_ARGB32 - FIRST_RGB_STDPIXFMT]
53 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_ARGB32_To_BGR032;
54 csd->rgbconvertfuncs[vHidd_StdPixFmt_BGRA32 - FIRST_RGB_STDPIXFMT]
55 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_BGRA32_To_BGR032;
56 csd->rgbconvertfuncs[vHidd_StdPixFmt_RGBA32 - FIRST_RGB_STDPIXFMT]
57 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_RGBA32_To_BGR032;
58 csd->rgbconvertfuncs[vHidd_StdPixFmt_ABGR32 - FIRST_RGB_STDPIXFMT]
59 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_ABGR32_To_BGR032;
60 csd->rgbconvertfuncs[vHidd_StdPixFmt_0RGB32 - FIRST_RGB_STDPIXFMT]
61 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_ARGB32_To_BGR032;
62 csd->rgbconvertfuncs[vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT]
63 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_BGRA32_To_BGR032;
64 csd->rgbconvertfuncs[vHidd_StdPixFmt_RGB032 - FIRST_RGB_STDPIXFMT]
65 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_RGBA32_To_BGR032;
66 csd->rgbconvertfuncs[vHidd_StdPixFmt_0BGR32 - FIRST_RGB_STDPIXFMT]
67 [vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT] = Convert_ABGR32_To_BGR032;
69 /* X -> RGB16_LE */
70 csd->rgbconvertfuncs[vHidd_StdPixFmt_RGB24 - FIRST_RGB_STDPIXFMT]
71 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_RGB24_To_RGB16LE;
72 csd->rgbconvertfuncs[vHidd_StdPixFmt_BGR24 - FIRST_RGB_STDPIXFMT]
73 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_BGR24_To_RGB16LE;
74 csd->rgbconvertfuncs[vHidd_StdPixFmt_RGB16 - FIRST_RGB_STDPIXFMT]
75 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_RGB16_To_RGB16LE;
76 csd->rgbconvertfuncs[vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT]
77 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_RGB16LE_To_RGB16LE;
78 csd->rgbconvertfuncs[vHidd_StdPixFmt_BGR16 - FIRST_RGB_STDPIXFMT]
79 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_BGR16_To_RGB16LE;
80 csd->rgbconvertfuncs[vHidd_StdPixFmt_BGR16_LE - FIRST_RGB_STDPIXFMT]
81 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_BGR16LE_To_RGB16LE;
82 csd->rgbconvertfuncs[vHidd_StdPixFmt_ARGB32 - FIRST_RGB_STDPIXFMT]
83 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_ARGB32_To_RGB16LE;
84 csd->rgbconvertfuncs[vHidd_StdPixFmt_BGRA32 - FIRST_RGB_STDPIXFMT]
85 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_BGRA32_To_RGB16LE;
86 csd->rgbconvertfuncs[vHidd_StdPixFmt_RGBA32 - FIRST_RGB_STDPIXFMT]
87 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_RGBA32_To_RGB16LE;
88 csd->rgbconvertfuncs[vHidd_StdPixFmt_ABGR32 - FIRST_RGB_STDPIXFMT]
89 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_ABGR32_To_RGB16LE;
90 csd->rgbconvertfuncs[vHidd_StdPixFmt_0RGB32 - FIRST_RGB_STDPIXFMT]
91 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_ARGB32_To_RGB16LE;
92 csd->rgbconvertfuncs[vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT]
93 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_BGRA32_To_RGB16LE;
94 csd->rgbconvertfuncs[vHidd_StdPixFmt_RGB032 - FIRST_RGB_STDPIXFMT]
95 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_RGBA32_To_RGB16LE;
96 csd->rgbconvertfuncs[vHidd_StdPixFmt_0BGR32 - FIRST_RGB_STDPIXFMT]
97 [vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT] = Convert_ABGR32_To_RGB16LE;
99 /* BGR032 -> X */
100 csd->rgbconvertfuncs[vHidd_StdPixFmt_BGR032 - FIRST_RGB_STDPIXFMT]
101 [vHidd_StdPixFmt_ARGB32 - FIRST_RGB_STDPIXFMT] = Convert_BGR032_To_ARGB32;
103 /* RGB16_LE -> X */
104 csd->rgbconvertfuncs[vHidd_StdPixFmt_RGB16_LE - FIRST_RGB_STDPIXFMT]
105 [vHidd_StdPixFmt_ARGB32 - FIRST_RGB_STDPIXFMT] = Convert_RGB16LE_To_ARGB32;
107 ReturnInt("GfxHIDD_Init", ULONG, TRUE);
110 ADD2INITLIB(GFX_Init, -1)