xf86-video-intel: 2 commits - src/sna/gen5_render.c src/sna/gen6_render.c src/sna/gen7_render.c
Chris Wilson
ickle at kemper.freedesktop.org
Thu Nov 29 07:21:07 PST 2012
src/sna/gen5_render.c | 12 +-----------
src/sna/gen6_render.c | 14 ++------------
src/sna/gen7_render.c | 14 ++------------
3 files changed, 5 insertions(+), 35 deletions(-)
New commits:
commit 2d5d55702bb8eced32d5b8cb3c0cd125fd99d6dc
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Wed Nov 28 15:46:29 2012 +0000
sna/gen6+: Override PTE cacheability bits for reads
This is primarily useful for enabling the render cache for reads from
scanouts.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index ecdb579..033f1cb 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -1249,7 +1249,7 @@ gen6_bind_bo(struct sna *sna,
ss[3] = (gen6_tiling_bits(bo->tiling) |
(bo->pitch - 1) << GEN6_SURFACE_PITCH_SHIFT);
ss[4] = 0;
- ss[5] = 0;
+ ss[5] = is_dst && bo->scanout ? 0 : 3 << 16;
kgem_bo_set_binding(bo, format, offset);
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 063d052..50d1b30 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -1370,7 +1370,7 @@ gen7_bind_bo(struct sna *sna,
(height - 1) << GEN7_SURFACE_HEIGHT_SHIFT);
ss[3] = (bo->pitch - 1) << GEN7_SURFACE_PITCH_SHIFT;
ss[4] = 0;
- ss[5] = 0;
+ ss[5] = is_dst && bo->scanout ? 0 : 3 << 16;
ss[6] = 0;
ss[7] = 0;
if (sna->kgem.gen == 75)
commit 3ed87945c9e83fefcbda053b616856658bf2ac8e
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Wed Nov 28 11:05:40 2012 +0000
sna/gen5+: Disable max-vbo address
As we do not use this feature, disable it and save the relocation.
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c
index 31f6f21..7dd6dee 100644
--- a/src/sna/gen5_render.c
+++ b/src/sna/gen5_render.c
@@ -264,11 +264,6 @@ static int gen5_vertex_finish(struct sna *sna)
sna->render.vertex_reloc[i], bo,
I915_GEM_DOMAIN_VERTEX << 16,
0);
- sna->kgem.batch[sna->render.vertex_reloc[i]+1] =
- kgem_add_reloc(&sna->kgem,
- sna->render.vertex_reloc[i]+1, bo,
- I915_GEM_DOMAIN_VERTEX << 16,
- sna->render.vertex_used * 4 - 1);
}
sna->render.nvertex_reloc = 0;
@@ -367,11 +362,6 @@ static void gen5_vertex_close(struct sna *sna)
sna->render.vertex_reloc[i], bo,
I915_GEM_DOMAIN_VERTEX << 16,
delta);
- sna->kgem.batch[sna->render.vertex_reloc[i]+1] =
- kgem_add_reloc(&sna->kgem,
- sna->render.vertex_reloc[i]+1, bo,
- I915_GEM_DOMAIN_VERTEX << 16,
- delta + sna->render.vertex_used * 4 - 1);
}
sna->render.nvertex_reloc = 0;
@@ -974,7 +964,7 @@ static void gen5_emit_vertex_buffer(struct sna *sna,
(4*op->floats_per_vertex << VB0_BUFFER_PITCH_SHIFT));
sna->render.vertex_reloc[sna->render.nvertex_reloc++] = sna->kgem.nbatch;
OUT_BATCH(0);
- OUT_BATCH(0);
+ OUT_BATCH(~0); /* max address: disabled */
OUT_BATCH(0);
sna->render_state.gen5.vb_id |= 1 << id;
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index 6cc1a7d..ecdb579 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -989,11 +989,6 @@ static int gen6_vertex_finish(struct sna *sna)
sna->render.vertex_reloc[i], bo,
I915_GEM_DOMAIN_VERTEX << 16,
0);
- sna->kgem.batch[sna->render.vertex_reloc[i]+1] =
- kgem_add_reloc(&sna->kgem,
- sna->render.vertex_reloc[i]+1, bo,
- I915_GEM_DOMAIN_VERTEX << 16,
- sna->render.vertex_used * 4 - 1);
}
sna->render.nvertex_reloc = 0;
@@ -1090,11 +1085,6 @@ static void gen6_vertex_close(struct sna *sna)
sna->render.vertex_reloc[i], bo,
I915_GEM_DOMAIN_VERTEX << 16,
delta);
- sna->kgem.batch[sna->render.vertex_reloc[i]+1] =
- kgem_add_reloc(&sna->kgem,
- sna->render.vertex_reloc[i]+1, bo,
- I915_GEM_DOMAIN_VERTEX << 16,
- delta + sna->render.vertex_used * 4 - 1);
}
sna->render.nvertex_reloc = 0;
@@ -1529,7 +1519,7 @@ static void gen6_emit_vertex_buffer(struct sna *sna,
4*op->floats_per_vertex << VB0_BUFFER_PITCH_SHIFT);
sna->render.vertex_reloc[sna->render.nvertex_reloc++] = sna->kgem.nbatch;
OUT_BATCH(0);
- OUT_BATCH(0);
+ OUT_BATCH(~0); /* max address: disabled */
OUT_BATCH(0);
sna->render_state.gen6.vb_id |= 1 << id;
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index a106a18..063d052 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -1132,11 +1132,6 @@ static int gen7_vertex_finish(struct sna *sna)
sna->render.vertex_reloc[i], bo,
I915_GEM_DOMAIN_VERTEX << 16,
0);
- sna->kgem.batch[sna->render.vertex_reloc[i]+1] =
- kgem_add_reloc(&sna->kgem,
- sna->render.vertex_reloc[i]+1, bo,
- I915_GEM_DOMAIN_VERTEX << 16,
- sna->render.vertex_used * 4 - 1);
}
sna->render.nvertex_reloc = 0;
@@ -1227,11 +1222,6 @@ static void gen7_vertex_close(struct sna *sna)
sna->render.vertex_reloc[i], bo,
I915_GEM_DOMAIN_VERTEX << 16,
delta);
- sna->kgem.batch[sna->render.vertex_reloc[i]+1] =
- kgem_add_reloc(&sna->kgem,
- sna->render.vertex_reloc[i]+1, bo,
- I915_GEM_DOMAIN_VERTEX << 16,
- delta + sna->render.vertex_used * 4 - 1);
}
sna->render.nvertex_reloc = 0;
@@ -1653,7 +1643,7 @@ static void gen7_emit_vertex_buffer(struct sna *sna,
4*op->floats_per_vertex << GEN7_VB0_BUFFER_PITCH_SHIFT);
sna->render.vertex_reloc[sna->render.nvertex_reloc++] = sna->kgem.nbatch;
OUT_BATCH(0);
- OUT_BATCH(0);
+ OUT_BATCH(~0); /* max address: disabled */
OUT_BATCH(0);
sna->render_state.gen7.vb_id |= 1 << id;
More information about the xorg-commit
mailing list