diff --git a/src/render/gl-utils.lisp b/src/render/gl-utils.lisp index 3cdb811..62651d9 100644 --- a/src/render/gl-utils.lisp +++ b/src/render/gl-utils.lisp @@ -9,6 +9,7 @@ (:use :cl) (:export :*major-version* :*minor-version* + :*glsl-version* :initialize :version-supported-p :gl-assert @@ -18,21 +19,23 @@ (defvar *major-version* nil) (defvar *minor-version* nil) +(defvar *glsl-version* nil) (defun initialize (version) "Initialize the local opengl configuration. Store values like the drivers version." (if (/= version 0) - (progn - (setf *major-version* (mod version 100)) - (setf *minor-version* (/ version 100))) - (progn - (setf *major-version* (gl:get-integer :major-version)) - (setf *minor-version* (gl:get-integer :minor-version))))) + (multiple-value-bind (maj min) (floor version 10) + (setf *major-version* maj + *minor-version* min)) + (setf *major-version* (gl:get-integer :major-version) + *minor-version* (gl:get-integer :minor-version))) + (setf *glsl-version* (gl:get-string :shading-language-version))) (defun version-supported-p (version) - (and (>= (mod version 100) *major-version*) - (>= (/ version 100) *minor-version*))) + (multiple-value-bind (maj min) (floor version 10) + (and (<= maj *major-version*) + (<= min *minor-version*)))) (defmacro gl-assert (form) `(prog1