13464ebd5Sriastradh/* 23464ebd5Sriastradh * Mesa 3-D graphics library 33464ebd5Sriastradh * 43464ebd5Sriastradh * Copyright (C) 2009 VMware, Inc. All Rights Reserved. 53464ebd5Sriastradh * 63464ebd5Sriastradh * Permission is hereby granted, free of charge, to any person obtaining a 73464ebd5Sriastradh * copy of this software and associated documentation files (the "Software"), 83464ebd5Sriastradh * to deal in the Software without restriction, including without limitation 93464ebd5Sriastradh * the rights to use, copy, modify, merge, publish, distribute, sublicense, 103464ebd5Sriastradh * and/or sell copies of the Software, and to permit persons to whom the 113464ebd5Sriastradh * Software is furnished to do so, subject to the following conditions: 123464ebd5Sriastradh * 133464ebd5Sriastradh * The above copyright notice and this permission notice shall be included 143464ebd5Sriastradh * in all copies or substantial portions of the Software. 153464ebd5Sriastradh * 163464ebd5Sriastradh * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 173464ebd5Sriastradh * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 183464ebd5Sriastradh * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 193464ebd5Sriastradh * VMWARE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 203464ebd5Sriastradh * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 213464ebd5Sriastradh * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 223464ebd5Sriastradh */ 233464ebd5Sriastradh 243464ebd5Sriastradh#ifndef PROG_OPT_H 253464ebd5Sriastradh#define PROG_OPT_H 263464ebd5Sriastradh 273464ebd5Sriastradh 283464ebd5Sriastradh#include "main/config.h" 293464ebd5Sriastradh#include "main/glheader.h" 303464ebd5Sriastradh 313464ebd5Sriastradh 3201e04c3fSmrg#ifdef __cplusplus 3301e04c3fSmrgextern "C" { 3401e04c3fSmrg#endif 3501e04c3fSmrg 3601e04c3fSmrg 373464ebd5Sriastradhstruct gl_context; 383464ebd5Sriastradhstruct gl_program; 393464ebd5Sriastradhstruct prog_instruction; 403464ebd5Sriastradh 413464ebd5Sriastradh 423464ebd5Sriastradhextern void 4301e04c3fSmrg_mesa_optimize_program(struct gl_program *program, void *mem_ctx); 443464ebd5Sriastradh 45af69d88dSmrgextern GLboolean 46af69d88dSmrg_mesa_constant_fold(struct gl_program *prog); 47af69d88dSmrg 4801e04c3fSmrg 4901e04c3fSmrg#ifdef __cplusplus 5001e04c3fSmrg} 5101e04c3fSmrg#endif 5201e04c3fSmrg 5301e04c3fSmrg 543464ebd5Sriastradh#endif 55