xf86-video-intel: 2 commits - src/i965_render.c
Chris Wilson
ickle at kemper.freedesktop.org
Tue Dec 7 12:44:26 PST 2010
src/i965_render.c | 37 +++++++++++++++++--------------------
1 file changed, 17 insertions(+), 20 deletions(-)
New commits:
commit 27e33928f87ecb806d1f8c459d4a4ada76b0e30e
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Tue Dec 7 20:42:24 2010 +0000
i965: Mark sure we mark reused render targets as dirty
... or else we may forget to flush them again.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/i965_render.c b/src/i965_render.c
index 3141394..ebaa10e 100644
--- a/src/i965_render.c
+++ b/src/i965_render.c
@@ -1123,9 +1123,19 @@ i965_set_picture_surface_state(intel_screen_private *intel,
{
struct intel_pixmap *priv = intel_get_pixmap_private(pixmap);
struct brw_surface_state *ss;
+ uint32_t write_domain, read_domains;
int offset;
if (is_dst) {
+ write_domain = I915_GEM_DOMAIN_RENDER;
+ read_domains = I915_GEM_DOMAIN_RENDER;
+ } else {
+ write_domain = 0;
+ read_domains = I915_GEM_DOMAIN_SAMPLER;
+ }
+ intel_batch_mark_pixmap_domains(intel, priv,
+ read_domains, write_domain);
+ if (is_dst) {
if (priv->dst_bound)
return priv->dst_bound;
} else {
@@ -1159,25 +1169,12 @@ i965_set_picture_surface_state(intel_screen_private *intel,
ss->ss3.tile_walk = 0; /* Tiled X */
ss->ss3.tiled_surface = intel_pixmap_tiled(pixmap) ? 1 : 0;
- if (priv->bo != NULL) {
- uint32_t write_domain, read_domains;
-
- if (is_dst) {
- write_domain = I915_GEM_DOMAIN_RENDER;
- read_domains = I915_GEM_DOMAIN_RENDER;
- } else {
- write_domain = 0;
- read_domains = I915_GEM_DOMAIN_SAMPLER;
- }
-
- intel_batch_mark_pixmap_domains(intel, priv, read_domains, write_domain);
- dri_bo_emit_reloc(intel->surface_bo,
- read_domains, write_domain,
- 0,
- intel->surface_used +
- offsetof(struct brw_surface_state, ss1),
- priv->bo);
- }
+ dri_bo_emit_reloc(intel->surface_bo,
+ read_domains, write_domain,
+ 0,
+ intel->surface_used +
+ offsetof(struct brw_surface_state, ss1),
+ priv->bo);
offset = intel->surface_used;
intel->surface_used += sizeof(struct brw_surface_state_padded);
commit 03e8351179b1c25d219842ef3e01ee8e176f594f
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Tue Dec 7 19:27:57 2010 +0000
i965: The RenderCache flush after every glyph is required for compiz
... now who can explain why.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/i965_render.c b/src/i965_render.c
index fe14cd6..3141394 100644
--- a/src/i965_render.c
+++ b/src/i965_render.c
@@ -1927,7 +1927,7 @@ i965_composite(PixmapPtr dest, int srcX, int srcY, int maskX, int maskY,
if (INTEL_INFO(intel)->gen < 50) {
/* XXX OMG! */
i965_vertex_flush(intel);
- OUT_BATCH(MI_FLUSH | MI_INHIBIT_RENDER_CACHE_FLUSH);
+ OUT_BATCH(MI_FLUSH);
}
intel_batch_end_atomic(scrn);
More information about the xorg-commit
mailing list