tests: fix build on os/x
[schroedinger.git] / schroedinger / opengl / schroopenglframe.h
blobfc59ed5685e16b706b28da5918eba534370b7677
2 #ifndef __SCHRO_OPENGL_FRAME_H__
3 #define __SCHRO_OPENGL_FRAME_H__
5 #include <schroedinger/schroframe.h>
6 #include <schroedinger/schroparams.h>
7 #include <schroedinger/opengl/schroopengltypes.h>
9 SCHRO_BEGIN_DECLS
11 #define SCHRO_FRAME_IS_OPENGL(_frame) \
12 ((_frame)->domain && ((_frame)->domain->flags & SCHRO_MEMORY_DOMAIN_OPENGL))
14 void schro_opengl_frame_setup (SchroOpenGL *opengl, SchroFrame *frame);
15 void schro_opengl_frame_cleanup (SchroFrame *frame);
17 SchroFrame *schro_opengl_frame_new (SchroOpenGL *opengl,
18 SchroMemoryDomain *opengl_domain, SchroFrameFormat format, int width,
19 int height);
20 SchroFrame *schro_opengl_frame_clone (SchroFrame *opengl_frame);
21 SchroFrame *schro_opengl_frame_clone_and_push (SchroOpenGL *opengl,
22 SchroMemoryDomain *opengl_domain, SchroFrame *cpu_frame);
24 void schro_opengl_frame_push (SchroFrame *dest, SchroFrame *src); // CPU -> GPU
25 void schro_opengl_frame_pull (SchroFrame *dest, SchroFrame *src); // CPU <- GPU
27 void schro_opengl_frame_convert (SchroFrame *dest, SchroFrame *src);
28 void schro_opengl_frame_add (SchroFrame *dest, SchroFrame *src);
29 void schro_opengl_frame_subtract (SchroFrame *dest, SchroFrame *src);
31 void schro_opengl_frame_inverse_iwt_transform (SchroFrame *frame,
32 SchroParams *params);
34 void schro_opengl_upsampled_frame_upsample (SchroFrame *upsampled_frame);
36 void schro_frame_print (SchroFrame *frame, const char* name);
38 SCHRO_END_DECLS
40 #endif