193a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell/* 274396056977776919aaa7c22be1a3d17774ae321Ian Romanick * (C) Copyright IBM Corporation 2002, 2004 393a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * All Rights Reserved. 493a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * 593a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * Permission is hereby granted, free of charge, to any person obtaining a 693a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * copy of this software and associated documentation files (the "Software"), 793a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * to deal in the Software without restriction, including without limitation 893a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * on the rights to use, copy, modify, merge, publish, distribute, sub 993a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * license, and/or sell copies of the Software, and to permit persons to whom 1093a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * the Software is furnished to do so, subject to the following conditions: 1193a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * 1293a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * The above copyright notice and this permission notice (including the next 1393a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * paragraph) shall be included in all copies or substantial portions of the 1493a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * Software. 1593a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * 1693a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 1793a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 1893a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 1993a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, 2093a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 2193a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 2293a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * USE OR OTHER DEALINGS IN THE SOFTWARE. 2393a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * 2493a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * Authors: 2593a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell * Ian Romanick <idr@us.ibm.com> 2693a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell */ 2793a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell 2893a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell#ifndef DRI_DEBUG_H 2993a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell#define DRI_DEBUG_H 3093a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell 3195eb6422c718d3d4ef34ec35bffa83307025793dGeorge Sapountzis#include <GL/gl.h> 3295eb6422c718d3d4ef34ec35bffa83307025793dGeorge Sapountzis#include <GL/internal/dri_interface.h> 33ecadb51bbcb972a79f3ed79e65a7986b9396e757Brian Paul#include "main/context.h" 34c95e66120be049ee51ff84868b1da3379b312fabGeorge Sapountzis 35c212abf99af494f024b0b981a83350f7ac9821efIan Romanickstruct dri_debug_control { 3693a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell const char * string; 3793a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell unsigned flag; 3893a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell}; 3993a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell 4093a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwellextern unsigned driParseDebugString( const char * debug, 4193a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell const struct dri_debug_control * control ); 4293a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell 4393a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwellextern unsigned driGetRendererString( char * buffer, 440fe34b7bbc9a8e089bbb4d0fe401b09095a571ebIan Romanick const char * hardware_name, GLuint agp_mode ); 4593a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell 46c95e66120be049ee51ff84868b1da3379b312fabGeorge Sapountzisstruct __DRIconfigRec { 47d3491e775fb07f891463b2185d74bbad62f3ed24Kristian Høgsberg struct gl_config modes; 48c95e66120be049ee51ff84868b1da3379b312fabGeorge Sapountzis}; 49c95e66120be049ee51ff84868b1da3379b312fabGeorge Sapountzis 50e82dd8c6e1fa2fff5b960de26961080ba5e9651dKristian Høgsbergextern __DRIconfig ** 51e82dd8c6e1fa2fff5b960de26961080ba5e9651dKristian HøgsbergdriCreateConfigs(GLenum fb_format, GLenum fb_type, 525a46e176715b0eae7b8a715e8aec42f5a27214fcKeith Whitwell const uint8_t * depth_bits, const uint8_t * stencil_bits, 53e82dd8c6e1fa2fff5b960de26961080ba5e9651dKristian Høgsberg unsigned num_depth_stencil_bits, 54f7d80aa00611917bc8ce637136d982b151b8f44fAlan Hourihane const GLenum * db_modes, unsigned num_db_modes, 553cce4a1e10361458630511543b7a8a6438544775Ian Romanick const uint8_t * msaa_samples, unsigned num_msaa_modes, 563cce4a1e10361458630511543b7a8a6438544775Ian Romanick GLboolean enable_accum); 57e82dd8c6e1fa2fff5b960de26961080ba5e9651dKristian Høgsberg 585d5ae371eaeca7e33e638af3aee1ae8e162db0a7Eric Anholt__DRIconfig **driConcatConfigs(__DRIconfig **a, 595d5ae371eaeca7e33e638af3aee1ae8e162db0a7Eric Anholt __DRIconfig **b); 6074396056977776919aaa7c22be1a3d17774ae321Ian Romanick 61c95e66120be049ee51ff84868b1da3379b312fabGeorge Sapountzisint 62c95e66120be049ee51ff84868b1da3379b312fabGeorge SapountzisdriGetConfigAttrib(const __DRIconfig *config, 63c95e66120be049ee51ff84868b1da3379b312fabGeorge Sapountzis unsigned int attrib, unsigned int *value); 64c95e66120be049ee51ff84868b1da3379b312fabGeorge Sapountzisint 65c95e66120be049ee51ff84868b1da3379b312fabGeorge SapountzisdriIndexConfigAttrib(const __DRIconfig *config, int index, 66c95e66120be049ee51ff84868b1da3379b312fabGeorge Sapountzis unsigned int *attrib, unsigned int *value); 67c95e66120be049ee51ff84868b1da3379b312fabGeorge Sapountzis 6893a458840c77b784fb74738f734ba2c5d22ca7a7Keith Whitwell#endif /* DRI_DEBUG_H */ 69