mesa.c 693 B

123456789101112131415161718192021
  1. #define HL_NAME(n) mesa__##n
  2. #include <hl.h>
  3. #include <GL/osmesa.h>
  4. HL_PRIM void *HL_NAME(create_context)( int *attribs, OSMesaContext shared ) {
  5. OSMesaContext ctx = OSMesaCreateContextAttribs(attribs, shared);
  6. return ctx;
  7. }
  8. HL_PRIM void HL_NAME(destroy_context)( OSMesaContext ctx ) {
  9. OSMesaDestroyContext(ctx);
  10. }
  11. HL_PRIM bool HL_NAME(make_current)( OSMesaContext ctx, void *buffer, int type, int width, int height ) {
  12. return OSMesaMakeCurrent(ctx,buffer,type,width,height);
  13. }
  14. #define _CTX _ABSTRACT(mesa_ctx)
  15. DEFINE_PRIM(_CTX, create_context, _BYTES _CTX);
  16. DEFINE_PRIM(_VOID, destroy_context, _CTX);
  17. DEFINE_PRIM(_BOOL, make_current, _CTX _BYTES _I32 _I32 _I32);