anchor.diff:      (:depth-clear-value :float 1)
       (:stencil-clear-value :integer 1)
       (:accum-clear-value :float 4)
  -;;    (:draw-framebuffer-binding :integer 1)
  +    (:draw-framebuffer-binding :integer 1)
       (:read-framebuffer-binding :integer 1)
       (:draw-buffer   :enum 1)
       (:draw-buffer0  :enum 1)
  
positive.code: (define-query-function get-double %gl:get-double-v %gl:double)
  (define-query-function get-pointer %gl:get-pointer-v :pointer)
  
  ;;; Wrapper around GET-INTEGER when the result should be interpreted
  ;;; as an enumerated constant.
  (defun get-enum (value &optional (count (query-enum-size value)))
    (let ((result (get-integer value count)))
      (if (vectorp result)
          (map 'vector (lambda (x) (foreign-enum-keyword '%gl:enum x)) result)
          (foreign-enum-keyword '%gl:enum result))))
  
  ;;; generic get that handles type and number of values for known enums
  ;;; fixme: better name?
  
negative.code:     (:max-texture-units :integer 1)
      (:max-vertex-attribs :integer 1)
      (:max-vertex-uniform-components :integer 1)
      (:max-varying-components :integer 1)
      (:max-combined-texture-image-units :integer 1)
      (:max-vertex-texture-image-units :integer 1)
      (:max-texture-image-units :integer 1)
  