diff options
author | Søren Sandmann Pedersen <ssp@redhat.com> | 2011-04-08 16:40:01 -0400 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2011-04-20 07:07:26 -0400 |
commit | 0a9a7718c55e1e96038a72502550afbbadf13c4c (patch) | |
tree | e36953e24ddcd168aa898c3a528fb01f65a38566 | |
parent | d40107a79b2722cecfa90908863631452af51ef8 (diff) |
More filters
-rw-r--r-- | hw/xfree86/modes/xf86Crtc.c | 2 | ||||
-rw-r--r-- | hw/xfree86/modes/xf86Crtc.h | 2 | ||||
-rw-r--r-- | hw/xfree86/modes/xf86Rotate.c | 16 | ||||
-rw-r--r-- | miext/cw/cw_render.c | 10 | ||||
-rw-r--r-- | render/filter.c | 41 | ||||
-rw-r--r-- | render/picture.c | 12 | ||||
-rw-r--r-- | render/picturestr.h | 12 |
7 files changed, 11 insertions, 84 deletions
diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c index c2814d4cd..286911ee8 100644 --- a/hw/xfree86/modes/xf86Crtc.c +++ b/hw/xfree86/modes/xf86Crtc.c @@ -106,7 +106,7 @@ xf86CrtcCreate (ScrnInfoPtr scrn, pixman_transform_init_identity (&crtc->crtc_to_framebuffer); pixman_f_transform_init_identity (&crtc->f_crtc_to_framebuffer); pixman_f_transform_init_identity (&crtc->f_framebuffer_to_crtc); - crtc->filter = NULL; + crtc->filter = PictFilterNearest; crtc->params = NULL; crtc->nparams = 0; crtc->filter_width = 0; diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h index 68a968cc2..4157ca0e4 100644 --- a/hw/xfree86/modes/xf86Crtc.h +++ b/hw/xfree86/modes/xf86Crtc.h @@ -316,7 +316,7 @@ struct _xf86Crtc { /* framebuffer_to_crtc was removed in ABI 2 */ struct pict_f_transform f_crtc_to_framebuffer; /* ABI 2 */ struct pict_f_transform f_framebuffer_to_crtc; /* ABI 2 */ - PictFilterPtr filter; /* ABI 2 */ + PictFilterType filter; /* ABI 2 */ xFixed *params; /* ABI 2 */ int nparams; /* ABI 2 */ int filter_width; /* ABI 2 */ diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c index 57c3499ac..00d16f206 100644 --- a/hw/xfree86/modes/xf86Rotate.c +++ b/hw/xfree86/modes/xf86Rotate.c @@ -108,7 +108,7 @@ xf86RotateCrtcRedisplay (xf86CrtcPtr crtc, RegionPtr region) error = SetPictureTransform (src, &crtc->crtc_to_framebuffer); if (error) return; - if (crtc->transform_in_use && crtc->filter) + if (crtc->transform_in_use) SetPicturePictFilter (src, crtc->filter, crtc->params, crtc->nparams); @@ -380,7 +380,7 @@ xf86CrtcRotate (xf86CrtcPtr crtc) struct pict_f_transform f_crtc_to_fb, f_fb_to_crtc; xFixed *new_params = NULL; int new_nparams = 0; - PictFilterPtr new_filter = NULL; + PictFilterType new_filter = PictFilterNearest; int new_width = 0; int new_height = 0; RRTransformPtr transform = NULL; @@ -408,7 +408,7 @@ xf86CrtcRotate (xf86CrtcPtr crtc) free(new_params); new_params = NULL; new_nparams = 0; - new_filter = NULL; + new_filter = PictFilterNearest; new_width = 0; new_height = 0; } @@ -471,15 +471,11 @@ xf86CrtcRotate (xf86CrtcPtr crtc) memcpy (new_params, transform->params, transform->nparams * sizeof (xFixed)); new_nparams = transform->nparams; - new_filter = transform->filter; } - } else - new_filter = transform->filter; - if (new_filter) - { - new_width = new_filter->width; - new_height = new_filter->height; } + new_filter = transform->filter; + new_width = transform->width; + new_height = transform->height; } #endif diff --git a/miext/cw/cw_render.c b/miext/cw/cw_render.c index 1f990aefa..9f154cf70 100644 --- a/miext/cw/cw_render.c +++ b/miext/cw/cw_render.c @@ -216,16 +216,10 @@ cwValidatePicture (PicturePtr pPicture, */ SetPictureTransform(pBackingPicture, pPicture->transform); - if (pBackingPicture->filter != pPicture->filter || - pPicture->filter_nparams > 0) - { - char *filter = PictureGetFilterName (pPicture->filter); - - SetPictureFilter(pBackingPicture, - filter, strlen (filter), + SetPicturePictFilter(pBackingPicture, + pPicture->filter, pPicture->filter_params, pPicture->filter_nparams); - } pPicturePrivate->stateChanges |= mask; diff --git a/render/filter.c b/render/filter.c index 26095b4e6..ec15ab3c0 100644 --- a/render/filter.c +++ b/render/filter.c @@ -39,47 +39,6 @@ #include "servermd.h" #include "picturestr.h" -static char **filterNames; -static int nfilterNames; - -/* - * standard but not required filters don't have constant indices - */ - -int -PictureGetFilterId (char *filter, int len, Bool makeit) -{ - int i; - char *name; - char **names; - - if (len < 0) - len = strlen (filter); - for (i = 0; i < nfilterNames; i++) - if (!CompareISOLatin1Lowered ((unsigned char *) filterNames[i], -1, (unsigned char *) filter, len)) - return i; - if (!makeit) - return -1; - name = malloc(len + 1); - if (!name) - return -1; - memcpy (name, filter, len); - name[len] = '\0'; - if (filterNames) - names = realloc(filterNames, (nfilterNames + 1) * sizeof (char *)); - else - names = malloc(sizeof (char *)); - if (!names) - { - free(name); - return -1; - } - filterNames = names; - i = nfilterNames++; - filterNames[i] = name; - return i; -} - typedef Bool (* ValidateParams) (PictFilterType type, xFixed *params, int nParams, int *width, int *height); diff --git a/render/picture.c b/render/picture.c index e7e1f2b41..9e020b03f 100644 --- a/render/picture.c +++ b/render/picture.c @@ -81,7 +81,6 @@ PictureCloseScreen (int index, ScreenPtr pScreen) pScreen->CloseScreen = ps->CloseScreen; ret = (*pScreen->CloseScreen) (index, pScreen); - PictureResetFilters (pScreen); for (n = 0; n < ps->nformats; n++) if (ps->formats[n].type == PictTypeIndexed) (*ps->CloseIndexed) (pScreen, &ps->formats[n]); @@ -699,15 +698,6 @@ PictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats) pScreen->CloseScreen = PictureCloseScreen; pScreen->StoreColors = PictureStoreColors; - if (!PictureSetDefaultFilters (pScreen)) - { - PictureResetFilters (pScreen); - SetPictureScreen(pScreen, 0); - free(formats); - free(ps); - return FALSE; - } - return TRUE; } @@ -735,7 +725,7 @@ SetPictureToDefaults (PicturePtr pPicture) pPicture->transform = 0; - pPicture->filter = PictureGetFilterId (FilterNearest, -1, TRUE); + pPicture->filter = PictFilterNearest; pPicture->filter_params = 0; pPicture->filter_nparams = 0; diff --git a/render/picturestr.h b/render/picturestr.h index 5ad11092c..4b9836369 100644 --- a/render/picturestr.h +++ b/render/picturestr.h @@ -448,18 +448,6 @@ PictureMatchFormat (ScreenPtr pScreen, int depth, CARD32 format); extern _X_EXPORT Bool PictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats); -extern _X_EXPORT int -PictureGetFilterId (char *filter, int len, Bool makeit); - -extern _X_EXPORT Bool -PictureSetFilterAlias (ScreenPtr pScreen, char *filter, char *alias); - -extern _X_EXPORT Bool -PictureSetDefaultFilters (ScreenPtr pScreen); - -extern _X_EXPORT void -PictureResetFilters (ScreenPtr pScreen); - const char * PictureGetFilterName (PictFilterType type); |