summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/glamo/glamo_screen.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/glamo/glamo_screen.c')
-rw-r--r--src/mesa/drivers/dri/glamo/glamo_screen.c42
1 files changed, 39 insertions, 3 deletions
diff --git a/src/mesa/drivers/dri/glamo/glamo_screen.c b/src/mesa/drivers/dri/glamo/glamo_screen.c
index 7ec44ac161..1701eac2c0 100644
--- a/src/mesa/drivers/dri/glamo/glamo_screen.c
+++ b/src/mesa/drivers/dri/glamo/glamo_screen.c
@@ -27,8 +27,8 @@
#include "utils.h"
#include "xmlconfig.h"
#include "GL/internal/dri_interface.h"
-#include "framebuffer.h"
-#include "renderbuffer.h"
+#include "main/framebuffer.h"
+#include "main/renderbuffer.h"
#include "glamo_screen.h"
#include "glamo_context.h"
@@ -108,6 +108,42 @@ static const __DRIconfig **glamoInitScreen(__DRIscreenPrivate *sPriv)
}
+static const __DRIconfig **glamoInitScreen2(__DRIscreenPrivate *sPriv)
+{
+ __DRIconfig **configs;
+ uint8_t depth_bits_array[2];
+ uint8_t stencil_bits_array[2];
+ static const GLenum db_modes[] = { GLX_SWAP_COPY_OML, GLX_NONE };
+
+ /* Driver initialisation */
+ if ( glamoInitDriver(sPriv) ) {
+ return NULL;
+ }
+
+ /* Screen-specific initialisation */
+ sPriv->private = glamoCreateScreen(sPriv);
+ if ( !sPriv->private ) {
+ glamoDestroyScreen(sPriv);
+ return NULL;
+ }
+
+ depth_bits_array[0] = 0;
+ stencil_bits_array[0] = 0;
+ depth_bits_array[1] = 16;
+ stencil_bits_array[1] = 0;
+
+ configs = driCreateConfigs(GL_RGB, GL_UNSIGNED_SHORT_5_6_5,
+ depth_bits_array, stencil_bits_array, 2,
+ db_modes, 2);
+
+ if ( configs == NULL ) {
+ fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__, __LINE__);
+ return NULL;
+ }
+
+ return (const __DRIconfig **)configs;
+}
+
static GLboolean glamoCreateBuffer(__DRIscreen *driScrnPriv,
__DRIdrawable *driDrawPriv,
const __GLcontextModes *glVis,
@@ -164,7 +200,7 @@ const struct __DriverAPIRec driDriverAPI = {
.SwapBuffersMSC = NULL,
.CopySubBuffer = NULL,
.GetDrawableMSC = NULL, /* Not used */
- .InitScreen2 = NULL /* For DRI2 */
+ .InitScreen2 = glamoInitScreen2, /* For DRI2 */
};
/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */