feedback.h revision f9995b30756140724f41daf963fa06167912be7f
1afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg/* 2afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * Mesa 3-D graphics library 3559aec47015b741e045d57362f7732b3a04f9450Brian Paul * Version: 7.5 45e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen * 5559aec47015b741e045d57362f7732b3a04f9450Brian Paul * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. 6559aec47015b741e045d57362f7732b3a04f9450Brian Paul * Copyright (C) 2009 VMware, Inc. All Rights Reserved. 75e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen * 8afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * Permission is hereby granted, free of charge, to any person obtaining a 9afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * copy of this software and associated documentation files (the "Software"), 10afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * to deal in the Software without restriction, including without limitation 11afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * the rights to use, copy, modify, merge, publish, distribute, sublicense, 12afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * and/or sell copies of the Software, and to permit persons to whom the 13afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * Software is furnished to do so, subject to the following conditions: 145e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen * 15afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * The above copyright notice and this permission notice shall be included 16afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * in all copies or substantial portions of the Software. 175e3bc0c2a2bcdf59949410f94c9b705fc1281ce8Jouk Jansen * 18afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 21afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 22afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 23afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg */ 25afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 26afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg#ifndef FEEDBACK_H 27afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg#define FEEDBACK_H 28afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 29afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 30301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#include "main/mtypes.h" 31afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 32afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 33301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#if FEATURE_feedback 34301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu 35559aec47015b741e045d57362f7732b3a04f9450Brian Paulextern void 36f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_feedback_vertex( struct gl_context *ctx, 37559aec47015b741e045d57362f7732b3a04f9450Brian Paul const GLfloat win[4], 38559aec47015b741e045d57362f7732b3a04f9450Brian Paul const GLfloat color[4], 39559aec47015b741e045d57362f7732b3a04f9450Brian Paul const GLfloat texcoord[4] ); 40afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 41afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 42bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paulstatic INLINE void 43f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_feedback_token( struct gl_context *ctx, GLfloat token ) 44bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul{ 45bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul if (ctx->Feedback.Count < ctx->Feedback.BufferSize) { 46bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul ctx->Feedback.Buffer[ctx->Feedback.Count] = token; 47bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul } 48bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul ctx->Feedback.Count++; 49bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul} 50bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul 51bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul 52559aec47015b741e045d57362f7732b3a04f9450Brian Paulextern void 53f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_update_hitflag( struct gl_context *ctx, GLfloat z ); 54afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 55afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 56301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wuextern void 57301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu_mesa_init_feedback_dispatch(struct _glapi_table *disp); 58301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu 59301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#else /* FEATURE_feedback */ 60fbd8f212c3866ec98c1d8c9d3db3ddb7e7c479a5Brian Paul 618043bf555e14cf20826753d59d66d0cef7a5e5a0Chia-I Wu#include "main/compiler.h" 628043bf555e14cf20826753d59d66d0cef7a5e5a0Chia-I Wu 63301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wustatic INLINE void 64f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_feedback_vertex( struct gl_context *ctx, 65301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu const GLfloat win[4], 66301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu const GLfloat color[4], 67301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu const GLfloat texcoord[4] ) 68301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu{ 69301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu /* render mode is always GL_RENDER */ 70301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu ASSERT_NO_FEATURE(); 71301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu} 72afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 73afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 74301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wustatic INLINE void 75f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_feedback_token( struct gl_context *ctx, GLfloat token ) 76301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu{ 77301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu /* render mode is always GL_RENDER */ 78301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu ASSERT_NO_FEATURE(); 79301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu} 80afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 81301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wustatic INLINE void 82f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_update_hitflag( struct gl_context *ctx, GLfloat z ) 83301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu{ 84301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu /* render mode is always GL_RENDER */ 85301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu ASSERT_NO_FEATURE(); 86301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu} 87afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 88301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wustatic INLINE void 89301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu_mesa_init_feedback_dispatch(struct _glapi_table *disp) 90301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu{ 91301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu} 92afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 93301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#endif /* FEATURE_feedback */ 94afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 95301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wuextern void 96f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_init_feedback( struct gl_context *ctx ); 97afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 98301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#endif /* FEEDBACK_H */ 99