d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync# Copyright (c) 2001, Stanford University
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync# All rights reserved.
5b281ba489ca18f0380d7efc7a5108b606cce449vboxsync#
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync# See the file LICENSE.txt for information on redistributing this software.
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncimport sys, re, string
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncimport apiutil
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncline_re = re.compile(r'^(\S+)\s+(GL_\S+)\s+(.*)\s*$')
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncextensions_line_re = re.compile(r'^(\S+)\s+(GL_\S+)\s(\S+)\s+(.*)\s*$')
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncparams = {}
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncextended_params = {}
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncinput = open( sys.argv[2]+"/state_isenabled.txt", 'r' )
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncfor line in input.readlines():
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync match = line_re.match( line )
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync if match:
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync type = match.group(1)
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync pname = match.group(2)
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync fields = string.split( match.group(3) )
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync params[pname] = ( type, fields )
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncinput = open( sys.argv[2]+"/state_extensions_isenabled.txt", 'r' )
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncfor line in input.readlines():
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync match = extensions_line_re.match( line )
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync if match:
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync type = match.group(1)
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync pname = match.group(2)
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync ifdef = match.group(3)
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync fields = string.split( match.group(4) )
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync extended_params[pname] = ( type, ifdef, fields )
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
76d5ffd3aac5ac54a361ad10b4369ef87da94fdbvboxsyncapiutil.CopyrightC()
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
76d5ffd3aac5ac54a361ad10b4369ef87da94fdbvboxsyncprint """
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync/* DO NOT EDIT - THIS FILE GENERATED BY THE state_isenabled.py SCRIPT */
f50e25a852a3b432b9fb08e5d8d9772fb4be28e7vboxsync#include <stdio.h>
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync#include <math.h>
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync
76d5ffd3aac5ac54a361ad10b4369ef87da94fdbvboxsync#include "state.h"
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync#include "state/cr_statetypes.h"
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncGLboolean STATE_APIENTRY crStateIsEnabled( GLenum pname )
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync{
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync CRContext *g = GetCurrentContext();
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync if (g->current.inBeginEnd)
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync {
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync crStateError(__LINE__, __FILE__, GL_INVALID_OPERATION, "glGet called in Begin/End");
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync return 0;
670732e50b0d42e68d59a3bab835ba0e91b00c30vboxsync }
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync switch ( pname ) {
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync"""
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsynckeys = params.keys()
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsynckeys.sort();
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncfor pname in keys:
7f9158d55774800c9b8f2d35fde872c7434fd281vboxsync print "\tcase %s:" % pname
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync print "\t\treturn %s;" % params[pname][1][0]
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsynckeys = extended_params.keys();
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsynckeys.sort()
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncfor pname in keys:
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync (srctype,ifdef,fields) = extended_params[pname]
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync ext = ifdef[3:] # the extension name with the "GL_" prefix removed
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync ext = ifdef
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync print '#ifdef CR_%s' % ext
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync print "\tcase %s:" % pname
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync print "\t\treturn %s;" % extended_params[pname][2][0]
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync print '#endif /* CR_%s */' % ext
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncprint "\tdefault:"
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncprint "\t\tcrStateError(__LINE__, __FILE__, GL_INVALID_ENUM, \"glIsEnabled: Unknown enum: %d\", pname);"
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncprint "\t\treturn 0;"
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncprint "\t}"
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsyncprint "}"
d1c5a03c19683c719b94496bb998fde2f2e5e622vboxsync