[Mesa-dev] [PATCH 37/41] glapi: glX_proto_send.py: simplify XCB string conversion
Ian Romanick
idr at freedesktop.org
Tue Apr 19 23:37:59 UTC 2016
This patch is
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
On 03/31/2016 05:04 PM, Dylan Baker wrote:
> This makes the function a little simpler by using a special case for the
> initial "ARB", and just walking the str as a sequence rather than
> indexing into it.
>
> It also uses a list to join rather than overwritting a str over and over
> again.
>
> Signed-off-by: Dylan Baker <dylanx.c.baker at intel.com>
> ---
> src/mapi/glapi/gen/glX_proto_send.py | 33 +++++++++++++++++++--------------
> 1 file changed, 19 insertions(+), 14 deletions(-)
>
> diff --git a/src/mapi/glapi/gen/glX_proto_send.py b/src/mapi/glapi/gen/glX_proto_send.py
> index 5388163..800f7a3 100644
> --- a/src/mapi/glapi/gen/glX_proto_send.py
> +++ b/src/mapi/glapi/gen/glX_proto_send.py
> @@ -38,20 +38,25 @@ import glX_proto_common
> import license
>
>
> -def convertStringForXCB(string_):
> - tmp = ""
> - special = ["ARB"]
> - i = 0
> - while i < len(string_):
> - if string_[i:i+3] in special:
> - tmp = '%s_%s' % (tmp, string_[i:i+3].lower())
> - i = i + 2
> - elif string_[i].isupper():
> - tmp = '%s_%s' % (tmp, string_[i].lower())
> +def convert_string_for_xcb(string_):
> + """Convert an OpenGL name into the form XCB wants.
> +
> + This means all lower, with more underscores.
> +
> + """
> + new = []
> + slice_ = 0
> +
> + if string_.startswith('ARB'):
> + new.append('arb_')
> + slice_ = 4
> +
> + for c in string_[slice_:]:
> + if c.isupper():
> + new.extend(['_', c.lower()])
> else:
> - tmp = '%s%s' % (tmp, string_[i])
> - i += 1
> - return tmp
> + new.append(c)
> + return ''.join(new)
>
>
> def hash_pixel_function(func):
> @@ -633,7 +638,7 @@ class PrintGlxProtoStubs(glX_proto_common.glx_print_proto):
> print ' printf("\\tUsing XCB.\\n");'
> print ' xcb_connection_t *c = XGetXCBConnection(dpy);'
> print ' (void) __glXFlushRenderBuffer(gc, gc->pc);'
> - xcb_name = 'xcb_glx%s' % convertStringForXCB(name)
> + xcb_name = 'xcb_glx%s' % convert_string_for_xcb(name)
>
> iparams = []
> extra_iparams = []
>
More information about the mesa-dev
mailing list