summaryrefslogtreecommitdiffstats
path: root/src/mesa/swrast/swrast.h
blob: 4e8627e695595b2e611bcd77076863742f8fe859 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#ifndef SWRAST_H
#define SWRAST_H

#include "types.h"

/* These are the functions exported from swrast.  (more to come)
 */
void
_swrast_alloc_buffers( GLcontext *ctx );


void 
_swrast_Bitmap( GLcontext *ctx, 
		GLint px, GLint py,
		GLsizei width, GLsizei height,
		const struct gl_pixelstore_attrib *unpack,
		const GLubyte *bitmap );

void
_swrast_CopyPixels( GLcontext *ctx, 
		    GLint srcx, GLint srcy, 
		    GLint destx, GLint desty, 
		    GLsizei width, GLsizei height,
		    GLenum type );

void
_swrast_DrawPixels( GLcontext *ctx, 
		    GLint x, GLint y,
		    GLsizei width, GLsizei height,
		    GLenum format, GLenum type, 
		    const struct gl_pixelstore_attrib *unpack,
		    const GLvoid *pixels );

void
_swrast_ReadPixels( GLcontext *ctx,
		    GLint x, GLint y, GLsizei width, GLsizei height,
		    GLenum format, GLenum type,
		    const struct gl_pixelstore_attrib *unpack,
		    GLvoid *pixels );

void 
_swrast_Clear( GLcontext *ctx, GLbitfield mask, GLboolean all,
	       GLint x, GLint y, GLint width, GLint height );

void
_swrast_Accum( GLcontext *ctx, GLenum op, 
	       GLfloat value, GLint xpos, GLint ypos, 
	       GLint width, GLint height );

void 
_swrast_set_line_function( GLcontext *ctx );

void 
_swrast_set_point_function( GLcontext *ctx );

void 
_swrast_set_triangle_function( GLcontext *ctx );

void 
_swrast_set_quad_function( GLcontext *ctx );

void 
_swrast_flush( GLcontext *ctx );

GLboolean
_swrast_create_context( GLcontext *ctx );

void
_swrast_destroy_context( GLcontext *ctx );


/* Replace:
 */
void
_swrast_set_texture_sampler( struct gl_texture_object *t );



#define _SWRAST_NEW_TRIANGLE (_NEW_RENDERMODE|		\
                              _NEW_POLYGON|		\
                              _NEW_DEPTH|		\
                              _NEW_STENCIL|		\
                              _NEW_COLOR|		\
                              _NEW_TEXTURE|		\
                              _NEW_HINT|		\
                              _SWRAST_NEW_RASTERMASK|	\
                              _NEW_LIGHT|		\
                              _NEW_FOG)

#define _SWRAST_NEW_LINE (_NEW_RENDERMODE|	\
                          _NEW_LINE|		\
                          _NEW_TEXTURE|		\
                          _NEW_LIGHT|		\
                          _NEW_FOG|		\
                          _NEW_DEPTH)

#define _SWRAST_NEW_POINT (_NEW_RENDERMODE |	\
			   _NEW_POINT |		\
			   _NEW_TEXTURE |	\
			   _NEW_LIGHT |		\
			   _NEW_FOG)






#endif