Mesa (master): st/vdpau: Use transfer_inline_write to upload ycbcr data

Christian König deathsimple at kemper.freedesktop.org
Tue Feb 21 10:24:34 UTC 2012


Module: Mesa
Branch: master
Commit: 0f194fc9e443ee6abd266737321655882e435970
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0f194fc9e443ee6abd266737321655882e435970

Author: Christian König <deathsimple at vodafone.de>
Date:   Fri Feb 10 12:56:27 2012 +0100

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 at vodafone.de>

---

 src/gallium/state_trackers/vdpau/surface.c |   23 +++++------------------
 1 files changed, 5 insertions(+), 18 deletions(-)

diff --git a/src/gallium/state_trackers/vdpau/surface.c b/src/gallium/state_trackers/vdpau/surface.c
index 84467fd..a0ebe00 100644
--- a/src/gallium/state_trackers/vdpau/surface.c
+++ b/src/gallium/state_trackers/vdpau/surface.c
@@ -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);
       }
    }
 




More information about the mesa-commit mailing list