xf86-video-intel: 2 commits - src/sna/gen2_render.c src/sna/gen4_render.c
Chris Wilson
ickle at kemper.freedesktop.org
Sat Nov 10 02:33:31 PST 2012
src/sna/gen2_render.c | 17 ++++++++++++++---
src/sna/gen4_render.c | 2 +-
2 files changed, 15 insertions(+), 4 deletions(-)
New commits:
commit f5d79b202dd448e61ab6ffce26fe9cbf9051d770
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Sat Nov 10 10:30:04 2012 +0000
sna/gen2: Add a modicum of fallback DBG
References: https://bugs.freedesktop.org/show_bug.cgi?id=56785
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen2_render.c b/src/sna/gen2_render.c
index 024b107..6e51c18 100644
--- a/src/sna/gen2_render.c
+++ b/src/sna/gen2_render.c
@@ -1816,6 +1816,8 @@ gen2_render_composite(struct sna *sna,
dst_x, dst_y,
dst->polyMode == PolyModePrecise)) {
case -1:
+ DBG(("%s: fallback -- unable to prepare source\n",
+ __FUNCTION__));
goto cleanup_dst;
case 0:
gen2_composite_solid_init(sna, &tmp->src, 0);
@@ -1839,6 +1841,8 @@ gen2_render_composite(struct sna *sna,
dst_x, dst_y,
dst->polyMode == PolyModePrecise)) {
case -1:
+ DBG(("%s: fallback -- unable to prepare mask\n",
+ __FUNCTION__));
goto cleanup_src;
case 0:
gen2_composite_solid_init(sna, &tmp->mask, 0);
@@ -1855,8 +1859,12 @@ gen2_render_composite(struct sna *sna,
tmp->has_component_alpha = true;
if (gen2_blend_op[op].src_alpha &&
(gen2_blend_op[op].src_blend != BLENDFACTOR_ZERO)) {
- if (op != PictOpOver)
- return false;
+ if (op != PictOpOver) {
+ DBG(("%s: fallback -- unsupported CA blend (src_blend=%d)\n",
+ __FUNCTION__,
+ gen2_blend_op[op].src_blend));
+ goto cleanup_dst;
+ }
tmp->need_magic_ca_pass = true;
tmp->op = PictOpOutReverse;
@@ -1903,8 +1911,11 @@ gen2_render_composite(struct sna *sna,
kgem_submit(&sna->kgem);
if (!kgem_check_bo(&sna->kgem,
tmp->dst.bo, tmp->src.bo, tmp->mask.bo,
- NULL))
+ NULL)) {
+ DBG(("%s: fallback, operation does not fit into GTT\n",
+ __FUNCTION__));
goto cleanup_mask;
+ }
}
gen2_emit_composite_state(sna, tmp);
commit 27327633138dce159ca2e91fe5eac1565bd45e1c
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Nov 9 17:08:01 2012 +0000
sna/gen4: Only 965gm suffers the !snoop restriction
So fixup the bogus assertion for g4x
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index 6d44a4a..be97458 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -649,7 +649,7 @@ gen4_bind_bo(struct sna *sna,
uint32_t domains;
uint16_t offset;
- assert(!kgem_bo_is_snoop(bo));
+ assert(sna->kgem.gen != 40 || !kgem_bo_is_snoop(bo));
/* After the first bind, we manage the cache domains within the batch */
offset = kgem_bo_get_binding(bo, format);
More information about the xorg-commit
mailing list