Fix gl version retrieval and get glsl version at init
This commit is contained in:
parent
1c1862dd6d
commit
5cc428df88
1 changed files with 11 additions and 8 deletions
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue