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 30db61b9ce39bccc43140357652ceb78baaf2aea44Vinson Lee#include "main/mfeatures.h" 31301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#include "main/mtypes.h" 32afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 33afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 34301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#if FEATURE_feedback 35301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu 36c56d0a61b97b29cec851df4cd385f095e3876848Chad Versaceextern GLint GLAPIENTRY 37c56d0a61b97b29cec851df4cd385f095e3876848Chad Versace_mesa_RenderMode( GLenum mode ); 38c56d0a61b97b29cec851df4cd385f095e3876848Chad Versace 39559aec47015b741e045d57362f7732b3a04f9450Brian Paulextern void 40f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_feedback_vertex( struct gl_context *ctx, 41559aec47015b741e045d57362f7732b3a04f9450Brian Paul const GLfloat win[4], 42559aec47015b741e045d57362f7732b3a04f9450Brian Paul const GLfloat color[4], 43559aec47015b741e045d57362f7732b3a04f9450Brian Paul const GLfloat texcoord[4] ); 44afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 45afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 469520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline void 47f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_feedback_token( struct gl_context *ctx, GLfloat token ) 48bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul{ 49bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul if (ctx->Feedback.Count < ctx->Feedback.BufferSize) { 50bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul ctx->Feedback.Buffer[ctx->Feedback.Count] = token; 51bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul } 52bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul ctx->Feedback.Count++; 53bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul} 54bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul 55bf8a187f71bd667a0dc0f70164a897d8e62361a8Brian Paul 56559aec47015b741e045d57362f7732b3a04f9450Brian Paulextern void 57f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_update_hitflag( struct gl_context *ctx, GLfloat z ); 58afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 59afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 60301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wuextern void 61301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu_mesa_init_feedback_dispatch(struct _glapi_table *disp); 62301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu 63301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#else /* FEATURE_feedback */ 64fbd8f212c3866ec98c1d8c9d3db3ddb7e7c479a5Brian Paul 658043bf555e14cf20826753d59d66d0cef7a5e5a0Chia-I Wu#include "main/compiler.h" 668043bf555e14cf20826753d59d66d0cef7a5e5a0Chia-I Wu 679520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline void 68f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_feedback_vertex( struct gl_context *ctx, 69301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu const GLfloat win[4], 70301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu const GLfloat color[4], 71301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu const GLfloat texcoord[4] ) 72301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu{ 73301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu /* render mode is always GL_RENDER */ 74301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu ASSERT_NO_FEATURE(); 75301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu} 76afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 77afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 789520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline void 79f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_feedback_token( struct gl_context *ctx, GLfloat token ) 80301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu{ 81301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu /* render mode is always GL_RENDER */ 82301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu ASSERT_NO_FEATURE(); 83301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu} 84afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 859520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline void 86f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_update_hitflag( struct gl_context *ctx, GLfloat z ) 87301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu{ 88301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu /* render mode is always GL_RENDER */ 89301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu ASSERT_NO_FEATURE(); 90301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu} 91afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 929520f483b8f1e45fa474674b415554988de5d8d3Brian Paulstatic inline void 93301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu_mesa_init_feedback_dispatch(struct _glapi_table *disp) 94301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu{ 95301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu} 96afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 97301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#endif /* FEATURE_feedback */ 98afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 99301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wuextern void 100f9995b30756140724f41daf963fa06167912be7fKristian Høgsberg_mesa_init_feedback( struct gl_context *ctx ); 101afb833d4e89c312460a4ab9ed6a7a8ca4ebbfe1cjtg 102301a510092859d2e214d64f4ac2ebe03d591c64bChia-I Wu#endif /* FEEDBACK_H */ 103