Better libGL loading, fallback GetProcAddress binds, and improved matrix support. #31

Open
wants to merge 4 commits into
from

Conversation

Projects
None yet
2 participants
@Ralith
Contributor

Ralith commented Nov 1, 2011

No description provided.

+ #-clisp
+ ((simple-array single-float (*)) ; Flattened arrays can be passed directly
+ (with-pointer-to-vector-data (ptr matrices)
+ (let ((matrix-count (/ (length matrices) (* dim dim))))

This comment has been minimized.

Show comment Hide comment
@3b

3b Dec 13, 2011

Owner

I'd probably use FLOOR rather than / there, so it doesn't error if the array is a bit too long, not sure if ignoring the extra data is actually better than erroring though.

@3b

3b Dec 13, 2011

Owner

I'd probably use FLOOR rather than / there, so it doesn't error if the array is a bit too long, not sure if ignoring the extra data is actually better than erroring though.

+ ((simple-array single-float (*))
+ (with-pointer-to-vector-data (,sym ,matrix)
+ ,@body))
+ (t (dotimes (i 16)

This comment has been minimized.

Show comment Hide comment
@3b

3b Dec 13, 2011

Owner

looks like WITH-FOREIGN-OBJECT got lost in the fallback case there?

@3b

3b Dec 13, 2011

Owner

looks like WITH-FOREIGN-OBJECT got lost in the fallback case there?

- (setf (mem-aref ,sym '%gl:float i) (row-major-aref ,matrix i)))
- ,@body))
+ `(typecase ,matrix
+ #-clisp

This comment has been minimized.

Show comment Hide comment
@3b

3b Dec 13, 2011

Owner

I'd probably enable the optimization on implementations where we know it works and helps rather than just disabling it on clisp...

@3b

3b Dec 13, 2011

Owner

I'd probably enable the optimization on implementations where we know it works and helps rather than just disabling it on clisp...

@3b

This comment has been minimized.

Show comment Hide comment
@3b

3b Dec 13, 2011

Owner

merged the lib and GetProdAddress stuff, not sure about the others though, see patch comments...

Owner

3b commented Dec 13, 2011

merged the lib and GetProdAddress stuff, not sure about the others though, see patch comments...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment