anchor.diff:      ;; validation
       (assert-valid-args-for-buffer-backend-texture
        image-format cubes rectangle multisample mipmap layer-count
  -     lod-bias min-lod max-lod minify-filter magnify-filter wrap compare
        texture-type)
       ;; creation
       (let* ((array (if initial-contents
  
positive.code:                        pformat ptype)))
                    (when (and generate-mipmaps (> mipmap-levels 1))
                      (generate-mipmaps tex-obj)))
                  (when lod-bias
                    (setf (cepl.samplers:lod-bias tex-obj) lod-bias))
                  (when min-lod
                    (setf (cepl.samplers:min-lod tex-obj) min-lod))
                  (when max-lod
                    (setf (cepl.samplers:max-lod tex-obj) max-lod))
                  (when minify-filter
                    (setf (cepl.samplers:minify-filter tex-obj) minify-filter))
                  (when magnify-filter
                    (setf (cepl.samplers:magnify-filter tex-obj) magnify-filter))
                  (when wrap
                    (setf (cepl.samplers:wrap tex-obj) wrap))
                  (when compare
                    (setf (cepl.samplers:compare tex-obj) compare))
                  tex-obj))
            (error "This combination of texture features is invalid")))))
  
  
negative.code:       ((and initial-contents cubes)
         (%make-cube-texture tex-obj dimensions mipmap layer-count cubes
  			   buffer-storage rectangle multisample immutable
  			   initial-contents image-format generate-mipmaps))
        ;; initialize content needs to be turned into c-array
        ((and initial-contents (typep initial-contents 'uploadable-lisp-seq))
         (%make-texture-with-lisp-data tex-obj dimensions mipmap layer-count cubes
                                       buffer-storage rectangle multisample
                                       immutable initial-contents generate-mipmaps
  				     element-type image-format))
        ;; buffer backed - note that by now if there were intitial contents, they
        ;;                 are now a c-array
        (buffer-storage
         (%make-buffer-texture tex-obj
  			     (%texture-dimensions initial-contents dimensions)
                               image-format mipmap layer-count cubes
                               rectangle multisample immutable initial-contents))
        ;; all other cases
        (t (%make-texture tex-obj dimensions mipmap layer-count cubes
  			buffer-storage rectangle multisample immutable
  			initial-contents image-format generate-mipmaps)))))
  
  ;;-   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
  
  