From: Maarten Maathuis <madman2003-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: [PATCH] exa: Flush (S)IFC to the frontbuffer immediately.
Date: Mon, 7 Feb 2011 19:37:47 +0100 [thread overview]
Message-ID: <1297103867-5718-1-git-send-email-madman2003@gmail.com> (raw)
- NV50+: This avoids high latency while typing with core fonts for example.
Signed-off-by: Maarten Maathuis <madman2003-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
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
next reply other threads:[~2011-02-07 18:37 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-07 18:37 Maarten Maathuis [this message]
[not found] ` <1297103867-5718-1-git-send-email-madman2003-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-02-07 18:38 ` [PATCH] exa: Flush (S)IFC to the frontbuffer immediately Maarten Maathuis
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1297103867-5718-1-git-send-email-madman2003@gmail.com \
--to=madman2003-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.