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