summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gallium/state_trackers/vdpau/mixer.c7
-rw-r--r--src/gallium/state_trackers/vdpau/vdpau_private.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/src/gallium/state_trackers/vdpau/mixer.c b/src/gallium/state_trackers/vdpau/mixer.c
index 808ff9e9ce8..86ac099a7d8 100644
--- a/src/gallium/state_trackers/vdpau/mixer.c
+++ b/src/gallium/state_trackers/vdpau/mixer.c
@@ -39,8 +39,9 @@ vlVdpVideoMixerCreate(VdpDevice device,
void const *const *parameter_values,
VdpVideoMixer *mixer)
{
- VdpStatus ret;
vlVdpVideoMixer *vmixer = NULL;
+ struct pipe_video_context *context;
+ VdpStatus ret;
debug_printf("[VDPAU] Creating VideoMixer\n");
@@ -48,11 +49,15 @@ vlVdpVideoMixerCreate(VdpDevice device,
if (!dev)
return VDP_STATUS_INVALID_HANDLE;
+ context = dev->context->vpipe;
+
vmixer = CALLOC(1, sizeof(vlVdpVideoMixer));
if (!vmixer)
return VDP_STATUS_RESOURCES;
vmixer->device = dev;
+ vmixer->compositor = context->create_compositor(context);
+
/*
* TODO: Handle features and parameters
* */
diff --git a/src/gallium/state_trackers/vdpau/vdpau_private.h b/src/gallium/state_trackers/vdpau/vdpau_private.h
index f1f94ea92ac..25f289aa726 100644
--- a/src/gallium/state_trackers/vdpau/vdpau_private.h
+++ b/src/gallium/state_trackers/vdpau/vdpau_private.h
@@ -189,6 +189,7 @@ typedef struct
typedef struct
{
vlVdpDevice *device;
+ struct pipe_video_compositor *compositor;
} vlVdpVideoMixer;
typedef struct