diff options
author | Christian König <[email protected]> | 2011-03-26 12:36:01 +0100 |
---|---|---|
committer | Christian König <[email protected]> | 2011-03-26 12:36:01 +0100 |
commit | 7f426615ab308de508f672567094b8b21d836a9b (patch) | |
tree | b44610a77761deaa82e9c09d16e24492aa41477d /src/gallium/state_trackers/xorg | |
parent | 9a59f22d114e11a84c99609013ffe00f709c998b (diff) |
[g3dvl] fully implement paletted subpictures
Diffstat (limited to 'src/gallium/state_trackers/xorg')
-rw-r--r-- | src/gallium/state_trackers/xorg/xvmc/subpicture.c | 8 | ||||
-rw-r--r-- | src/gallium/state_trackers/xorg/xvmc/surface.c | 4 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/gallium/state_trackers/xorg/xvmc/subpicture.c b/src/gallium/state_trackers/xorg/xvmc/subpicture.c index f2bb845cb7a..da9e87f50dd 100644 --- a/src/gallium/state_trackers/xorg/xvmc/subpicture.c +++ b/src/gallium/state_trackers/xorg/xvmc/subpicture.c @@ -226,15 +226,15 @@ Status XvMCCreateSubpicture(Display *dpy, XvMCContext *context, XvMCSubpicture * case FOURCC_AI44: sampler_templ.swizzle_r = PIPE_SWIZZLE_ALPHA; - sampler_templ.swizzle_g = PIPE_SWIZZLE_ALPHA; - sampler_templ.swizzle_b = PIPE_SWIZZLE_ALPHA; + sampler_templ.swizzle_g = PIPE_SWIZZLE_ZERO; + sampler_templ.swizzle_b = PIPE_SWIZZLE_ZERO; sampler_templ.swizzle_a = PIPE_SWIZZLE_RED; break; case FOURCC_IA44: sampler_templ.swizzle_r = PIPE_SWIZZLE_RED; - sampler_templ.swizzle_g = PIPE_SWIZZLE_RED; - sampler_templ.swizzle_b = PIPE_SWIZZLE_RED; + sampler_templ.swizzle_g = PIPE_SWIZZLE_ZERO; + sampler_templ.swizzle_b = PIPE_SWIZZLE_ZERO; sampler_templ.swizzle_a = PIPE_SWIZZLE_ALPHA; break; diff --git a/src/gallium/state_trackers/xorg/xvmc/surface.c b/src/gallium/state_trackers/xorg/xvmc/surface.c index 6fb19124867..b3b594125a2 100644 --- a/src/gallium/state_trackers/xorg/xvmc/surface.c +++ b/src/gallium/state_trackers/xorg/xvmc/surface.c @@ -449,13 +449,13 @@ Status XvMCPutSurface(Display *dpy, XvMCSurface *surface, Drawable drawable, XVMC_MSG(XVMC_TRACE, "[XvMC] Surface %p has subpicture %p.\n", surface, surface_priv->subpicture); assert(subpicture_priv->surface == surface); - vpipe->set_picture_layers(vpipe, &subpicture_priv->sampler, src_rects, dst_rects, 1); + vpipe->set_picture_layers(vpipe, &subpicture_priv->sampler, &subpicture_priv->palette, src_rects, dst_rects, 1); surface_priv->subpicture = NULL; subpicture_priv->surface = NULL; } else - vpipe->set_picture_layers(vpipe, NULL, NULL, NULL, 0); + vpipe->set_picture_layers(vpipe, NULL, NULL, NULL, NULL, 0); unmap_and_flush_surface(surface_priv); vpipe->render_picture(vpipe, surface_priv->pipe_buffer, &src_rect, PictureToPipe(flags), |