Skip to content

Commit

Permalink
gl: add necessary padding bytes to all public structs
Browse files Browse the repository at this point in the history
  • Loading branch information
ystreet authored and tp-m committed Dec 9, 2017
1 parent 7cbac97 commit 1e8c7e0
Show file tree
Hide file tree
Showing 20 changed files with 113 additions and 16 deletions.
2 changes: 1 addition & 1 deletion gst-libs/gst/gl/gstglbasefilter.h
Expand Up @@ -58,7 +58,7 @@ struct _GstGLBaseFilter
GstCaps *out_caps;

/* <private> */
gpointer _padding[GST_PADDING];
gpointer _padding[GST_PADDING];

GstGLBaseFilterPrivate *priv;
};
Expand Down
16 changes: 13 additions & 3 deletions gst-libs/gst/gl/gstglbasememory.h
Expand Up @@ -112,6 +112,8 @@ struct _GstGLBaseMemory

GDestroyNotify notify;
gpointer user_data;

gpointer _padding[GST_PADDING];
};

typedef struct _GstGLAllocationParams GstGLAllocationParams;
Expand Down Expand Up @@ -174,6 +176,9 @@ struct _GstGLAllocationParams
gpointer wrapped_data;
/* GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE only */
gpointer gl_handle;

/* <private> */
gpointer _padding[GST_PADDING];
};

gboolean gst_gl_allocation_params_init (GstGLAllocationParams * params,
Expand Down Expand Up @@ -293,6 +298,8 @@ struct _GstGLBaseMemoryAllocator
/*< private >*/
GstAllocator parent;
GstMemoryCopyFunction fallback_mem_copy;

gpointer _padding[GST_PADDING];
};

/**
Expand All @@ -315,13 +322,16 @@ struct _GstGLBaseMemoryAllocatorClass

GstGLBaseMemoryAllocatorCreateFunction create;
GstGLBaseMemoryAllocatorMapFunction map;
GstGLBaseMemoryAllocatorUnmapFunction unmap;
GstGLBaseMemoryAllocatorCopyFunction copy;
GstGLBaseMemoryAllocatorDestroyFunction destroy;
#if 0
GstGLBaseMemoryAllocatorFlushFunction flush; /* make CPU writes visible to the GPU */
GstGLBaseMemoryAllocatorInvalidateFunction invalidate; /* make GPU writes visible to the CPU */
#endif
GstGLBaseMemoryAllocatorUnmapFunction unmap;
GstGLBaseMemoryAllocatorCopyFunction copy;
GstGLBaseMemoryAllocatorDestroyFunction destroy;

/* <private> */
gpointer _padding[GST_PADDING];
};

#include <gst/gl/gl.h>
Expand Down
9 changes: 9 additions & 0 deletions gst-libs/gst/gl/gstglbuffer.h
Expand Up @@ -74,6 +74,9 @@ struct _GstGLBufferAllocationParams

guint gl_target;
guint gl_usage;

/* <private> */
gpointer _padding[GST_PADDING];
};

GstGLBufferAllocationParams * gst_gl_buffer_allocation_params_new (GstGLContext * context,
Expand All @@ -90,6 +93,9 @@ GstGLBufferAllocationParams * gst_gl_buffer_allocation_params_new (GstGLCo
struct _GstGLBufferAllocator
{
GstGLBaseMemoryAllocator parent;

/* <private> */
gpointer _padding[GST_PADDING];
};

/**
Expand All @@ -100,6 +106,9 @@ struct _GstGLBufferAllocator
struct _GstGLBufferAllocatorClass
{
GstGLBaseMemoryAllocatorClass parent_class;

/* <private> */
gpointer _padding[GST_PADDING];
};

#define GST_CAPS_FEATURE_MEMORY_GL_BUFFER "memory:GLBuffer"
Expand Down
6 changes: 6 additions & 0 deletions gst-libs/gst/gl/gstglbufferpool.h
Expand Up @@ -47,7 +47,10 @@ struct _GstGLBufferPool

GstGLContext *context;

/* <private> */
GstGLBufferPoolPrivate *priv;

gpointer _padding[GST_PADDING];
};

/**
Expand All @@ -58,6 +61,9 @@ struct _GstGLBufferPool
struct _GstGLBufferPoolClass
{
GstBufferPoolClass parent_class;

/* <private> */
gpointer _padding[GST_PADDING];
};

GstBufferPool *gst_gl_buffer_pool_new (GstGLContext * context);
Expand Down
3 changes: 3 additions & 0 deletions gst-libs/gst/gl/gstglcolorconvert.h
Expand Up @@ -76,6 +76,9 @@ struct _GstGLColorConvert
struct _GstGLColorConvertClass
{
GstObjectClass object_class;

/* <private> */
gpointer _padding[GST_PADDING];
};

/**
Expand Down
6 changes: 3 additions & 3 deletions gst-libs/gst/gl/gstglcontext.h
Expand Up @@ -69,17 +69,17 @@ typedef enum
* Opaque #GstGLContext object
*/
struct _GstGLContext {
/*< private >*/
GstObject parent;

GstGLDisplay *display;
GstGLWindow *window;

GstGLFuncs *gl_vtable;

gpointer _reserved[GST_PADDING];

/*< private >*/
GstGLContextPrivate *priv;

gpointer _reserved[GST_PADDING];
};

/**
Expand Down
2 changes: 2 additions & 0 deletions gst-libs/gst/gl/gstgldebug.h
Expand Up @@ -51,6 +51,8 @@ struct _GstGLAsyncDebug
GstGLAsyncDebugLogGetMessage callback;
gpointer user_data;
GDestroyNotify notify;

gpointer _padding[GST_PADDING];
};

GstGLAsyncDebug * gst_gl_async_debug_new (void);
Expand Down
3 changes: 3 additions & 0 deletions gst-libs/gst/gl/gstgldisplay.h
Expand Up @@ -85,6 +85,9 @@ struct _GstGLDisplayClass
GstObjectClass object_class;

guintptr (*get_handle) (GstGLDisplay * display);

/* <private> */
gpointer _padding[GST_PADDING];
};

GstGLDisplay *gst_gl_display_new (void);
Expand Down
6 changes: 3 additions & 3 deletions gst-libs/gst/gl/gstglfeature.h
Expand Up @@ -40,8 +40,8 @@
*
*/

#ifndef __COGL_FEATURE_PRIVATE_H
#define __COGL_FEATURE_PRIVATE_H
#ifndef __GST_GL_FEATURE_H__
#define __GST_GL_FEATURE_H__

#include <gst/gst.h>

Expand Down Expand Up @@ -113,4 +113,4 @@ _gst_gl_feature_check_ext_functions (GstGLContext *context,

G_END_DECLS

#endif /* __COGL_FEATURE_PRIVATE_H */
#endif /* __GST_GL_FEATURE_H__ */
4 changes: 4 additions & 0 deletions gst-libs/gst/gl/gstglfilter.h
Expand Up @@ -81,6 +81,8 @@ struct _GstGLFilter
GLuint vertex_buffer;
GLint draw_attr_position_loc;
GLint draw_attr_texture_loc;

gpointer _padding[GST_PADDING];
};

/**
Expand Down Expand Up @@ -114,6 +116,8 @@ struct _GstGLFilterClass
/* useful to init and cleanup custom gl resources */
void (*display_init_cb) (GstGLFilter *filter);
void (*display_reset_cb) (GstGLFilter *filter);

gpointer _padding[GST_PADDING];
};

gboolean gst_gl_filter_filter_texture (GstGLFilter * filter, GstBuffer * inbuf,
Expand Down
6 changes: 5 additions & 1 deletion gst-libs/gst/gl/gstglframebuffer.h
Expand Up @@ -49,18 +49,22 @@ struct _GstGLFramebuffer
{
GstObject object;

/* <private> */
GstGLContext *context;

/* <private> */
guint fbo_id;
GArray *attachments;

gpointer _padding[GST_PADDING];

GstGLFramebufferPrivate *priv;
};

struct _GstGLFramebufferClass
{
GstObjectClass object_class;

gpointer _padding[GST_PADDING];
};

GstGLFramebuffer * gst_gl_framebuffer_new (GstGLContext *context);
Expand Down
12 changes: 12 additions & 0 deletions gst-libs/gst/gl/gstglmemory.h
Expand Up @@ -78,6 +78,9 @@ struct _GstGLMemory
gboolean texture_wrapped;
guint unpack_length;
guint tex_width;

/* <private> */
gpointer _padding[GST_PADDING];
};

typedef struct _GstGLVideoAllocationParams GstGLVideoAllocationParams;
Expand All @@ -93,6 +96,9 @@ struct _GstGLVideoAllocationParams
GstVideoAlignment *valign;
GstGLTextureTarget target;
GstVideoGLTextureType tex_type;

/* <private> */
gpointer _padding[GST_PADDING];
};

gboolean gst_gl_video_allocation_params_init_full (GstGLVideoAllocationParams * params,
Expand Down Expand Up @@ -165,6 +171,9 @@ void gst_gl_video_allocation_params_copy_data (GstGLVideoAllocatio
struct _GstGLMemoryAllocator
{
GstGLBaseMemoryAllocator parent;

/* <private> */
gpointer _padding[GST_PADDING];
};

/**
Expand All @@ -179,6 +188,9 @@ struct _GstGLMemoryAllocatorClass
GstGLBaseMemoryAllocatorMapFunction map;
GstGLBaseMemoryAllocatorCopyFunction copy;
GstGLBaseMemoryAllocatorUnmapFunction unmap;

/* <private> */
gpointer _padding[GST_PADDING];
};

#include <gst/gl/gstglbasememory.h>
Expand Down
9 changes: 9 additions & 0 deletions gst-libs/gst/gl/gstglmemorypbo.h
Expand Up @@ -52,6 +52,9 @@ struct _GstGLMemoryPBO

/* <private> */
GstGLBuffer *pbo;

/* <private> */
gpointer _padding[GST_PADDING];
};

/**
Expand Down Expand Up @@ -84,6 +87,9 @@ gboolean gst_gl_memory_pbo_copy_into_texture (GstGLMemoryPBO *gl_mem,
struct _GstGLMemoryPBOAllocator
{
GstGLMemoryAllocator parent;

/* <private> */
gpointer _padding[GST_PADDING];
};

/**
Expand All @@ -94,6 +100,9 @@ struct _GstGLMemoryPBOAllocator
struct _GstGLMemoryPBOAllocatorClass
{
GstGLMemoryAllocatorClass parent_class;

/* <private> */
gpointer _padding[GST_PADDING];
};

G_END_DECLS
Expand Down
8 changes: 8 additions & 0 deletions gst-libs/gst/gl/gstgloverlaycompositor.h
Expand Up @@ -43,7 +43,10 @@ GType gst_gl_overlay_compositor_get_type (void);
struct _GstGLOverlayCompositor
{
GstObject parent;

GstGLContext *context;

/* <private> */
guint last_window_width;
guint last_window_height;

Expand All @@ -52,6 +55,8 @@ struct _GstGLOverlayCompositor
GstGLShader *shader;
GLint position_attrib;
GLint texcoord_attrib;

gpointer _padding[GST_PADDING];
};

/**
Expand All @@ -61,6 +66,9 @@ struct _GstGLOverlayCompositor
struct _GstGLOverlayCompositorClass
{
GstObjectClass object_class;

/* <private> */
gpointer _padding[GST_PADDING];
};

GstGLOverlayCompositor *gst_gl_overlay_compositor_new (GstGLContext * context);
Expand Down
3 changes: 3 additions & 0 deletions gst-libs/gst/gl/gstglquery.h
Expand Up @@ -42,6 +42,9 @@ struct _GstGLQuery

gboolean start_called;
GstGLAsyncDebug debug;

/* <private> */
gpointer _padding[GST_PADDING];
};

void gst_gl_query_init (GstGLQuery * query,
Expand Down
12 changes: 12 additions & 0 deletions gst-libs/gst/gl/gstglrenderbuffer.h
Expand Up @@ -69,6 +69,9 @@ struct _GstGLRenderbuffer

/* <protected> */
gboolean renderbuffer_wrapped;

/* <private> */
gpointer _padding[GST_PADDING];
};

/**
Expand All @@ -79,6 +82,9 @@ struct _GstGLRenderbuffer
struct _GstGLRenderbufferAllocator
{
GstGLBaseMemoryAllocator parent;

/* <private> */
gpointer _padding[GST_PADDING];
};

/**
Expand All @@ -89,6 +95,9 @@ struct _GstGLRenderbufferAllocator
struct _GstGLRenderbufferAllocatorClass
{
GstGLBaseMemoryAllocatorClass parent_class;

/* <private> */
gpointer _padding[GST_PADDING];
};

#include <gst/gl/gstglbasememory.h>
Expand All @@ -100,6 +109,9 @@ typedef struct
GstVideoGLTextureType renderbuffer_type;
guint width;
guint height;

/* <private> */
gpointer _padding[GST_PADDING];
} GstGLRenderbufferAllocationParams;

GstGLRenderbufferAllocationParams * gst_gl_renderbuffer_allocation_params_new (GstGLContext * context,
Expand Down
5 changes: 3 additions & 2 deletions gst-libs/gst/gl/gstglshader.h
Expand Up @@ -34,12 +34,13 @@ GType gst_gl_shader_get_type (void);
#define GST_IS_GL_SHADER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE((k), GST_GL_TYPE_SHADER))
#define GST_GL_SHADER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GST_GL_TYPE_SHADER, GstGLShaderClass))

struct _GstGLShader {
/*< private >*/
struct _GstGLShader
{
GstObject parent;

GstGLContext *context;

/*< private >*/
GstGLShaderPrivate *priv;

gpointer _padding[GST_PADDING];
Expand Down

0 comments on commit 1e8c7e0

Please sign in to comment.