parameters: (funcName)
return_statement: return 1
docstring: Return 1 if the function sets state that is tracked by
  	the state tracker, else 0.
docstring_summary: Return 1 if the function sets state that is tracked by
  	the state tracker, else 0.
docstring_tokens: Return 1 if the function sets state that is tracked by the state tracker else 0 .
function: def SetsTrackedState(funcName):
  	"""Return 1 if the function sets state that is tracked by
  	the state tracker, else 0."""
  	# These functions set state, but aren't tracked by the state
  	# tracker for various reasons: 
  	# - because the state tracker doesn't manage display lists
  	#   (e.g. CallList and CallLists)
  	# - because the client doesn't have information about what
  	#   the server supports, so the function has to go to the
  	#   server (e.g. CompressedTexImage calls)
  	# - because they require a round-trip to the server (e.g.
  	#   the CopyTexImage calls, SetFenceNV, TrackMatrixNV)
  	if funcName in [
  		'CopyTexImage1D', 'CopyTexImage2D',
  		'CopyTexSubImage1D', 'CopyTexSubImage2D', 'CopyTexSubImage3D',
  		'CallList', 'CallLists',
  		'CompressedTexImage1DARB', 'CompressedTexSubImage1DARB',
  		'CompressedTexImage2DARB', 'CompressedTexSubImage2DARB',
  		'CompressedTexImage3DARB', 'CompressedTexSubImage3DARB',
  		'SetFenceNV'
  		]:
  		return 0
  
  	# Anything else that affects client-side state is trackable.
  	if SetsClientState(funcName):
  		return 1
  
  	# Anything else that doesn't set state at all is certainly
  	# not trackable.
  	if not SetsState(funcName):
  		return 0
  
  	# Per-vertex state isn't tracked the way other state is
  	# tracked, so it is specifically excluded.
  	if "pervertex" in Properties(funcName):
  		return 0
  
  	# Everything else is fine
  	return 1
function_tokens: def SetsTrackedState ( funcName ) : # These functions set state, but aren't tracked by the state # tracker for various reasons:  # - because the state tracker doesn't manage display lists #   (e.g. CallList and CallLists) # - because the client doesn't have information about what #   the server supports, so the function has to go to the #   server (e.g. CompressedTexImage calls) # - because they require a round-trip to the server (e.g. #   the CopyTexImage calls, SetFenceNV, TrackMatrixNV) if funcName in [ 'CopyTexImage1D' , 'CopyTexImage2D' , 'CopyTexSubImage1D' , 'CopyTexSubImage2D' , 'CopyTexSubImage3D' , 'CallList' , 'CallLists' , 'CompressedTexImage1DARB' , 'CompressedTexSubImage1DARB' , 'CompressedTexImage2DARB' , 'CompressedTexSubImage2DARB' , 'CompressedTexImage3DARB' , 'CompressedTexSubImage3DARB' , 'SetFenceNV' ] : return 0 # Anything else that affects client-side state is trackable. if SetsClientState ( funcName ) : return 1 # Anything else that doesn't set state at all is certainly # not trackable. if not SetsState ( funcName ) : return 0 # Per-vertex state isn't tracked the way other state is # tracked, so it is specifically excluded. if "pervertex" in Properties ( funcName ) : return 0 # Everything else is fine return 1