
                      Mesa config file documentation


As of Mesa 3.1 beta 2, a config file can be used to configure various
Mesa parameters.  For example, extensions can be enable/disabled,
glHints can be specified, etc.  More config options will be added
in the future.

The config file uses a Lisp-like syntax.

Here's Keith's description of the file with a few examples.



;; -*-lisp-*-
;;
;; KW: New mesa configuration file, syntax following a lisp style.
;;
;; valid syntax:
;;
;; (config-mesa version configs)
;;
;; where:
;;    version - is the version number of mesa for which the configuration
;;    was written.  Future versions will use this to check for upwards
;;    compatibility.  There is however no guarentee that old configurations
;;    will continue to be respected.
;;
;;    configs - is a list of valid configuration lists, as specified by:
;;
;;       (default-hint variable value)
;;       (disable-extension name)
;;       (fx-catch-signals {true|false})
;;
;; Mesa will look for an environment variable MESA_CONFIG, and try to
;; execute that profile.  Otherwise, it will fallback to the profile
;; with the same name as the current mesa version.  As default
;; profiles should normally be empty or near-empty, this should be
;; sufficiently powerful.
;;


;; Guareenteed to be an empty config.
;;
(config-mesa empty ())


;; Default profile - should normally be an empty list of
;; configurations.
;;
(config-mesa mesa3.1beta1 ())


(config-mesa no-cva ((disable-extension GL_EXT_compiled_vertex_array)))


;; Turn off some compliance for the sake of speed.
;;
(config-mesa quake2
 (
  ;; Quake2 likes this extension, but it really hurts performance if
  ;; you don't also disable software fallbacks, below.  (And do
  ;; something else to stop the eye-space calculations too...)
  ;;
  (disable-extension GL_EXT_point_parameters)

  ;; These hints are honoured only by the 3dfx driver - the X driver
  ;; continues to function even if you specify hardware-only
  ;; rendering.
  ;;
  ;(default-hint GL_ALLOW_DRAW_OBJ_HINT_PGI GL_TRUE)   ; wishful thinking
  ;(default-hint GL_ALLOW_DRAW_WIN_HINT_PGI GL_TRUE)   ; allow 3dfx 
hardware...
  ;(default-hint GL_ALLOW_DRAW_SPN_HINT_PGI GL_FALSE)  ; no software spans
  ;(default-hint GL_ALLOW_DRAW_MEM_HINT_PGI GL_FALSE)  ; no softare pixels

  ;; Lock in the hints specified above.
  ;;
  (disable-extension GL_PGI_misc_hints)))


;; Turn off some compliance for the sake of speed.
;;
(config-mesa quake2b
 (
  ;; Quake2 likes this extension, but it really hurts performance if
  ;; you don't also disable software fallbacks, below.  (And do
  ;; something else to stop the eye-space calculations too...)
  ;;
  ;(disable-extension GL_EXT_point_parameters)

  ;; These hints are honoured only by the 3dfx driver - the X driver
  ;; continues to function even if you specify hardware-only
  ;; rendering.
  ;;
  (default-hint GL_ALLOW_DRAW_OBJ_HINT_PGI GL_TRUE)   ; wishful thinking
  (default-hint GL_ALLOW_DRAW_WIN_HINT_PGI GL_TRUE)   ; allow 3dfx 
hardware...
  (default-hint GL_ALLOW_DRAW_SPN_HINT_PGI GL_FALSE)  ; no software spans
  (default-hint GL_ALLOW_DRAW_MEM_HINT_PGI GL_FALSE)  ; no softare pixels

  ;; Lock in the hints specified above.
  ;;
  (disable-extension GL_PGI_misc_hints)))


;; Just some reminders for me.
;;
(config-mesa todo-list
 (
  ;; Allows us to slot in simpler lighting routines - not
  ;; implemented.
  ;;
  (default-hint GL_STRICT_POINT_DISTANCE_HINT_MESA GL_FALSE)
  (default-hint GL_STRICT_LIGHTING_HINT_PGI GL_FALSE)))


----------------------------------------------------------------------
$Id: CONFIG,v 1.1 1999/04/22 02:17:29 brianp Exp $
