xf86-video-intel: src/sna/gen3_render.c src/sna/gen4_render.c src/sna/gen5_render.c src/sna/gen6_render.c src/sna/gen7_render.c src/sna/gen8_render.c

Chris Wilson ickle at kemper.freedesktop.org
Wed Nov 11 03:01:30 PST 2015


 src/sna/gen3_render.c |    3 ++-
 src/sna/gen4_render.c |    3 ++-
 src/sna/gen5_render.c |    3 ++-
 src/sna/gen6_render.c |    3 ++-
 src/sna/gen7_render.c |    3 ++-
 src/sna/gen8_render.c |    3 ++-
 6 files changed, 12 insertions(+), 6 deletions(-)

New commits:
commit e769f9e6ca0b2575f598baf8e2f7dab02a48d6a0
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Nov 11 11:00:38 2015 +0000

    sna/video: Avoid dereferencing a masked pointer
    
    First check for the damage-is-all special flag before adding to the
    damage.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/gen3_render.c b/src/sna/gen3_render.c
index 322de02..2d3fb1e 100644
--- a/src/sna/gen3_render.c
+++ b/src/sna/gen3_render.c
@@ -5561,7 +5561,8 @@ gen3_render_video(struct sna *sna,
 		kgem_bo_destroy(&sna->kgem, dst_bo);
 	}
 
-	sna_damage_add(&priv->gpu_damage, dstRegion);
+	if (!DAMAGE_IS_ALL(priv->gpu_damage))
+		sna_damage_add(&priv->gpu_damage, dstRegion);
 
 	return true;
 }
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index 6316f54..552da49 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -1479,7 +1479,8 @@ gen4_render_video(struct sna *sna,
 	} while (nbox);
 	gen4_vertex_flush(sna);
 
-	sna_damage_add(&priv->gpu_damage, dstRegion);
+	if (!DAMAGE_IS_ALL(priv->gpu_damage))
+		sna_damage_add(&priv->gpu_damage, dstRegion);
 
 	return true;
 }
diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c
index 2de30f5..e162f9f 100644
--- a/src/sna/gen5_render.c
+++ b/src/sna/gen5_render.c
@@ -1422,7 +1422,8 @@ gen5_render_video(struct sna *sna,
 	}
 	gen4_vertex_flush(sna);
 
-	sna_damage_add(&priv->gpu_damage, dstRegion);
+	if (!DAMAGE_IS_ALL(priv->gpu_damage))
+		sna_damage_add(&priv->gpu_damage, dstRegion);
 
 	return true;
 }
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index 23943aa..ee17593 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -1713,7 +1713,8 @@ gen6_render_video(struct sna *sna,
 	}
 	gen4_vertex_flush(sna);
 
-	sna_damage_add(&priv->gpu_damage, dstRegion);
+	if (!DAMAGE_IS_ALL(priv->gpu_damage))
+		sna_damage_add(&priv->gpu_damage, dstRegion);
 
 	return true;
 }
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 6a38f68..1c420a7 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -1942,7 +1942,8 @@ gen7_render_video(struct sna *sna,
 	}
 	gen4_vertex_flush(sna);
 
-	sna_damage_add(&priv->gpu_damage, dstRegion);
+	if (!DAMAGE_IS_ALL(priv->gpu_damage))
+		sna_damage_add(&priv->gpu_damage, dstRegion);
 
 	return true;
 }
diff --git a/src/sna/gen8_render.c b/src/sna/gen8_render.c
index 2a40bd1..0631e0a 100644
--- a/src/sna/gen8_render.c
+++ b/src/sna/gen8_render.c
@@ -3886,7 +3886,8 @@ gen8_render_video(struct sna *sna,
 	}
 	gen8_vertex_flush(sna);
 
-	sna_damage_add(&priv->gpu_damage, dstRegion);
+	if (!DAMAGE_IS_ALL(priv->gpu_damage))
+		sna_damage_add(&priv->gpu_damage, dstRegion);
 
 	return true;
 }


More information about the xorg-commit mailing list