1d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian/************************************************************************** 2d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * 3d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * Copyright 2007 Tungsten Graphics, Inc., Cedar Park, Texas. 4d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * All Rights Reserved. 5d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * 6d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * Permission is hereby granted, free of charge, to any person obtaining a 7d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * copy of this software and associated documentation files (the 8d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * "Software"), to deal in the Software without restriction, including 9d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * without limitation the rights to use, copy, modify, merge, publish, 10d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * distribute, sub license, and/or sell copies of the Software, and to 11d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * permit persons to whom the Software is furnished to do so, subject to 12d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * the following conditions: 13d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * 14d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * The above copyright notice and this permission notice (including the 15d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * next paragraph) shall be included in all copies or substantial portions 16d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * of the Software. 17d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * 18d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. 21d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR 22d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 23d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 25d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian * 26d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian **************************************************************************/ 27d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian 28d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian 29d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian#ifndef ST_CB_DRAWPIXELS_H 30d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian#define ST_CB_DRAWPIXELS_H 31d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian 32d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian 33dce63cf431177594f1267406276f441391701f70Vinson Lee#include "main/compiler.h" 34edc09358f72cd48cb2315daf23c82e7646aeaea3Vinson Lee#include "main/mfeatures.h" 35dce63cf431177594f1267406276f441391701f70Vinson Lee 36dce63cf431177594f1267406276f441391701f70Vinson Leestruct dd_function_table; 37dce63cf431177594f1267406276f441391701f70Vinson Leestruct st_context; 3814a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu 3914a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu#if FEATURE_drawpix 4014a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu 416da9234fd437f97267e7831f034c78b31156d939Brianextern void st_init_drawpixels_functions(struct dd_function_table *functions); 42d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian 435c431c22227fdc552b34a5feabf1d339dcfe9848Brian Paulextern void 445c431c22227fdc552b34a5feabf1d339dcfe9848Brian Paulst_destroy_drawpix(struct st_context *st); 455c431c22227fdc552b34a5feabf1d339dcfe9848Brian Paul 463d203b610045980853d26370ee21fb2ef4aed17eBrian Paulextern void 473d203b610045980853d26370ee21fb2ef4aed17eBrian Paulst_make_drawpix_fragment_program(struct st_context *st, 483d203b610045980853d26370ee21fb2ef4aed17eBrian Paul struct gl_fragment_program *fpIn, 493d203b610045980853d26370ee21fb2ef4aed17eBrian Paul struct gl_fragment_program **fpOut); 503d203b610045980853d26370ee21fb2ef4aed17eBrian Paul 513d203b610045980853d26370ee21fb2ef4aed17eBrian Paulextern struct gl_fragment_program * 523d203b610045980853d26370ee21fb2ef4aed17eBrian Paulst_make_drawpix_z_stencil_program(struct st_context *st, 533d203b610045980853d26370ee21fb2ef4aed17eBrian Paul GLboolean write_depth, 543d203b610045980853d26370ee21fb2ef4aed17eBrian Paul GLboolean write_stencil); 553d203b610045980853d26370ee21fb2ef4aed17eBrian Paul 5614a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu#else 5714a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu 5814a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wustatic INLINE void 5914a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wust_init_drawpixels_functions(struct dd_function_table *functions) 6014a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu{ 6114a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu} 6214a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu 6314a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wustatic INLINE void 6414a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wust_destroy_drawpix(struct st_context *st) 6514a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu{ 6614a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu} 6714a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu 6814a92b26ff76550c5010ddf8bcbf5226dae5183fChia-I Wu#endif /* FEATURE_drawpix */ 69d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian 70d09f4e2007b3043ceb9dd3cb9cfab0dcd0226ba6Brian#endif /* ST_CB_DRAWPIXELS_H */ 71