[Mesa-dev] [PATCH 04/11] glapi/glx: Thunk non-ABI calls through GetProcAddress
Ian Romanick
idr at freedesktop.org
Mon Mar 28 17:50:42 UTC 2016
This patch is
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
On 03/24/2016 11:09 AM, Adam Jackson wrote:
> Signed-off-by: Adam Jackson <ajax at redhat.com>
> ---
> src/mapi/glapi/gen/glX_proto_recv.py | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/src/mapi/glapi/gen/glX_proto_recv.py b/src/mapi/glapi/gen/glX_proto_recv.py
> index 916da94..1cfa8c5 100644
> --- a/src/mapi/glapi/gen/glX_proto_recv.py
> +++ b/src/mapi/glapi/gen/glX_proto_recv.py
> @@ -117,6 +117,9 @@ class PrintGlxDispatchFunctions(glX_proto_common.glx_print_proto):
>
> return
>
> + def fptrType(self, name):
> + fptr = "pfngl" + name + "proc"
> + return fptr.upper()
>
> def printFunction(self, f, name):
> if (f.glx_sop or f.glx_vendorpriv) and (len(f.get_images()) != 0):
> @@ -134,6 +137,9 @@ class PrintGlxDispatchFunctions(glX_proto_common.glx_print_proto):
>
> print '{'
>
> + if not f.is_abi():
> + print ' %s %s = __glGetProcAddress("gl%s");' % (self.fptrType(name), name, name)
> +
> if f.glx_rop or f.vectorequiv:
> self.printRenderFunction(f)
> elif f.glx_sop or f.glx_vendorpriv:
> @@ -218,6 +224,7 @@ class PrintGlxDispatchFunctions(glX_proto_common.glx_print_proto):
>
> def emit_function_call(self, f, retval_assign, indent):
> list = []
> + prefix = "gl" if f.is_abi() else ""
>
> for param in f.parameterIterator():
> if param.is_padding:
> @@ -230,8 +237,7 @@ class PrintGlxDispatchFunctions(glX_proto_common.glx_print_proto):
>
> list.append( '%s %s' % (indent, location) )
>
> -
> - print '%s %sgl%s(%s);' % (indent, retval_assign, f.name, string.join(list, ',\n'))
> + print '%s %s%s%s(%s);' % (indent, retval_assign, prefix, f.name, string.join(list, ',\n'))
>
>
> def common_func_print_just_start(self, f, indent):
>
More information about the mesa-dev
mailing list