summaryrefslogtreecommitdiff
path: root/src/mapi/glapi/gen/api_exec_init.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/mapi/glapi/gen/api_exec_init.py')
-rw-r--r--src/mapi/glapi/gen/api_exec_init.py49
1 files changed, 2 insertions, 47 deletions
diff --git a/src/mapi/glapi/gen/api_exec_init.py b/src/mapi/glapi/gen/api_exec_init.py
index 3166c0fae8f..7c729a2a2f8 100644
--- a/src/mapi/glapi/gen/api_exec_init.py
+++ b/src/mapi/glapi/gen/api_exec_init.py
@@ -179,54 +179,9 @@ class PrintCode(gl_XML.gl_print_base):
if f.exec_flavor not in exec_flavor_map:
raise Exception(
'Unrecognized exec flavor {0!r}'.format(f.exec_flavor))
- condition_parts = []
- if f.name in apiexec.functions:
- ex = apiexec.functions[f.name]
- unconditional_count = 0
-
- if ex.compatibility is not None:
- condition_parts.append('ctx->API == API_OPENGL_COMPAT')
- unconditional_count += 1
-
- if ex.core is not None:
- condition_parts.append('ctx->API == API_OPENGL_CORE')
- unconditional_count += 1
-
- if ex.es1 is not None:
- condition_parts.append('ctx->API == API_OPENGLES')
- unconditional_count += 1
-
- if ex.es2 is not None:
- if ex.es2 > 20:
- condition_parts.append('(ctx->API == API_OPENGLES2 && ctx->Version >= {0})'.format(ex.es2))
- else:
- condition_parts.append('ctx->API == API_OPENGLES2')
- unconditional_count += 1
-
- # If the function is unconditionally available in all four
- # APIs, then it is always available. Replace the complex
- # tautology condition with "true" and let GCC do the right
- # thing.
- if unconditional_count == 4:
- condition_parts = ['true']
- else:
- if f.desktop:
- if f.deprecated:
- condition_parts.append('ctx->API == API_OPENGL_COMPAT')
- else:
- condition_parts.append('_mesa_is_desktop_gl(ctx)')
- if 'es1' in f.api_map:
- condition_parts.append('ctx->API == API_OPENGLES')
- if 'es2' in f.api_map:
- if f.api_map['es2'] > 2.0:
- condition_parts.append('(ctx->API == API_OPENGLES2 && ctx->Version >= {0})'.format(int(f.api_map['es2'] * 10)))
- else:
- condition_parts.append('ctx->API == API_OPENGLES2')
-
- if not condition_parts:
- # This function does not exist in any API.
+ condition = apiexec.get_api_condition(f)
+ if not condition:
continue
- condition = ' || '.join(condition_parts)
prefix = exec_flavor_map[f.exec_flavor]
if prefix is None:
# This function is not implemented, or is dispatched