1c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul/* 2c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * Mesa 3-D graphics library 3048412473bda3db3e58b9840de5ef82d2ecce3c0Brian * Version: 6.5.3 4c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * 5048412473bda3db3e58b9840de5ef82d2ecce3c0Brian * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. 6c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * 7c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * Permission is hereby granted, free of charge, to any person obtaining a 8c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * copy of this software and associated documentation files (the "Software"), 9c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * to deal in the Software without restriction, including without limitation 10c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * and/or sell copies of the Software, and to permit persons to whom the 12c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * Software is furnished to do so, subject to the following conditions: 13c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * 14c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * The above copyright notice and this permission notice shall be included 15c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * in all copies or substantial portions of the Software. 16c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * 17c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 20c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 21c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul */ 24c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul 25c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul 26c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul#ifndef PROGRAMOPT_H 27c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul#define PROGRAMOPT_H 1 28c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul 29db0c6810f9cd1705fe27231ca7f8dcf0c4d6874dVinson Lee#include "main/mtypes.h" 30c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul 31c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paulextern void 32f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_insert_mvp_code(struct gl_context *ctx, struct gl_vertex_program *vprog); 33c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul 34c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paulextern void 354d203a01e20dedcfaab09c18922e8ed9dcb39729Ian Romanick_mesa_append_fog_code(struct gl_context *ctx, 364d203a01e20dedcfaab09c18922e8ed9dcb39729Ian Romanick struct gl_fragment_program *fprog, GLenum fog_mode, 374d203a01e20dedcfaab09c18922e8ed9dcb39729Ian Romanick GLboolean saturate); 38c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul 39048412473bda3db3e58b9840de5ef82d2ecce3c0Brianextern void 40048412473bda3db3e58b9840de5ef82d2ecce3c0Brian_mesa_count_texture_indirections(struct gl_program *prog); 41048412473bda3db3e58b9840de5ef82d2ecce3c0Brian 42048412473bda3db3e58b9840de5ef82d2ecce3c0Brianextern void 43048412473bda3db3e58b9840de5ef82d2ecce3c0Brian_mesa_count_texture_instructions(struct gl_program *prog); 44048412473bda3db3e58b9840de5ef82d2ecce3c0Brian 456ca948a303e1af7ae66ea7082af741f6880887f2Brian Paulextern void 46b4026d9be828bd0b6f60158456edf24994efb053Brian Paul_mesa_remove_output_reads(struct gl_program *prog, gl_register_file type); 47c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul 48c7aee65bb96df3f8e8421b5125dca84c028e9073Brian Paulextern void 49f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_nop_fragment_program(struct gl_context *ctx, struct gl_fragment_program *prog); 50c7aee65bb96df3f8e8421b5125dca84c028e9073Brian Paul 51c7aee65bb96df3f8e8421b5125dca84c028e9073Brian Paulextern void 52f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_nop_vertex_program(struct gl_context *ctx, struct gl_vertex_program *prog); 53c7aee65bb96df3f8e8421b5125dca84c028e9073Brian Paul 54c7aee65bb96df3f8e8421b5125dca84c028e9073Brian Paul 55c6511ab950e2865e606ff13ce87f0ffc782c57adBrian Paul#endif /* PROGRAMOPT_H */ 56