]> gitweb.factorcode.org Git - factor.git/blobdiff - extra/cuda/gl/gl.factor
Move <ref>, deref and little-endian? from alien.c-types to alien.data, remove <c...
[factor.git] / extra / cuda / gl / gl.factor
index 78e108ae7a28bc41abf2fcf1f4debe8b81be6b39..e4e093c1e95146c298422b29d425353efdca70e8 100644 (file)
@@ -6,25 +6,25 @@ IN: cuda.gl
 
 : create-gl-cuda-context ( device flags -- context )
     swap
-    [ CUcontext <c-object> ] 2dip
-    [ cuGLCtxCreate cuda-error ] 3keep 2drop void* deref ; inline
+    [ { CUcontext } ] 2dip
+    '[ _ _ cuGLCtxCreate cuda-error ] with-out-parameters ; inline
 
 : with-gl-cuda-context ( device flags quot -- )
     [ set-up-cuda-context create-gl-cuda-context ] dip (with-cuda-context) ; inline 
 
 : gl-buffer>resource ( gl-buffer flags -- resource )
     enum>number
-    [ CUgraphicsResource <c-object> ] 2dip
-    [ cuGraphicsGLRegisterBuffer cuda-error ] 3keep 2drop void* deref ; inline
+    [ { CUgraphicsResource } ] 2dip
+    '[ _ _ cuGraphicsGLRegisterBuffer cuda-error ] with-out-parameters ; inline
 
 : buffer>resource ( buffer flags -- resource )
     [ handle>> ] dip gl-buffer>resource ; inline
 
 : map-resource ( resource -- device-ptr size )
     [ 1 swap void* <ref> f cuGraphicsMapResources cuda-error ] [
-        [ CUdeviceptr <c-object> uint <c-object> ] dip
-        [ cuGraphicsResourceGetMappedPointer cuda-error ] 3keep drop
-        [ uint deref ] [ uint deref ] bi*
+        [ { CUdeviceptr uint } ] dip
+        '[ _ cuGraphicsResourceGetMappedPointer cuda-error ]
+        with-out-parameters
     ] bi ; inline
 
 : unmap-resource ( resource -- )