Here's a Vulkan app that prints the properties of the first physical device on 
the system: 
https://github.com/zyrolasting/racket-vulkan/blob/master/examples/mandelbrot.rkt#L39

If you comment out the call to `vkGetPhysicalDeviceProperties`, the main module 
works. I create a Vulkan instance, print out a blank version of a struct, then 
destroy the instance. If I leave it in, I get:

; ptr-ref: contract violation
;   expected: cpointer?
;   given: #<variable-code>
;   argument position: 1st

I bind 
`[vkGetPhysicalDeviceProperties](https://www.khronos.org/registry/vulkan/specs/1.1-extensions/man/html/vkGetPhysicalDeviceProperties.html)`
 using _pointer so I can learn how to work with the raw API:
https://github.com/zyrolasting/racket-vulkan/blob/master/unsafe.rkt#L1008

I expect I misused a pointer and ended up with corrupted memory. But what is 
#<variable-code>, anyway? How did I produce it?

~slg

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-users/kOdM__5k_2CVKSt5cmEUjb8Ci-00MtOsPUnBvetk5puetw-rGEyH95lFrYNQ-rgKdEOJQ7eo7boVEz9ua4RHPeUb1O9OdzsDdkQjwhuM9pA%3D%40sagegerard.com.

Reply via email to