1e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell/*
2e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * Mesa 3-D graphics library
3e4b2356c07d31fbeeabb13b2fb47db703b473080Brian Paul * Version:  6.3
45e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen *
5e4b2356c07d31fbeeabb13b2fb47db703b473080Brian Paul * Copyright (C) 1999-2005  Brian Paul   All Rights Reserved.
65e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen *
7e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * Permission is hereby granted, free of charge, to any person obtaining a
8e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * copy of this software and associated documentation files (the "Software"),
9e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * to deal in the Software without restriction, including without limitation
10e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * and/or sell copies of the Software, and to permit persons to whom the
12e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * Software is furnished to do so, subject to the following conditions:
135e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen *
14e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * The above copyright notice and this permission notice shall be included
15e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * in all copies or substantial portions of the Software.
165e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen *
17e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
21e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell */
24e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
25e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
26e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell#ifndef S_STENCIL_H
27e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell#define S_STENCIL_H
28e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
29e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
30e616d05b221889b62f7136e6e26a646c885f6ff8Vinson Lee#include "main/mtypes.h"
31e616d05b221889b62f7136e6e26a646c885f6ff8Vinson Lee#include "s_span.h"
32e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
33e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
34733a4b602bbbfda83ee03b7ae4f3737bbe659034Brian Paul
3510f30eb43835c57c00783390a02d72daf4f78e26Brian Paulextern GLboolean
36f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_swrast_stencil_and_ztest_span(struct gl_context *ctx, SWspan *span);
3710f30eb43835c57c00783390a02d72daf4f78e26Brian Paul
38e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
39e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwellextern void
40f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_swrast_read_stencil_span(struct gl_context *ctx, struct gl_renderbuffer *rb,
416d68855df133bdd4891e8aa428787b520739e0feBrian Paul                          GLint n, GLint x, GLint y, GLubyte stencil[]);
42e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
43e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
44e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwellextern void
45f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_swrast_write_stencil_span( struct gl_context *ctx, GLint n, GLint x, GLint y,
466d68855df133bdd4891e8aa428787b520739e0feBrian Paul                          const GLubyte stencil[] );
47e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
48e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
49e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwellextern void
50fd104a84591ae854c5d6adc81e2dc31ef6ab9e8aBrian Paul_swrast_clear_stencil_buffer(struct gl_context *ctx);
51e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
52e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell
53e3a051e0538a605551f4d58294c94f5eb00ed07fKeith Whitwell#endif
54