xserver: Branch 'glucose-2'
Alan Hourihane
alanh at kemper.freedesktop.org
Mon Sep 10 14:59:38 PDT 2007
glucose/glucose.c | 15 +++++++++++++--
glucose/glucose_info.c | 22 ++++++++++++++++++++++
2 files changed, 35 insertions(+), 2 deletions(-)
New commits:
diff-tree 6728f372d6ef9d3867da1d417723de91f22ef901 (from da2c4faa9f09e2aba358f803070f687bed76da43)
Author: Alan Hourihane <alanh at localhost.(none)>
Date: Mon Sep 10 23:59:02 2007 +0100
Fix some error paths
diff --git a/glucose/glucose.c b/glucose/glucose.c
index b21ef59..9a3ea89 100644
--- a/glucose/glucose.c
+++ b/glucose/glucose.c
@@ -154,6 +154,7 @@ glucoseCreateScreenResources(ScreenPtr p
__glXleaveServer();
err = pScreenPriv->rootContext->makeCurrent(pScreenPriv->rootContext);
if (!err) {
+ __glXenterServer();
xf86DrvMsg(pScreen->myNum, X_WARNING,
"Glucose makeCurrent failed, err is %d\n",err);
pScreenPriv->rootContext->destroy(pScreenPriv->rootContext);
@@ -171,6 +172,7 @@ glucoseCreateScreenResources(ScreenPtr p
pPixmap->drawable.height);
if (!drawable) {
+ __glXenterServer();
xf86DrvMsg(pScreen->myNum, X_ERROR,
"Glucose could not create glitz drawable, not initializing.\n");
@@ -178,7 +180,6 @@ glucoseCreateScreenResources(ScreenPtr p
pScreenPriv->rootContext = NULL;
pScreenPriv->rootDrawable->destroy(pScreenPriv->rootDrawable);
pScreenPriv->rootDrawable = NULL;
- __glXenterServer();
return FALSE;
}
@@ -189,7 +190,17 @@ glucoseCreateScreenResources(ScreenPtr p
xf86DrvMsg(pScreen->myNum, X_INFO,
"Glucose reports GLitz features as 0x%lx\n",xglScreenPriv->features);
- glucoseFinishScreenInit(pScreen);
+ if (!glucoseFinishScreenInit(pScreen)) {
+ __glXenterServer();
+ xf86DrvMsg(pScreen->myNum, X_ERROR,
+ "Glucose could not initialize.\n");
+ pScreenPriv->rootContext->destroy(pScreenPriv->rootContext);
+ pScreenPriv->rootContext = NULL;
+ pScreenPriv->rootDrawable->destroy(pScreenPriv->rootDrawable);
+ pScreenPriv->rootDrawable = NULL;
+ return FALSE;
+ }
+
__glXenterServer();
/* now fixup root pixmap */
diff --git a/glucose/glucose_info.c b/glucose/glucose_info.c
index 5acbf4e..096dfda 100644
--- a/glucose/glucose_info.c
+++ b/glucose/glucose_info.c
@@ -489,48 +489,56 @@ static void
glucoseGenPrograms( GLsizei n, GLuint *ids )
{
CALL_GenProgramsNV( GET_DISPATCH(), (n, ids) );
+ glucoseFailure("GenProgramsNV");
}
static void
glucoseDeletePrograms( GLsizei n, const GLuint *ids )
{
CALL_DeleteProgramsNV( GET_DISPATCH(), (n, ids) );
+ glucoseFailure("DeleteProgramsNV");
}
static void
glucoseProgramString( GLenum target, GLenum format, GLsizei len, const GLubyte *program )
{
CALL_ProgramStringARB( GET_DISPATCH(), (target, format, len, program) );
+ glucoseFailure("ProgramStringARB");
}
static void
glucoseBindProgram( GLenum target, GLuint id )
{
CALL_BindProgramNV( GET_DISPATCH(), (target, id) );
+ glucoseFailure("BindProgramNV");
}
static void
glucoseProgramLocalParameter4fv( GLenum target, GLuint id, const GLfloat *params )
{
CALL_ProgramLocalParameter4fvARB( GET_DISPATCH(), (target, id, params) );
+ glucoseFailure("BindProgramNV");
}
static void
glucoseGetProgramiv( GLuint program, GLenum pname, GLint *params )
{
CALL_GetProgramiv( GET_DISPATCH(), (program, pname, params) );
+ glucoseFailure("GetProgramiv");
}
static void
glucoseGenBuffers( GLsizei n, GLuint *buffers )
{
CALL_GenBuffersARB( GET_DISPATCH(), (n, buffers) );
+ glucoseFailure("GenBuffersARB");
}
static void
glucoseDeleteBuffers( GLsizei n, const GLuint *buffers )
{
CALL_DeleteBuffersARB( GET_DISPATCH(), (n, buffers) );
+ glucoseFailure("DeleteBuffersARB");
}
static void
@@ -544,18 +552,21 @@ static void
glucoseBufferData( GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage)
{
CALL_BufferDataARB( GET_DISPATCH(), (target, size, data, usage) );
+ glucoseFailure("BufferDataARB");
}
static void
glucoseBufferSubData( GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data )
{
CALL_BufferSubDataARB( GET_DISPATCH(), (target, offset, size, data) );
+ glucoseFailure("BufferSubDataARB");
}
static void
glucoseGetBufferSubData( GLenum target, GLintptr offset, GLsizeiptr size, GLvoid *data)
{
CALL_GetBufferSubDataARB( GET_DISPATCH(), (target, offset, size, data) );
+ glucoseFailure("GetBufferSubDataARB");
}
static void
@@ -576,66 +587,77 @@ static void
glucoseGenFramebuffers(GLsizei n, GLuint *framebuffers)
{
CALL_GenFramebuffersEXT( GET_DISPATCH(), (n, framebuffers) );
+ glucoseFailure("GenFramebuffersEXT");
}
static void
glucoseDeleteFramebuffers(GLsizei n, const GLuint *framebuffers)
{
CALL_DeleteFramebuffersEXT( GET_DISPATCH(), (n, framebuffers) );
+ glucoseFailure("DeleteFramebuffersEXT");
}
static void
glucoseBindFramebuffer(GLenum target, GLuint framebuffer)
{
CALL_BindFramebufferEXT( GET_DISPATCH(), (target, framebuffer) );
+ glucoseFailure("BindFramebufferEXT");
}
static void
glucoseFramebufferRenderbuffer(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
{
CALL_FramebufferRenderbufferEXT( GET_DISPATCH(), (target, attachment, renderbuffertarget, renderbuffer) );
+ glucoseFailure("FramebufferRenderbufferEXT");
}
static void
glucoseFramebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
{
CALL_FramebufferTexture2DEXT( GET_DISPATCH(), (target, attachment, textarget, texture, level) );
+ glucoseFailure("FramebufferTexture2DEXT");
}
static void
glucoseCheckFramebufferStatus(GLenum target)
{
CALL_CheckFramebufferStatusEXT( GET_DISPATCH(), (target) );
+ glucoseFailure("CheckFramebufferStatusEXT");
}
static void
glucoseGenRenderbuffers(GLsizei n, GLuint *renderbuffers)
{
CALL_GenRenderbuffersEXT( GET_DISPATCH(), (n, renderbuffers) );
+ glucoseFailure("GenRenderbuffersEXT");
}
static void
glucoseDeleteRenderbuffers(GLsizei n, const GLuint *renderbuffers)
{
CALL_DeleteRenderbuffersEXT( GET_DISPATCH(), (n, renderbuffers) );
+ glucoseFailure("DeleteRenderbuffersEXT");
}
static void
glucoseBindRenderbuffer(GLenum target, GLuint renderbuffer)
{
CALL_BindRenderbufferEXT( GET_DISPATCH(), (target, renderbuffer) );
+ glucoseFailure("BindRenderbufferEXT");
}
static void
glucoseRenderbufferStorage(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
{
CALL_RenderbufferStorageEXT( GET_DISPATCH(), (target, internalformat, width, height) );
+ glucoseFailure("RenderbufferStorageEXT");
}
static void
glucoseGetRenderbufferParameteriv(GLenum target, GLenum pname, GLint *params)
{
CALL_GetRenderbufferParameterivEXT( GET_DISPATCH(), (target, pname, params) );
+ glucoseFailure("GetRenderbufferParameterivEXT");
}
glitz_gl_proc_address_list_t _glitz_glucose_gl_proc_address = {
More information about the xorg-commit
mailing list