X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fmapi%2Fglapi%2Fgen%2Fgl_genexec.py;h=0309ae58465b4f000b78a0f30bb6e2d514ceb7f6;hb=e5339fe4a47c242693962c9f90bbab8b74935cba;hp=26d8e7bfb3a881a8475fc2da6a1138c1ad5bb7e2;hpb=f20899b7276b73e1b60c3ed8d8abdf959e787c0c;p=mesa.git diff --git a/src/mapi/glapi/gen/gl_genexec.py b/src/mapi/glapi/gen/gl_genexec.py index 26d8e7bfb3a..0309ae58465 100644 --- a/src/mapi/glapi/gen/gl_genexec.py +++ b/src/mapi/glapi/gen/gl_genexec.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # Copyright (C) 2012 Intel Corporation # @@ -25,6 +24,8 @@ # _mesa_initialize_exec_table(). It is responsible for populating all # entries in the "exec" dispatch table that aren't dynamic. +from __future__ import print_function + import argparse import collections import license @@ -56,17 +57,21 @@ header = """/** #include "main/blit.h" #include "main/bufferobj.h" #include "main/arrayobj.h" +#include "main/bbox.h" #include "main/buffers.h" #include "main/clear.h" #include "main/clip.h" #include "main/colortab.h" #include "main/compute.h" #include "main/condrender.h" +#include "main/conservativeraster.h" #include "main/context.h" #include "main/convolve.h" #include "main/copyimage.h" #include "main/depth.h" +#include "main/debug_output.h" #include "main/dlist.h" +#include "main/draw.h" #include "main/drawpix.h" #include "main/drawtex.h" #include "main/rastpos.h" @@ -74,7 +79,9 @@ header = """/** #include "main/errors.h" #include "main/es1_conversion.h" #include "main/eval.h" +#include "main/externalobjects.h" #include "main/get.h" +#include "main/glspirv.h" #include "main/feedback.h" #include "main/fog.h" #include "main/fbobject.h" @@ -82,13 +89,15 @@ header = """/** #include "main/genmipmap.h" #include "main/hint.h" #include "main/histogram.h" -#include "main/imports.h" +#include "util/imports.h" #include "main/light.h" #include "main/lines.h" #include "main/matrix.h" #include "main/multisample.h" #include "main/objectlabel.h" +#include "main/objectpurge.h" #include "main/performance_monitor.h" +#include "main/performance_query.h" #include "main/pipelineobj.h" #include "main/pixel.h" #include "main/pixelstore.h" @@ -109,7 +118,8 @@ header = """/** #include "main/texparam.h" #include "main/texstate.h" #include "main/texstorage.h" -#include "main/texturebarrier.h" +#include "main/barrier.h" +#include "main/texturebindless.h" #include "main/textureview.h" #include "main/transformfeedback.h" #include "main/mtypes.h" @@ -122,7 +132,6 @@ header = """/** #include "main/formatquery.h" #include "main/dispatch.h" #include "main/vdpau.h" -#include "vbo/vbo.h" /** @@ -143,7 +152,7 @@ _mesa_initialize_exec_table(struct gl_context *ctx) assert(ctx->Version > 0); - vbo_initialize_exec_dispatch(ctx, exec); + _mesa_initialize_exec_dispatch(ctx, exec); """ @@ -163,10 +172,10 @@ class PrintCode(gl_XML.gl_print_base): 'Intel Corporation') def printRealHeader(self): - print header + print(header) def printRealFooter(self): - print footer + print(footer) def printBody(self, api): # Collect SET_* calls by the condition under which they should @@ -229,15 +238,23 @@ class PrintCode(gl_XML.gl_print_base): # This function is not implemented, or is dispatched # dynamically. continue - settings_by_condition[condition].append( - 'SET_{0}(exec, {1}{0});'.format(f.name, prefix, f.name)) + if f.has_no_error_variant: + no_error_condition = '_mesa_is_no_error_enabled(ctx) && ({0})'.format(condition) + error_condition = '!_mesa_is_no_error_enabled(ctx) && ({0})'.format(condition) + settings_by_condition[no_error_condition].append( + 'SET_{0}(exec, {1}{0}_no_error);'.format(f.name, prefix, f.name)) + settings_by_condition[error_condition].append( + 'SET_{0}(exec, {1}{0});'.format(f.name, prefix, f.name)) + else: + settings_by_condition[condition].append( + 'SET_{0}(exec, {1}{0});'.format(f.name, prefix, f.name)) # Print out an if statement for each unique condition, with # the SET_* calls nested inside it. for condition in sorted(settings_by_condition.keys()): - print ' if ({0}) {{'.format(condition) + print(' if ({0}) {{'.format(condition)) for setting in sorted(settings_by_condition[condition]): - print ' {0}'.format(setting) - print ' }' + print(' {0}'.format(setting)) + print(' }') def _parser():