26 lines
1.1 KiB
Common Lisp
26 lines
1.1 KiB
Common Lisp
#|
|
|
This file is a part of stoe project.
|
|
Copyright (c) 2017 Renaud Casenave-Péré (renaud@casenave-pere.fr)
|
|
|#
|
|
|
|
(uiop:define-package :stoe/engine/vk-utils
|
|
(:use :cl :vk))
|
|
(in-package :stoe/engine/vk-utils)
|
|
|
|
(defvar *engine-name* "Stoe")
|
|
(defvar *engine-version* 0)
|
|
|
|
(defvar *physical-devices* nil)
|
|
(defvar *instance-layer-properties* nil)
|
|
(defvar *instance-extension-properties* nil)
|
|
|
|
(defun create-vk-instance (&key app-name app-version)
|
|
(setf *instance-layer-properties* (enumerate-instance-layer-properties))
|
|
(setf *instance-extension-properties* (enumerate-instance-extension-properties ""))
|
|
(let ((instance (vk:create-instance :app app-name :app-version app-version
|
|
:engine *engine-name* :engine-version *engine-version*
|
|
:layers '("VK_LAYER_LUNARG_standard_validation")
|
|
:exts '("VK_EXT_debug_report"
|
|
"VK_KHR_xlib_surface"))))
|
|
(setf *physical-devices* (vk:enumerate-physical-devices instance))
|
|
(setf cl-vulkan-bindings::*instance* instance)))
|