#include "util/u_format.h"
#include "util/u_sampler.h"
#include "util/u_rect.h"
-
-#include "vl_winsys.h"
+#include "vl/vl_winsys.h"
#include "xvmc_private.h"
subpictures = XvMCListSubpictureTypes(dpy, port, surface_type_id, &num_subpics);
if (num_subpics < 1) {
- if (subpictures)
- XFree(subpictures);
+ free(subpictures);
return BadMatch;
}
if (!subpictures)
}
}
- XFree(subpictures);
+ free(subpictures);
return i < num_subpics ? Success : BadMatch;
}
struct pipe_transfer *transfer;
void *map;
- transfer = pipe->get_transfer(pipe, dst->texture, 0, PIPE_TRANSFER_WRITE, dst_box);
- if (!transfer)
+ map = pipe->transfer_map(pipe, dst->texture, 0, PIPE_TRANSFER_WRITE,
+ dst_box, &transfer);
+ if (!map)
return;
- map = pipe->transfer_map(pipe, transfer);
- if (map) {
- util_copy_rect(map, dst->texture->format, transfer->stride, 0, 0,
- dst_box->width, dst_box->height,
- src, src_stride, src_x, src_y);
-
- pipe->transfer_unmap(pipe, transfer);
- }
+ util_copy_rect(map, dst->texture->format, transfer->stride, 0, 0,
+ dst_box->width, dst_box->height,
+ src, src_stride, src_x, src_y);
- pipe->transfer_destroy(pipe, transfer);
+ pipe->transfer_unmap(pipe, transfer);
}
PUBLIC
dst = subpicture_priv->sampler;
/* TODO: Assert clear rect is within bounds? Or clip? */
- transfer = pipe->get_transfer(pipe, dst->texture, 0, PIPE_TRANSFER_WRITE, &dst_box);
- if (!transfer)
+ map = pipe->transfer_map(pipe, dst->texture, 0, PIPE_TRANSFER_WRITE,
+ &dst_box, &transfer);
+ if (!map)
return XvMCBadSubpicture;
- map = pipe->transfer_map(pipe, transfer);
- if (map) {
- util_fill_rect(map, dst->texture->format, transfer->stride, 0, 0,
- dst_box.width, dst_box.height, &uc);
-
- pipe->transfer_unmap(pipe, transfer);
- }
-
- pipe->transfer_destroy(pipe, transfer);
+ util_fill_rect(map, dst->texture->format, transfer->stride, 0, 0,
+ dst_box.width, dst_box.height, &uc);
+ pipe->transfer_unmap(pipe, transfer);
return Success;
}
short subx, short suby, unsigned short subw, unsigned short subh,
short surfx, short surfy, unsigned short surfw, unsigned short surfh)
{
- struct pipe_video_rect src_rect = {subx, suby, subw, subh};
- struct pipe_video_rect dst_rect = {surfx, surfy, surfw, surfh};
+ struct u_rect src_rect = {subx, subx + subw, suby, suby + subh};
+ struct u_rect dst_rect = {surfx, surfx + surfw, surfy, surfy + surfh};
XvMCSurfacePrivate *surface_priv;
XvMCSubpicturePrivate *subpicture_priv;