mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-19 20:08:06 +02:00
vdpau: implement VDPAU_DUMP option
This commit is contained in:
parent
c87b83d4b2
commit
ffcf287aa2
1 changed files with 17 additions and 0 deletions
|
|
@ -25,6 +25,8 @@
|
|||
*
|
||||
**************************************************************************/
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "vdpau_private.h"
|
||||
#include <vdpau/vdpau.h>
|
||||
#include <util/u_debug.h>
|
||||
|
|
@ -131,6 +133,8 @@ vlVdpPresentationQueueDisplay(VdpPresentationQueue presentation_queue,
|
|||
uint32_t clip_height,
|
||||
VdpTime earliest_presentation_time)
|
||||
{
|
||||
static int dump_window = -1;
|
||||
|
||||
vlVdpPresentationQueue *pq;
|
||||
vlVdpOutputSurface *surf;
|
||||
struct pipe_surface *drawable_surface;
|
||||
|
|
@ -160,6 +164,19 @@ vlVdpPresentationQueueDisplay(VdpPresentationQueue presentation_queue,
|
|||
vl_contextprivate_get(pq->device->context, drawable_surface)
|
||||
);
|
||||
|
||||
if(dump_window == -1) {
|
||||
dump_window = debug_get_num_option("VDPAU_DUMP", 0);
|
||||
}
|
||||
|
||||
if(dump_window) {
|
||||
static unsigned int framenum = 0;
|
||||
char cmd[256];
|
||||
|
||||
sprintf(cmd, "xwd -id %d -out vdpau_frame_%08d.xwd", (int)pq->drawable, ++framenum);
|
||||
if (system(cmd) != 0)
|
||||
_debug_printf("[XvMC] Dumping surface %d failed.\n", surface);
|
||||
}
|
||||
|
||||
return VDP_STATUS_OK;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue