/* Copyright (c) 2001, Stanford University
* All rights reserved.
*
* See the file LICENSE.txt for information on redistributing this software.
*/
#ifndef CR_LIMITS_H
#define CR_LIMITS_H
#include "chromium.h"
#include "cr_version.h"
#ifdef __cplusplus
extern "C" {
#endif
/* glGetString strings */
#ifdef CR_NV_fragment_program
#endif
#ifdef CR_NV_vertex_program
#endif
#ifdef CR_ARB_fragment_program
#endif
#ifdef CR_ARB_vertex_program
#endif
#if defined(CR_ARB_vertex_program) || defined(CR_ARB_fragment_program)
/* These must be the max of the fragment and vertex program limits */
#define CR_MAX_PROGRAM_LOCAL_PARAMS (CR_MAX_VERTEX_PROGRAM_LOCAL_PARAMS > CR_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMS ? CR_MAX_VERTEX_PROGRAM_LOCAL_PARAMS : CR_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMS)
#define CR_MAX_PROGRAM_ENV_PARAMS (CR_MAX_VERTEX_PROGRAM_ENV_PARAMS > CR_MAX_FRAGMENT_PROGRAM_ENV_PARAMS ? CR_MAX_VERTEX_PROGRAM_ENV_PARAMS : CR_MAX_FRAGMENT_PROGRAM_ENV_PARAMS)
#endif
/* Just need these for autogenerated code in state_get.c, etc */
#if defined(CR_ARB_vertex_program) || defined(CR_NV_vertex_program)
#endif
#if defined(CR_ARB_fragment_program) || defined(CR_NV_fragment_program)
#endif
#if defined(CR_any_vertex_program) || defined(CR_any_fragment_program)
#endif
/*
* OpenGL's implementation-dependent values (not part of any attribute group).
*/
typedef struct {
#ifdef CR_ARB_texture_cube_map
#endif
#ifdef CR_EXT_texture_lod_bias
#endif
#endif
#ifdef CR_ARB_texture_compression
#endif
#ifdef CR_NV_register_combiners
#endif
#ifdef CR_NV_texture_rectangle
#endif
#ifdef CR_NV_fragment_program
/*GLuint maxFragmentProgramLocalParams;*/
#endif
#ifdef CR_NV_vertex_program
#endif
#ifdef CR_ARB_fragment_program
#endif
#ifdef CR_ARB_vertex_program
#endif
/* Framebuffer/visual attributes */
/* Booleans to indicate which OpenGL extensions are supported at runtime.
* XXX might merge this into the above structure someday.
*/
typedef struct {
/* derived from above */
extern DECLEXPORT(void) crStateExtensionsInit( CRLimitsState *limits, CRExtensionState *extensions );
#ifdef __cplusplus
}
#endif
#endif /* CR_STATE_FOG_H */