The reason for NV50+ is obvious, but i'm not sure NV04-NV4X should be
included for consistency or not.

On Mon, Feb 7, 2011 at 7:37 PM, Maarten Maathuis <[email protected]> wrote:
> - NV50+: This avoids high latency while typing with core fonts for example.
>
> Signed-off-by: Maarten Maathuis <[email protected]>
> ---
>  src/nv04_exa.c |    4 ++++
>  src/nv50_exa.c |    4 ++++
>  src/nvc0_exa.c |    4 ++++
>  3 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/src/nv04_exa.c b/src/nv04_exa.c
> index 267c7b5..2603bd4 100644
> --- a/src/nv04_exa.c
> +++ b/src/nv04_exa.c
> @@ -340,6 +340,7 @@ NV04EXAUploadIFC(ScrnInfoPtr pScrn, const char *src, int 
> src_pitch,
>                 PixmapPtr pDst, int x, int y, int w, int h, int cpp)
>  {
>        NVPtr pNv = NVPTR(pScrn);
> +       ScreenPtr pScreen = pDst->drawable.pScreen;
>        struct nouveau_channel *chan = pNv->chan;
>        struct nouveau_grobj *clip = pNv->NvClipRectangle;
>        struct nouveau_grobj *ifc = pNv->NvImageFromCpu;
> @@ -413,6 +414,9 @@ NV04EXAUploadIFC(ScrnInfoPtr pScrn, const char *src, int 
> src_pitch,
>        }
>
>        chan->flush_notify = NULL;
> +
> +       if (pDst == pScreen->GetScreenPixmap(pScreen))
> +               FIRE_RING(chan);
>        return TRUE;
>  }
>
> diff --git a/src/nv50_exa.c b/src/nv50_exa.c
> index e8ff5aa..85baa68 100644
> --- a/src/nv50_exa.c
> +++ b/src/nv50_exa.c
> @@ -372,6 +372,7 @@ NV50EXAUploadSIFC(const char *src, int src_pitch,
>                  PixmapPtr pdpix, int x, int y, int w, int h, int cpp)
>  {
>        NV50EXA_LOCALS(pdpix);
> +       ScreenPtr pScreen = pdpix->drawable.pScreen;
>        int line_dwords = (w * cpp + 3) / 4;
>        uint32_t sifc_fmt;
>
> @@ -428,6 +429,9 @@ NV50EXAUploadSIFC(const char *src, int src_pitch,
>        }
>
>        chan->flush_notify = NULL;
> +
> +       if (pdpix == pScreen->GetScreenPixmap(pScreen))
> +               FIRE_RING(chan);
>        return TRUE;
>  }
>
> diff --git a/src/nvc0_exa.c b/src/nvc0_exa.c
> index 45647ce..85cb5d2 100644
> --- a/src/nvc0_exa.c
> +++ b/src/nvc0_exa.c
> @@ -550,6 +550,7 @@ NVC0EXAUploadSIFC(const char *src, int src_pitch,
>                  PixmapPtr pdpix, int x, int y, int w, int h, int cpp)
>  {
>        NVC0EXA_LOCALS(pdpix);
> +       ScreenPtr pScreen = pdpix->drawable.pScreen;
>        int line_dwords = (w * cpp + 3) / 4;
>        uint32_t sifc_fmt;
>
> @@ -608,6 +609,9 @@ NVC0EXAUploadSIFC(const char *src, int src_pitch,
>        }
>
>        chan->flush_notify = NULL;
> +
> +       if (pdpix == pScreen->GetScreenPixmap(pScreen))
> +               FIRE_RING(chan);
>        return TRUE;
>  }
>
> --
> 1.7.4.rc3
>
>



-- 
Far away from the primal instinct, the song seems to fade away, the
river get wider between your thoughts and the things we do and say.
_______________________________________________
Nouveau mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to