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