[PATCH 09/11] glx: Use one function to add a context to all global tables
Jesse Barnes
jbarnes at virtuousgeek.org
Tue Jan 3 16:28:07 PST 2012
On Fri, 23 Dec 2011 15:18:27 -0800
"Ian Romanick" <idr at freedesktop.org> wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> Instead of having separate __glXAddContextToList and AddResource
> functions, just have one function that does both steps.
>
> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> ---
> glx/glxcmds.c | 9 +++------
> glx/glxext.c | 10 +++++++++-
> glx/glxext.h | 2 +-
> 3 files changed, 13 insertions(+), 8 deletions(-)
>
> diff --git a/glx/glxcmds.c b/glx/glxcmds.c
> index 983f21a..0dce420 100644
> --- a/glx/glxcmds.c
> +++ b/glx/glxcmds.c
> @@ -305,16 +305,13 @@ DoCreateContext(__GLXclientState *cl, GLXContextID gcId,
> glxc->drawPriv = NULL;
> glxc->readPriv = NULL;
>
> - /*
> - ** Register this context as a resource.
> - */
> - if (!AddResource(gcId, __glXContextRes, (pointer)glxc)) {
> + /* Add the new context to the various global tables of GLX contexts.
> + */
> + if (!__glXAddContext(glxc)) {
> (*glxc->destroy)(glxc);
> client->errorValue = gcId;
> return BadAlloc;
> }
> -
> - __glXAddToContextList(glxc);
>
> return Success;
> }
> diff --git a/glx/glxext.c b/glx/glxext.c
> index f8fe43b..61eb35b 100644
> --- a/glx/glxext.c
> +++ b/glx/glxext.c
> @@ -152,10 +152,18 @@ static Bool DrawableGone(__GLXdrawable *glxPriv, XID xid)
> return True;
> }
>
> -void __glXAddToContextList(__GLXcontext *cx)
> +Bool __glXAddContext(__GLXcontext *cx)
> {
> + /*
> + ** Register this context as a resource.
> + */
> + if (!AddResource(cx->id, __glXContextRes, (pointer)cx)) {
> + return False;
> + }
> +
> cx->next = glxAllContexts;
> glxAllContexts = cx;
> + return True;
> }
>
> static void __glXRemoveFromContextList(__GLXcontext *cx)
> diff --git a/glx/glxext.h b/glx/glxext.h
> index 58cf054..cb1707d 100644
> --- a/glx/glxext.h
> +++ b/glx/glxext.h
> @@ -38,7 +38,7 @@
> extern GLboolean __glXFreeContext(__GLXcontext *glxc);
> extern void __glXFlushContextCache(void);
>
> -extern void __glXAddToContextList(__GLXcontext *cx);
> +extern Bool __glXAddContext(__GLXcontext *cx);
> extern void __glXErrorCallBack(GLenum code);
> extern void __glXClearErrorOccured(void);
> extern GLboolean __glXErrorOccured(void);
Seems ok, but should you update the corresponding DMX code too?
--
Jesse Barnes, Intel Open Source Technology Center
More information about the xorg-devel
mailing list