mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
gl: add necessary padding bytes to all public structs
This commit is contained in:
parent
28a5826fa4
commit
c200e47ef8
20 changed files with 113 additions and 16 deletions
|
@ -112,6 +112,8 @@ struct _GstGLBaseMemory
|
|||
|
||||
GDestroyNotify notify;
|
||||
gpointer user_data;
|
||||
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
typedef struct _GstGLAllocationParams GstGLAllocationParams;
|
||||
|
@ -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,
|
||||
|
@ -293,6 +298,8 @@ struct _GstGLBaseMemoryAllocator
|
|||
/*< private >*/
|
||||
GstAllocator parent;
|
||||
GstMemoryCopyFunction fallback_mem_copy;
|
||||
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -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>
|
||||
|
|
|
@ -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,
|
||||
|
@ -90,6 +93,9 @@ GstGLBufferAllocationParams * gst_gl_buffer_allocation_params_new (GstGLCo
|
|||
struct _GstGLBufferAllocator
|
||||
{
|
||||
GstGLBaseMemoryAllocator parent;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -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"
|
||||
|
|
|
@ -47,7 +47,10 @@ struct _GstGLBufferPool
|
|||
|
||||
GstGLContext *context;
|
||||
|
||||
/* <private> */
|
||||
GstGLBufferPoolPrivate *priv;
|
||||
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -58,6 +61,9 @@ struct _GstGLBufferPool
|
|||
struct _GstGLBufferPoolClass
|
||||
{
|
||||
GstBufferPoolClass parent_class;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
GstBufferPool *gst_gl_buffer_pool_new (GstGLContext * context);
|
||||
|
|
|
@ -76,6 +76,9 @@ struct _GstGLColorConvert
|
|||
struct _GstGLColorConvertClass
|
||||
{
|
||||
GstObjectClass object_class;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -69,7 +69,6 @@ typedef enum
|
|||
* Opaque #GstGLContext object
|
||||
*/
|
||||
struct _GstGLContext {
|
||||
/*< private >*/
|
||||
GstObject parent;
|
||||
|
||||
GstGLDisplay *display;
|
||||
|
@ -77,9 +76,10 @@ struct _GstGLContext {
|
|||
|
||||
GstGLFuncs *gl_vtable;
|
||||
|
||||
gpointer _reserved[GST_PADDING];
|
||||
|
||||
/*< private >*/
|
||||
GstGLContextPrivate *priv;
|
||||
|
||||
gpointer _reserved[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
|
@ -51,6 +51,8 @@ struct _GstGLAsyncDebug
|
|||
GstGLAsyncDebugLogGetMessage callback;
|
||||
gpointer user_data;
|
||||
GDestroyNotify notify;
|
||||
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
GstGLAsyncDebug * gst_gl_async_debug_new (void);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
@ -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__ */
|
||||
|
|
|
@ -81,6 +81,8 @@ struct _GstGLFilter
|
|||
GLuint vertex_buffer;
|
||||
GLint draw_attr_position_loc;
|
||||
GLint draw_attr_texture_loc;
|
||||
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -78,6 +78,9 @@ struct _GstGLMemory
|
|||
gboolean texture_wrapped;
|
||||
guint unpack_length;
|
||||
guint tex_width;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
typedef struct _GstGLVideoAllocationParams GstGLVideoAllocationParams;
|
||||
|
@ -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,
|
||||
|
@ -165,6 +171,9 @@ void gst_gl_video_allocation_params_copy_data (GstGLVideoAllocatio
|
|||
struct _GstGLMemoryAllocator
|
||||
{
|
||||
GstGLBaseMemoryAllocator parent;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -179,6 +188,9 @@ struct _GstGLMemoryAllocatorClass
|
|||
GstGLBaseMemoryAllocatorMapFunction map;
|
||||
GstGLBaseMemoryAllocatorCopyFunction copy;
|
||||
GstGLBaseMemoryAllocatorUnmapFunction unmap;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
#include <gst/gl/gstglbasememory.h>
|
||||
|
|
|
@ -52,6 +52,9 @@ struct _GstGLMemoryPBO
|
|||
|
||||
/* <private> */
|
||||
GstGLBuffer *pbo;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -84,6 +87,9 @@ gboolean gst_gl_memory_pbo_copy_into_texture (GstGLMemoryPBO *gl_mem,
|
|||
struct _GstGLMemoryPBOAllocator
|
||||
{
|
||||
GstGLMemoryAllocator parent;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -94,6 +100,9 @@ struct _GstGLMemoryPBOAllocator
|
|||
struct _GstGLMemoryPBOAllocatorClass
|
||||
{
|
||||
GstGLMemoryAllocatorClass parent_class;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
G_END_DECLS
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
@ -52,6 +55,8 @@ struct _GstGLOverlayCompositor
|
|||
GstGLShader *shader;
|
||||
GLint position_attrib;
|
||||
GLint texcoord_attrib;
|
||||
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -61,6 +66,9 @@ struct _GstGLOverlayCompositor
|
|||
struct _GstGLOverlayCompositorClass
|
||||
{
|
||||
GstObjectClass object_class;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
GstGLOverlayCompositor *gst_gl_overlay_compositor_new (GstGLContext * context);
|
||||
|
|
|
@ -42,6 +42,9 @@ struct _GstGLQuery
|
|||
|
||||
gboolean start_called;
|
||||
GstGLAsyncDebug debug;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
void gst_gl_query_init (GstGLQuery * query,
|
||||
|
|
|
@ -69,6 +69,9 @@ struct _GstGLRenderbuffer
|
|||
|
||||
/* <protected> */
|
||||
gboolean renderbuffer_wrapped;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -79,6 +82,9 @@ struct _GstGLRenderbuffer
|
|||
struct _GstGLRenderbufferAllocator
|
||||
{
|
||||
GstGLBaseMemoryAllocator parent;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -89,6 +95,9 @@ struct _GstGLRenderbufferAllocator
|
|||
struct _GstGLRenderbufferAllocatorClass
|
||||
{
|
||||
GstGLBaseMemoryAllocatorClass parent_class;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
#include <gst/gl/gstglbasememory.h>
|
||||
|
@ -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,
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -39,11 +39,11 @@ G_BEGIN_DECLS
|
|||
*/
|
||||
struct _GstGLSLStage
|
||||
{
|
||||
/*< private >*/
|
||||
GstObject parent;
|
||||
|
||||
GstGLContext *context;
|
||||
|
||||
/*< private >*/
|
||||
GstGLSLStagePrivate *priv;
|
||||
|
||||
gpointer _padding[GST_PADDING];
|
||||
|
@ -56,8 +56,10 @@ struct _GstGLSLStage
|
|||
*/
|
||||
struct _GstGLSLStageClass
|
||||
{
|
||||
/*< private >*/
|
||||
GstObjectClass parent;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
GType gst_glsl_stage_get_type (void);
|
||||
|
|
|
@ -59,11 +59,11 @@ typedef enum
|
|||
*/
|
||||
struct _GstGLUpload
|
||||
{
|
||||
/* <private> */
|
||||
GstObject parent;
|
||||
|
||||
GstGLContext *context;
|
||||
|
||||
/* <private> */
|
||||
GstGLUploadPrivate *priv;
|
||||
|
||||
gpointer _reserved[GST_PADDING];
|
||||
|
@ -77,6 +77,9 @@ struct _GstGLUpload
|
|||
struct _GstGLUploadClass
|
||||
{
|
||||
GstObjectClass object_class;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
GstCaps * gst_gl_upload_get_input_template_caps (void);
|
||||
|
|
|
@ -70,12 +70,18 @@ struct _GstGLViewConvert
|
|||
|
||||
GstGLFramebuffer *fbo;
|
||||
|
||||
/* <private> */
|
||||
GstGLViewConvertPrivate *priv;
|
||||
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
struct _GstGLViewConvertClass
|
||||
{
|
||||
GstObjectClass object_class;
|
||||
|
||||
/* <private> */
|
||||
gpointer _padding[GST_PADDING];
|
||||
};
|
||||
|
||||
GType gst_gl_view_convert_get_type (void);
|
||||
|
|
Loading…
Reference in a new issue