mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 03:08:05 +02:00
st/vdpau: Use transfer_inline_write to upload ycbcr data
Uses less code and looks at least a bit cleaner than mapping manually. Signed-off-by: Christian König <deathsimple@vodafone.de>
This commit is contained in:
parent
736dda82ca
commit
0f194fc9e4
1 changed files with 5 additions and 18 deletions
|
|
@ -239,24 +239,11 @@ vlVdpVideoSurfacePutBitsYCbCr(VdpVideoSurface surface,
|
|||
sv->texture->width0, sv->texture->height0, 1
|
||||
};
|
||||
|
||||
struct pipe_transfer *transfer;
|
||||
void *map;
|
||||
|
||||
transfer = pipe->get_transfer(pipe, sv->texture, 0, PIPE_TRANSFER_WRITE, &dst_box);
|
||||
if (!transfer)
|
||||
return VDP_STATUS_RESOURCES;
|
||||
|
||||
map = pipe->transfer_map(pipe, transfer);
|
||||
if (map) {
|
||||
util_copy_rect(map, sv->texture->format, transfer->stride, 0, 0,
|
||||
dst_box.width, dst_box.height,
|
||||
source_data[i] + source_pitches[i] * j,
|
||||
source_pitches[i] * sv->texture->depth0,
|
||||
0, 0);
|
||||
}
|
||||
|
||||
pipe->transfer_unmap(pipe, transfer);
|
||||
pipe->transfer_destroy(pipe, transfer);
|
||||
pipe->transfer_inline_write(pipe, sv->texture, 0,
|
||||
PIPE_TRANSFER_WRITE, &dst_box,
|
||||
source_data[i] + source_pitches[i] * j,
|
||||
source_pitches[i] * sv->texture->depth0,
|
||||
0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue