From 6fe823a614279cceb2d48507bd8e93b0efd87f94 Mon Sep 17 00:00:00 2001 From: Thomas Albers Date: Sat, 4 Mar 2023 22:47:28 +0100 Subject: Initial commit --- src/sampler.lisp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/sampler.lisp (limited to 'src/sampler.lisp') diff --git a/src/sampler.lisp b/src/sampler.lisp new file mode 100644 index 0000000..5521ed7 --- /dev/null +++ b/src/sampler.lisp @@ -0,0 +1,27 @@ +(in-package #:ocl) + +(defun create-sampler-with-properties (context &key (normalized-coords-p t) + (addressing-mode :address-clamp) + (filter-mode :filter-nearest)) + (let ((properties `(:sampler-normalized-coords ,normalized-coords-p + :sampler-addressing-mode ,addressing-mode + :sampler-filter-mode ,filter-mode + 0))) + (with-foreign-sequence (c-properties properties 'cl-sampler-properties) + (check-error-arg (%create-sampler-with-properties context sampler-properties))))) + +(defun retain-sampler (sampler) + (check-error (%retain-sampler sampler))) + +(defun release-sampler (sampler) + (check-error (%release-sampler sampler))) + +(defparameter +sampler-info-type-alist+ + '((:sampler-reference-count . cl-uint) + (:sampler-context . cl-context) + (:sampler-normalized-coords . cl-bool) + (:sampler-addressing-mode . cl-addressing-mode) + (:sampler-filter-mode . cl-filter-mode) + (:sampler-properties . (:pointer cl-sampler-properties)))) + +(wrap-get-info-function get-sampler-info %get-sampler-info +sampler-info-type-alist+) -- cgit v1.2.3