diff options
-rw-r--r-- | src/gallium/state_trackers/vdpau/mixer.c | 7 | ||||
-rw-r--r-- | src/gallium/state_trackers/vdpau/vdpau_private.h | 1 |
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 |