Emit colour buffer address, raster op, colour format etc
[mesa.git] / src / mesa / drivers / dri / glamo / glamo_dri.c
1 /*
2  * Direct Rendering Support for SMedia Glamo 336x/337x
3  *
4  * (c) 2009 Thomas White <taw@bitwiz.org.uk>
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a
7  * copy of this software and associated documentation files (the "Software"),
8  * to deal in the Software without restriction, including without limitation
9  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10  * and/or sell copies of the Software, and to permit persons to whom the
11  * Software is furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included
14  * in all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
19  * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
20  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22  */
23
24
25 static int glamoInitDriver(__DRIscreenPrivate *psp)
26 {
27    return 0;
28 }
29
30
31 static const __DRIconfig **glamoInitScreen(__DRIscreenPrivate *psp)
32 {
33    uint8_t depth_bits_array[1];
34    uint8_t stencil_bits_array[1];
35    static const GLenum db_modes[1] = { GLX_NONE };
36    
37    /* Our basic initialisation */
38    if ( glamoInitDriver(psp) ) {
39       return NULL;
40    }
41
42    depth_bits_array[0] = 24;
43    stencil_bits_array[0] = 8;
44
45    /* Report what modes we can handle */
46    return driCreateConfigs(GL_RGBA, GL_UNSIGNED_INT_8_8_8_8,
47                            depth_bits_array, stencil_bits_array, 1,
48                            db_modes, 1);
49 }
50
51
52 static void glamoDestroyScreen(__DRIscreenPrivate *psp)
53 {
54 }
55
56
57 static GLboolean glamoCreateContext(const __GLcontextModes *glVis,
58                                __DRIcontext *driContextPriv,
59                                void *sharedContextPrivate)
60 {
61 }
62
63
64 static void glamoDestroyContext(__DRIcontext *dcp)
65 {
66 }
67
68
69 static GLboolean glamoCreateBuffer(__DRIscreen *driScrnPriv,
70                                    __DRIdrawable *driDrawPriv,
71                                    const __GLcontextModes *glVis,
72                                    GLboolean pixmapBuffer)
73 {
74 }
75
76
77 static void glamoDestroyBuffer(__DRIdrawable *driDrawPriv)
78 {
79 }
80
81
82 static void glamoSwapBuffers(__DRIdrawable *driDrawPriv)
83 {
84 }
85
86
87 static GLboolean glamoMakeCurrent(__DRIcontext *driContextPriv,
88                                   __DRIdrawable *driDrawPriv,
89                                   __DRIdrawable *driReadPriv)
90 {
91 }
92
93
94 static GLboolean glamoUnbindContext(__DRIcontext *driContextPriv)
95 {
96 }
97
98
99 /*
100  *  Mesa entry points
101  *
102  *  See src/mesa/drivers/dri/common/dri_util.h for information about these
103  */
104 const struct __DriverAPIRec driDriverAPI = {
105    .InitScreen      = glamoInitScreen,
106    .DestroyScreen   = glamoDestroyScreen,
107    .CreateContext   = glamoCreateContext,
108    .DestroyContext  = glamoDestroyContext,
109    .CreateBuffer    = glamoCreateBuffer,
110    .DestroyBuffer   = glamoDestroyBuffer,
111    .SwapBuffers     = glamoSwapBuffers,
112    .MakeCurrent     = glamoMakeCurrent,
113    .UnbindContext   = glamoUnbindContext,
114    .GetSwapInfo     = NULL,     /* Not used */
115    .WaitForMSC      = NULL,
116    .WaitForSBC      = NULL,
117    .SwapBuffersMSC  = NULL,
118    .CopySubBuffer   = NULL,
119    .GetDrawableMSC  = NULL,     /* Not used */
120    .InitScreen2     = NULL      /* For DRI2 */
121 };
122