mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-21 07:46:38 +00:00
glmemory: use the GL stride calculation also for downloading into sysmem
Allows writing into sysmem with arbitrary strides. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6795>
This commit is contained in:
parent
477beab403
commit
b0b185112d
1 changed files with 11 additions and 0 deletions
|
@ -71,6 +71,10 @@ GST_DEBUG_CATEGORY_STATIC (GST_CAT_GL_MEMORY);
|
||||||
#define GL_UNPACK_ROW_LENGTH 0x0CF2
|
#define GL_UNPACK_ROW_LENGTH 0x0CF2
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef GL_PACK_ROW_LENGTH
|
||||||
|
#define GL_PACK_ROW_LENGTH 0x0D02
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef GL_TEXTURE_RECTANGLE
|
#ifndef GL_TEXTURE_RECTANGLE
|
||||||
#define GL_TEXTURE_RECTANGLE 0x84F5
|
#define GL_TEXTURE_RECTANGLE 0x84F5
|
||||||
#endif
|
#endif
|
||||||
|
@ -459,6 +463,13 @@ gst_gl_memory_read_pixels (GstGLMemory * gl_mem, gpointer write_pointer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (USING_OPENGL (context) || USING_GLES3 (context)
|
||||||
|
|| USING_OPENGL3 (context)) {
|
||||||
|
gl->PixelStorei (GL_PACK_ROW_LENGTH, gl_mem->unpack_length);
|
||||||
|
} else if (USING_GLES2 (context)) {
|
||||||
|
gl->PixelStorei (GL_PACK_ALIGNMENT, gl_mem->unpack_length);
|
||||||
|
}
|
||||||
|
|
||||||
_gst_gl_memory_start_log (gl_mem, "glReadPixels");
|
_gst_gl_memory_start_log (gl_mem, "glReadPixels");
|
||||||
gl->ReadPixels (0, 0, gl_mem->tex_width, GL_MEM_HEIGHT (gl_mem), format,
|
gl->ReadPixels (0, 0, gl_mem->tex_width, GL_MEM_HEIGHT (gl_mem), format,
|
||||||
type, write_pointer);
|
type, write_pointer);
|
||||||
|
|
Loading…
Reference in a new issue