diff --git a/src/render/gl-utils.lisp b/src/render/gl-utils.lisp index 62651d9..f58cca4 100644 --- a/src/render/gl-utils.lisp +++ b/src/render/gl-utils.lisp @@ -37,12 +37,15 @@ Store values like the drivers version." (and (<= maj *major-version*) (<= min *minor-version*)))) -(defmacro gl-assert (form) - `(prog1 - ,form - (let ((err-sym (%gl:get-error))) - (unless (eq err-sym :zero) - (error "The OpenGL command `~a'~%~2iresulted in an error: ~s~%" ',form err-sym))))) +(defmacro gl-assert (&body body) + `(progn + ,@(loop for form in body + collect `(prog1 + ,form + (let ((err-sym (%gl:get-error))) + (unless (eq err-sym :zero) + (error "The OpenGL command `~a'~%~2iresulted in an error: ~s~%" + ',form err-sym))))))) (defmacro gl-restart (form) `(restart-case