mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 09:38:07 +02:00
meta: Use GL_STREAM_READ for pbo created with GL_PIXEL_PACK_BUFFER
create_texture_for_pbo() is used by both _mesa_meta_pbo_GetTexSubImage() and _mesa_meta_pbo_TexSubImage() functions with different PBO targets. Use GL_STREAM_READ with GL_PIXEL_PACK_BUFFER and GL_STREAM_DRAW with GL_PIXEL_UNPACK_BUFFER. Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Neil Roberts <neil@linux.intel.com>
This commit is contained in:
parent
8d6ae49a8b
commit
618c4c4b6a
1 changed files with 7 additions and 1 deletions
|
|
@ -79,6 +79,7 @@ create_texture_for_pbo(struct gl_context *ctx, bool create_pbo,
|
|||
buffer_obj = packing->BufferObj;
|
||||
} else {
|
||||
assert(create_pbo);
|
||||
bool is_pixel_pack = pbo_target == GL_PIXEL_PACK_BUFFER;
|
||||
|
||||
_mesa_GenBuffers(1, tmp_pbo);
|
||||
|
||||
|
|
@ -88,7 +89,12 @@ create_texture_for_pbo(struct gl_context *ctx, bool create_pbo,
|
|||
*/
|
||||
_mesa_BindBuffer(pbo_target, *tmp_pbo);
|
||||
|
||||
_mesa_BufferData(pbo_target, row_stride * height, pixels, GL_STREAM_DRAW);
|
||||
if (is_pixel_pack)
|
||||
_mesa_BufferData(pbo_target, row_stride * height, pixels,
|
||||
GL_STREAM_READ);
|
||||
else
|
||||
_mesa_BufferData(pbo_target, row_stride * height, pixels,
|
||||
GL_STREAM_DRAW);
|
||||
|
||||
buffer_obj = ctx->Unpack.BufferObj;
|
||||
pixels = NULL;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue