OSDN Git Service

7b7b76460ba9669a829e9aa95046f61b242d101b
[android-x86/external-mesa.git] / src / mesa / swrast / swrast_features.h
1 /*
2  * Mesa 3-D graphics library
3  * Version:  6.5
4  *
5  * Copyright (C) 1999-2006  Brian Paul   All Rights Reserved.
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a
8  * copy of this software and associated documentation files (the "Software"),
9  * to deal in the Software without restriction, including without limitation
10  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11  * and/or sell copies of the Software, and to permit persons to whom the
12  * Software is furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be included
15  * in all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
18  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
20  * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
21  * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23  *
24  */
25
26 /**
27  * \file swrast/swrast_features.h
28  * \brief Public interface to the software rasterization functions.
29  * \author Keith Whitwell <keith@tungstengraphics.com>
30  */
31
32 #ifndef SWRAST_FEATURES_H
33 #define SWRAST_FEATURES_H
34
35 #include "main/mtypes.h"
36
37
38 #if FEATURE_accum
39
40 extern void
41 _swrast_Accum(GLcontext *ctx, GLenum op, GLfloat value);
42
43 #endif
44
45
46 /*
47  * Imaging fallbacks (a better solution should be found, perhaps
48  * moving all the imaging fallback code to a new module)
49  */
50 #if FEATURE_convolve
51
52 extern void
53 _swrast_CopyConvolutionFilter2D(GLcontext *ctx, GLenum target,
54                                 GLenum internalFormat,
55                                 GLint x, GLint y, GLsizei width,
56                                 GLsizei height);
57
58 extern void
59 _swrast_CopyConvolutionFilter1D(GLcontext *ctx, GLenum target,
60                                 GLenum internalFormat,
61                                 GLint x, GLint y, GLsizei width);
62
63 #endif
64
65
66 #if FEATURE_colortable
67
68 extern void
69 _swrast_CopyColorSubTable( GLcontext *ctx,GLenum target, GLsizei start,
70                            GLint x, GLint y, GLsizei width);
71
72 extern void
73 _swrast_CopyColorTable( GLcontext *ctx,
74                         GLenum target, GLenum internalformat,
75                         GLint x, GLint y, GLsizei width);
76
77 #endif
78
79
80 #if FEATURE_drawpix
81
82 extern void
83 _swrast_Bitmap( GLcontext *ctx,
84                 GLint px, GLint py,
85                 GLsizei width, GLsizei height,
86                 const struct gl_pixelstore_attrib *unpack,
87                 const GLubyte *bitmap );
88
89 extern void
90 _swrast_CopyPixels( GLcontext *ctx,
91                     GLint srcx, GLint srcy,
92                     GLint destx, GLint desty,
93                     GLsizei width, GLsizei height,
94                     GLenum type );
95
96 extern void
97 _swrast_DrawPixels( GLcontext *ctx,
98                     GLint x, GLint y,
99                     GLsizei width, GLsizei height,
100                     GLenum format, GLenum type,
101                     const struct gl_pixelstore_attrib *unpack,
102                     const GLvoid *pixels );
103
104 #else /* FEATURE_drawpix */
105
106 static INLINE void
107 _swrast_Bitmap( GLcontext *ctx,
108                 GLint px, GLint py,
109                 GLsizei width, GLsizei height,
110                 const struct gl_pixelstore_attrib *unpack,
111                 const GLubyte *bitmap )
112 {
113    ASSERT_NO_FEATURE();
114 }
115
116 static INLINE void
117 _swrast_CopyPixels( GLcontext *ctx,
118                     GLint srcx, GLint srcy,
119                     GLint destx, GLint desty,
120                     GLsizei width, GLsizei height,
121                     GLenum type )
122 {
123    ASSERT_NO_FEATURE();
124 }
125
126 static INLINE void
127 _swrast_DrawPixels( GLcontext *ctx,
128                     GLint x, GLint y,
129                     GLsizei width, GLsizei height,
130                     GLenum format, GLenum type,
131                     const struct gl_pixelstore_attrib *unpack,
132                     const GLvoid *pixels )
133 {
134    ASSERT_NO_FEATURE();
135 }
136
137 #endif
138
139
140 #endif /* SWRAST_FEATURES_H */