1afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach/* 2afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * Mesa 3-D graphics library 35e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen * 4559aec47015b741e045d57362f7732b3a04f9450Brian Paul * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. 5559aec47015b741e045d57362f7732b3a04f9450Brian Paul * Copyright (C) 2009 VMware, Inc. All Rights Reserved. 65e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen * 7afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * Permission is hereby granted, free of charge, to any person obtaining a 8afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * copy of this software and associated documentation files (the "Software"), 9afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * to deal in the Software without restriction, including without limitation 10afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * the rights to use, copy, modify, merge, publish, distribute, sublicense, 11afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * and/or sell copies of the Software, and to permit persons to whom the 12afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * Software is furnished to do so, subject to the following conditions: 135e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen * 14afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * The above copyright notice and this permission notice shall be included 15afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * in all copies or substantial portions of the Software. 165e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen * 17afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 18afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 203d8d5b298a268b119d840bc9bae0ee9e0c9244a9Kenneth Graunke * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR 213d8d5b298a268b119d840bc9bae0ee9e0c9244a9Kenneth Graunke * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, 223d8d5b298a268b119d840bc9bae0ee9e0c9244a9Kenneth Graunke * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 233d8d5b298a268b119d840bc9bae0ee9e0c9244a9Kenneth Graunke * OTHER DEALINGS IN THE SOFTWARE. 24afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach */ 25afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach 26afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach#ifndef FEEDBACK_H 27afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach#define FEEDBACK_H 28afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach 29afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach 30301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#include "main/mtypes.h" 31afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach 32afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach 33f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berryvoid GLAPIENTRY 34f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berry_mesa_FeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer ); 35f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berryvoid GLAPIENTRY 36f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berry_mesa_PassThrough( GLfloat token ); 37f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berryvoid GLAPIENTRY 38f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berry_mesa_SelectBuffer( GLsizei size, GLuint *buffer ); 39f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berryvoid GLAPIENTRY 40f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berry_mesa_InitNames( void ); 41f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berryvoid GLAPIENTRY 42f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berry_mesa_LoadName( GLuint name ); 43f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berryvoid GLAPIENTRY 44f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berry_mesa_PushName( GLuint name ); 45f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berryvoid GLAPIENTRY 46f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul Berry_mesa_PopName( void ); 47f7fa946d1da96178e63e42dd8d8739d3e0f66e1dPaul BerryGLint GLAPIENTRY 48c56d0a61b97b29cec851df4cd385f095e3876848Chad Versace_mesa_RenderMode( GLenum mode ); 49c56d0a61b97b29cec851df4cd385f095e3876848Chad Versace 50559aec47015b741e045d57362f7732b3a04f9450Brian Paulextern void 51f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_feedback_vertex( struct gl_context *ctx, 52559aec47015b741e045d57362f7732b3a04f9450Brian Paul const GLfloat win[4], 53559aec47015b741e045d57362f7732b3a04f9450Brian Paul const GLfloat color[4], 54559aec47015b741e045d57362f7732b3a04f9450Brian Paul const GLfloat texcoord[4] ); 55afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach 56afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach 579520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline void 58f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_feedback_token( struct gl_context *ctx, GLfloat token ) 59bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul{ 60bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul if (ctx->Feedback.Count < ctx->Feedback.BufferSize) { 61bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul ctx->Feedback.Buffer[ctx->Feedback.Count] = token; 62bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul } 63bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul ctx->Feedback.Count++; 64bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul} 65bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul 66bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul 67559aec47015b741e045d57362f7732b3a04f9450Brian Paulextern void 68f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_update_hitflag( struct gl_context *ctx, GLfloat z ); 69afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach 70afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach 71301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wuextern void 72f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_init_feedback( struct gl_context *ctx ); 73afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cJochen Gerlach 74301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#endif /* FEEDBACK_H */ 75