16dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell/**
26dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * \file accum.h
36dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * Accumulation buffer operations.
46dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell *
56dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * \if subset
66dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * (No-op)
76dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell *
86dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell * \endif
96dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell */
10afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg
11afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg/*
12afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * Mesa 3-D graphics library
1322144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes * Version:  3.5
145e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen *
1522144ab7552f0799bcfca506bf4ffa7f70a06649Gareth Hughes * Copyright (C) 1999-2001  Brian Paul   All Rights Reserved.
165e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen *
17afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * Permission is hereby granted, free of charge, to any person obtaining a
18afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * copy of this software and associated documentation files (the "Software"),
19afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * to deal in the Software without restriction, including without limitation
20afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
21afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * and/or sell copies of the Software, and to permit persons to whom the
22afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * Software is furnished to do so, subject to the following conditions:
235e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen *
24afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * The above copyright notice and this permission notice shall be included
25afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * in all copies or substantial portions of the Software.
265e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen *
27afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
28afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
29afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
30afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
31afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
32afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg */
34afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg
35afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg
366dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell
37afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg#ifndef ACCUM_H
38afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg#define ACCUM_H
39afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg
407a33b1c0a917a71441056e113047d5aec938a115Vinson Lee#include "main/glheader.h"
417a33b1c0a917a71441056e113047d5aec938a115Vinson Lee#include "main/mfeatures.h"
42afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg
437a33b1c0a917a71441056e113047d5aec938a115Vinson Leestruct _glapi_table;
447a33b1c0a917a71441056e113047d5aec938a115Vinson Leestruct gl_context;
45122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paulstruct gl_renderbuffer;
46afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg
47a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu#if FEATURE_accum
48afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg
49c40d1dd62dd9bcbb97128e37a75d991a8d3b2d8cKendall Bennettextern void GLAPIENTRY
50fbd8f212c3866ec98c1d8c9d3db3ddb7e7c479a5Brian Paul_mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
51afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg
52a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wuextern void
53a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu_mesa_init_accum_dispatch(struct _glapi_table *disp);
54a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu
55122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paulextern void
56122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul_mesa_accum(struct gl_context *ctx, GLenum op, GLfloat value);
57122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul
58122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paulextern void
59122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul_mesa_clear_accum_buffer(struct gl_context *ctx);
60122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul
61a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu#else /* FEATURE_accum */
626dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell
638043bf555e14cf20826753d59d66d0cef7a5e5a0Chia-I Wu#include "main/compiler.h"
648043bf555e14cf20826753d59d66d0cef7a5e5a0Chia-I Wu
659520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline void
66a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu_mesa_ClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha )
67a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu{
68a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu   /* this is used in _mesa_PopAttrib */
69a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu   ASSERT_NO_FEATURE();
70a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu}
716dc85575000127630489b407c50a4b3ea87c9acbKeith Whitwell
729520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline void
73a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu_mesa_init_accum_dispatch(struct _glapi_table *disp)
74a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu{
75a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu}
76a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu
77122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paulstatic inline void
78122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul_mesa_accum(struct gl_context *ctx, GLenum op, GLfloat value)
79122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul{
80122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul}
81122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul
82122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paulstatic inline void
83122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul_mesa_clear_accum_buffer(struct gl_context *ctx)
84122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul{
85122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul}
86122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul
87122c6768e3d4c1d1b57203eca70569f9301baab5Brian Paul
88a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu#endif /* FEATURE_accum */
89a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu
90a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wuextern void
91f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_init_accum( struct gl_context *ctx );
92afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg
93a833ff0f53da6e365d917bb0081d909a809b6ec1Chia-I Wu#endif /* ACCUM_H */
94