ogl_beamforming

Ultrasound Beamforming Implemented with OpenGL
git clone anongit@rnpnr.xyz:ogl_beamforming.git
Log | Files | Refs | Feed | Submodules | README | LICENSE

opengl.h (10016B)


      1 /* See LICENSE for license details. */
      2 #ifndef _OPENGL_H_
      3 #define _OPENGL_H_
      4 
      5 #if OS_WINDOWS
      6 /* NOTE: msys2 compatibility kludge */
      7 #define WINGDIAPI
      8 #define APIENTRY
      9 #endif
     10 
     11 #include <GL/gl.h>
     12 
     13 /* NOTE: do not add extra 0s to these, even at the start -> garbage compilers will complain */
     14 #define GL_DYNAMIC_STORAGE_BIT             0x0100
     15 #define GL_SHADER_IMAGE_ACCESS_BARRIER_BIT 0x00000020
     16 #define GL_TEXTURE_UPDATE_BARRIER_BIT      0x00000100
     17 
     18 #define GL_UNSIGNED_INT_8_8_8_8            0x8035
     19 #define GL_TEXTURE_3D                      0x806F
     20 #define GL_MAX_3D_TEXTURE_SIZE             0x8073
     21 #define GL_MULTISAMPLE                     0x809D
     22 #define GL_CLAMP_TO_BORDER                 0x812D
     23 #define GL_DEPTH_COMPONENT24               0x81A6
     24 #define GL_MAJOR_VERSION                   0x821B
     25 #define GL_MINOR_VERSION                   0x821C
     26 #define GL_RG                              0x8227
     27 #define GL_RG32F                           0x8230
     28 #define GL_R8I                             0x8231
     29 #define GL_R16I                            0x8233
     30 #define GL_DEBUG_OUTPUT_SYNCHRONOUS        0x8242
     31 #define GL_BUFFER                          0x82E0
     32 #define GL_PROGRAM                         0x82E2
     33 #define GL_MIRRORED_REPEAT                 0x8370
     34 #define GL_QUERY_RESULT                    0x8866
     35 #define GL_READ_ONLY                       0x88B8
     36 #define GL_WRITE_ONLY                      0x88B9
     37 #define GL_READ_WRITE                      0x88BA
     38 #define GL_TIME_ELAPSED                    0x88BF
     39 #define GL_STATIC_DRAW                     0x88E4
     40 #define GL_UNIFORM_BUFFER                  0x8A11
     41 #define GL_MAX_UNIFORM_BLOCK_SIZE          0x8A30
     42 #define GL_FRAGMENT_SHADER                 0x8B30
     43 #define GL_VERTEX_SHADER                   0x8B31
     44 #define GL_COMPILE_STATUS                  0x8B81
     45 #define GL_LINK_STATUS                     0x8B82
     46 #define GL_INFO_LOG_LENGTH                 0x8B84
     47 #define GL_MAX_TEXTURE_BUFFER_SIZE         0x8C2B
     48 #define GL_COLOR_ATTACHMENT0               0x8CE0
     49 #define GL_DEPTH_ATTACHMENT                0x8D00
     50 #define GL_FRAMEBUFFER                     0x8D40
     51 #define GL_RENDERBUFFER                    0x8D41
     52 #define GL_RED_INTEGER                     0x8D94
     53 #define GL_TIMESTAMP                       0x8E28
     54 #define GL_SHADER_STORAGE_BUFFER           0x90D2
     55 #define GL_MAX_SHADER_STORAGE_BLOCK_SIZE   0x90DE
     56 #define GL_MAX_SERVER_WAIT_TIMEOUT         0x9111
     57 #define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT 0x919F
     58 #define GL_COMPUTE_SHADER                  0x91B9
     59 
     60 typedef char      GLchar;
     61 typedef ptrdiff_t GLsizeiptr;
     62 typedef ptrdiff_t GLintptr;
     63 typedef uint64_t  GLuint64;
     64 
     65 /* X(name, ret, params) */
     66 #define OGLProcedureList \
     67 	X(glAttachShader,                        void,   (GLuint program, GLuint shader)) \
     68 	X(glBeginQuery,                          void,   (GLenum target, GLuint id)) \
     69 	X(glBindBufferBase,                      void,   (GLenum target, GLuint index, GLuint buffer)) \
     70 	X(glBindFramebuffer,                     void,   (GLenum target, GLuint framebuffer)) \
     71 	X(glBindImageTexture,                    void,   (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)) \
     72 	X(glBindTextureUnit,                     void,   (GLuint unit, GLuint texture)) \
     73 	X(glBindVertexArray,                     void,   (GLuint array)) \
     74 	X(glBlitNamedFramebuffer,                void,   (GLuint sfb, GLuint dfb, GLint sx0, GLint sy0, GLint sx1, GLint sy1, GLint dx0, GLint dy0, GLint dx1, GLint dy1, GLbitfield mask, GLenum filter)) \
     75 	X(glClearNamedFramebufferfv,             void,   (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value)) \
     76 	X(glClearTexImage,                       void,   (GLuint texture, GLint level, GLenum format, GLenum type, const void *data)) \
     77 	X(glCompileShader,                       void,   (GLuint shader)) \
     78 	X(glCopyImageSubData,                    void,   (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)) \
     79 	X(glCreateBuffers,                       void,   (GLsizei n, GLuint *buffers)) \
     80 	X(glCreateFramebuffers,                  void,   (GLsizei n, GLuint *ids)) \
     81 	X(glCreateProgram,                       GLuint, (void)) \
     82 	X(glCreateQueries,                       void,   (GLenum target, GLsizei n, GLuint *ids)) \
     83 	X(glCreateRenderbuffers,                 void,   (GLsizei n, GLuint *renderbuffers)) \
     84 	X(glCreateShader,                        GLuint, (GLenum shaderType)) \
     85 	X(glCreateTextures,                      void,   (GLenum target, GLsizei n, GLuint *textures)) \
     86 	X(glCreateVertexArrays,                  void,   (GLsizei n, GLuint *arrays)) \
     87 	X(glDebugMessageCallback,                void,   (void (*)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, const void *user), void *user)) \
     88 	X(glDeleteBuffers,                       void,   (GLsizei n, const GLuint *buffers)) \
     89 	X(glDeleteProgram,                       void,   (GLuint program)) \
     90 	X(glDeleteShader,                        void,   (GLuint shader)) \
     91 	X(glDispatchCompute,                     void,   (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)) \
     92 	X(glEndQuery,                            void,   (GLenum target)) \
     93 	X(glEnableVertexArrayAttrib,             void,   (GLuint vao, GLuint index)) \
     94 	X(glGenerateTextureMipmap,               void,   (GLuint texture)) \
     95 	X(glGetProgramInfoLog,                   void,   (GLuint program, GLsizei maxLength, GLsizei *length, GLchar *infoLog)) \
     96 	X(glGetProgramiv,                        void,   (GLuint program, GLenum pname, GLint *params)) \
     97 	X(glGetQueryObjectui64v,                 void,   (GLuint id, GLenum pname, GLuint64 *params)) \
     98 	X(glGetShaderInfoLog,                    void,   (GLuint shader, GLsizei maxLength, GLsizei *length, GLchar *infoLog)) \
     99 	X(glGetShaderiv,                         void,   (GLuint shader, GLenum pname, GLint *params)) \
    100 	X(glGetTextureImage,                     void,   (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels)) \
    101 	X(glLinkProgram,                         void,   (GLuint program)) \
    102 	X(glMemoryBarrier,                       void,   (GLbitfield barriers)) \
    103 	X(glNamedBufferData,                     void,   (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage)) \
    104 	X(glNamedBufferStorage,                  void,   (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags)) \
    105 	X(glNamedBufferSubData,                  void,   (GLuint buffer, GLintptr offset, GLsizei size, const void *data)) \
    106 	X(glNamedFramebufferRenderbuffer,        void,   (GLuint fb, GLenum attachment, GLenum renderbuffertarget, GLuint rb)) \
    107 	X(glNamedFramebufferTexture,             void,   (GLuint fb, GLenum attachment, GLuint texture, GLint level)) \
    108 	X(glNamedRenderbufferStorageMultisample, void,   (GLuint rb, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) \
    109 	X(glObjectLabel,                         void,   (GLenum identifier, GLuint name, GLsizei length, const char *label)) \
    110 	X(glProgramUniform1f,                    void,   (GLuint program, GLint location, GLfloat v0)) \
    111 	X(glProgramUniform1i,                    void,   (GLuint program, GLint location, GLint v0)) \
    112 	X(glProgramUniform1ui,                   void,   (GLuint program, GLint location, GLuint v0)) \
    113 	X(glProgramUniform3iv,                   void,   (GLuint program, GLint location, GLsizei count, const GLint *value)) \
    114 	X(glProgramUniform4fv,                   void,   (GLuint program, GLint location, GLsizei count, const GLfloat *value)) \
    115 	X(glProgramUniformMatrix4fv,             void,   (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value)) \
    116 	X(glQueryCounter,                        void,   (GLuint id, GLenum target)) \
    117 	X(glShaderSource,                        void,   (GLuint shader, GLsizei count, const GLchar **strings, const GLint *lengths)) \
    118 	X(glTextureParameteri,                   void,   (GLuint texture, GLenum pname, GLint param)) \
    119 	X(glTextureParameterfv,                  void,   (GLuint texture, GLenum pname, const GLfloat *param)) \
    120 	X(glTextureStorage1D,                    void,   (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width)) \
    121 	X(glTextureStorage2D,                    void,   (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)) \
    122 	X(glTextureStorage3D,                    void,   (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)) \
    123 	X(glTextureSubImage1D,                   void,   (GLuint texture, GLint level, GLint xoff, GLsizei width, GLenum format, GLenum type, const void *pix)) \
    124 	X(glTextureSubImage2D,                   void,   (GLuint texture, GLint level, GLint xoff, GLint yoff, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pix)) \
    125 	X(glTextureSubImage3D,                   void,   (GLuint texture, GLint level, GLint xoff, GLint yoff, GLint zoff, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pix)) \
    126 	X(glUseProgram,                          void,   (GLuint program)) \
    127 	X(glVertexArrayAttribBinding,            void,   (GLuint vao, GLuint attribindex, GLuint bindingindex)) \
    128 	X(glVertexArrayAttribFormat,             void,   (GLuint vao, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)) \
    129 	X(glVertexArrayElementBuffer,            void,   (GLuint vao, GLuint buffer)) \
    130 	X(glVertexArrayVertexBuffer,             void,   (GLuint vao, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride))
    131 
    132 #define X(name, ret, params) typedef ret name##_fn params;
    133 OGLProcedureList
    134 #undef X
    135 #define X(name, ret, params) DEBUG_IMPORT name##_fn *name;
    136 OGLProcedureList
    137 #undef X
    138 
    139 #endif /* _OPENGL_H_*/