(length (buffer-length buffer))
(usage (buffer-usage-gl buffer)))
(gpu-state-set! *buffer-state* buffer)
- ;; Orphan the buffer to avoid implicit synchronization.
- ;; See: https://www.opengl.org/wiki/Buffer_Object_Streaming#Buffer_re-specification
- (gl-buffer-data target length %null-pointer usage)
+ (when (eq? usage 'stream)
+ ;; Orphan the buffer to avoid implicit synchronization.
+ ;; See: https://www.opengl.org/wiki/Buffer_Object_Streaming#Buffer_re-specification
+ (gl-buffer-data target length %null-pointer usage))
(let ((ptr (gl-map-buffer target (version-1-5 read-write))))
(set-buffer-data! buffer (pointer->bytevector ptr length)))))