xf86-video-intel: 6 commits - src/i915_render.c src/intel_dri.c 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/sna_accel.c src/sna/sna_dri.c src/sna/sna_io.c src/sna/sna_trapezoids.c
Chris Wilson
ickle at kemper.freedesktop.org
Fri Jun 1 09:34:38 PDT 2012
src/i915_render.c | 2 +-
src/intel_dri.c | 5 +----
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/sna_accel.c | 2 +-
src/sna/sna_dri.c | 4 ++--
src/sna/sna_io.c | 7 ++++++-
src/sna/sna_trapezoids.c | 5 ++++-
11 files changed, 25 insertions(+), 15 deletions(-)
New commits:
commit b83e2a79f2a082630e0d3147abec8d3599f3f4b4
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Jun 1 17:17:49 2012 +0100
uxa: Static analysis warning fixes
A smattering of bugs and confusing code.
Reported-by: Zdenek Kabelac <zkabelac at redhat.com>
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/i915_render.c b/src/i915_render.c
index 5605edf..0ad991a 100644
--- a/src/i915_render.c
+++ b/src/i915_render.c
@@ -665,7 +665,7 @@ i915_prepare_composite(int op, PicturePtr source_picture,
drm_intel_bo *bo_table[] = {
NULL, /* batch_bo */
intel_get_pixmap_bo(dest),
- source ? intel_get_pixmap_bo(source) : NULL,
+ intel_get_pixmap_bo(source),
mask ? intel_get_pixmap_bo(mask) : NULL,
};
int tex_unit = 0;
diff --git a/src/intel_dri.c b/src/intel_dri.c
index 3261e54..2a95edb 100644
--- a/src/intel_dri.c
+++ b/src/intel_dri.c
@@ -1034,9 +1034,6 @@ can_exchange(DrawablePtr drawable, DRI2BufferPtr front, DRI2BufferPtr back)
struct intel_pixmap *front_intel = intel_get_pixmap_private(front_pixmap);
struct intel_pixmap *back_intel = intel_get_pixmap_private(back_pixmap);
- if (drawable == NULL)
- return FALSE;
-
if (!DRI2CanFlip(drawable))
return FALSE;
@@ -1275,7 +1272,7 @@ I830DRI2ScheduleSwap(ClientPtr client, DrawablePtr draw, DRI2BufferPtr front,
swap_info->event_data = data;
swap_info->front = front;
swap_info->back = back;
- swap_info->pipe = I830DRI2DrawablePipe(draw);
+ swap_info->pipe = pipe;
if (!i830_dri2_add_frame_event(swap_info)) {
free(swap_info);
commit 67e8ac365c4b7dd9c4eb2abe46aecc8cc04d4278
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Jun 1 17:20:51 2012 +0100
sna/gen3+: Guard against a kgem_bo_destroy(NULL)
Reported-by: Zdenek Kabelac <zkabelac at redhat.com>
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 8cafeb8..d8d1e09 100644
--- a/src/sna/gen3_render.c
+++ b/src/sna/gen3_render.c
@@ -1651,7 +1651,8 @@ static int gen3_vertex_finish(struct sna *sna)
if (sna->render.vbo)
sna->render.vertices = kgem_bo_map(&sna->kgem, sna->render.vbo);
if (sna->render.vertices == NULL) {
- kgem_bo_destroy(&sna->kgem, sna->render.vbo);
+ if (sna->render.vbo)
+ kgem_bo_destroy(&sna->kgem, sna->render.vbo);
sna->render.vbo = NULL;
return 0;
}
diff --git a/src/sna/gen4_render.c b/src/sna/gen4_render.c
index 8ab707f..dd66a46 100644
--- a/src/sna/gen4_render.c
+++ b/src/sna/gen4_render.c
@@ -401,7 +401,8 @@ static int gen4_vertex_finish(struct sna *sna)
if (sna->render.vbo)
sna->render.vertices = kgem_bo_map(&sna->kgem, sna->render.vbo);
if (sna->render.vertices == NULL) {
- kgem_bo_destroy(&sna->kgem, sna->render.vbo);
+ if (sna->render.vbo)
+ kgem_bo_destroy(&sna->kgem, sna->render.vbo);
sna->render.vbo = NULL;
return 0;
}
diff --git a/src/sna/gen5_render.c b/src/sna/gen5_render.c
index 68c1bb7..9c30041 100644
--- a/src/sna/gen5_render.c
+++ b/src/sna/gen5_render.c
@@ -393,7 +393,8 @@ static int gen5_vertex_finish(struct sna *sna)
if (sna->render.vbo)
sna->render.vertices = kgem_bo_map(&sna->kgem, sna->render.vbo);
if (sna->render.vertices == NULL) {
- kgem_bo_destroy(&sna->kgem, sna->render.vbo);
+ if (sna->render.vbo)
+ kgem_bo_destroy(&sna->kgem, sna->render.vbo);
sna->render.vbo = NULL;
return 0;
}
diff --git a/src/sna/gen6_render.c b/src/sna/gen6_render.c
index d9068de..df2eeb2 100644
--- a/src/sna/gen6_render.c
+++ b/src/sna/gen6_render.c
@@ -967,7 +967,8 @@ static int gen6_vertex_finish(struct sna *sna)
if (sna->render.vbo)
sna->render.vertices = kgem_bo_map(&sna->kgem, sna->render.vbo);
if (sna->render.vertices == NULL) {
- kgem_bo_destroy(&sna->kgem, sna->render.vbo);
+ if (sna->render.vbo)
+ kgem_bo_destroy(&sna->kgem, sna->render.vbo);
sna->render.vbo = NULL;
return 0;
}
diff --git a/src/sna/gen7_render.c b/src/sna/gen7_render.c
index 3f31437..6bf25d3 100644
--- a/src/sna/gen7_render.c
+++ b/src/sna/gen7_render.c
@@ -1105,7 +1105,8 @@ static int gen7_vertex_finish(struct sna *sna)
if (sna->render.vbo)
sna->render.vertices = kgem_bo_map(&sna->kgem, sna->render.vbo);
if (sna->render.vertices == NULL) {
- kgem_bo_destroy(&sna->kgem, sna->render.vbo);
+ if (sna->render.vbo)
+ kgem_bo_destroy(&sna->kgem, sna->render.vbo);
sna->render.vbo = NULL;
return 0;
}
commit e91b27ae14a5366175a4fe9c87ee15a0a25b5a42
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Jun 1 17:12:36 2012 +0100
sna: Fix potential deference of NULL cpu_bo inside assertion
Reported-by: Zdenek Kabelac <zkabelac at redhat.com>
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 7eeb7af..7b7190d 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -2486,7 +2486,7 @@ done:
if (DAMAGE_IS_ALL(priv->gpu_damage)) {
priv->undamaged = false;
if (priv->ptr) {
- assert(!priv->cpu_bo->sync);
+ assert(priv->cpu_bo == NULL || !priv->cpu_bo->sync);
sna_pixmap_free_cpu(sna, priv);
}
}
commit 048161e69612324d6c077ec487a2a64aaaa7c1f5
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Jun 1 17:09:21 2012 +0100
sna/trapezoids: Check for malloc failure
Reported-by: Zdenek Kabelac <zkabelac at redhat.com>
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_trapezoids.c b/src/sna/sna_trapezoids.c
index c7f6671..d65c249 100644
--- a/src/sna/sna_trapezoids.c
+++ b/src/sna/sna_trapezoids.c
@@ -2598,8 +2598,11 @@ composite_aligned_boxes(struct sna *sna,
DBG(("%s\n", __FUNCTION__));
boxes = stack_boxes;
- if (ntrap > (int)ARRAY_SIZE(stack_boxes))
+ if (ntrap > (int)ARRAY_SIZE(stack_boxes)) {
boxes = malloc(sizeof(BoxRec)*ntrap);
+ if (boxes == NULL)
+ return false;
+ }
dx = dst->pDrawable->x;
dy = dst->pDrawable->y;
commit 2896aa7b46931d3b95567121ccb07844725ab45c
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Jun 1 17:08:01 2012 +0100
sna/io: Free the heap clip boxes on error paths
Reported-by: Zdenek Kabelac <zkabelac at redhat.com>
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_io.c b/src/sna/sna_io.c
index 3f39de5..0d6fbbb 100644
--- a/src/sna/sna_io.c
+++ b/src/sna/sna_io.c
@@ -261,14 +261,19 @@ fallback:
tmp.drawable.bitsPerPixel,
KGEM_BUFFER_LAST,
&ptr);
- if (!dst_bo)
+ if (!dst_bo) {
+ if (clipped != stack)
+ free(clipped);
goto fallback;
+ }
if (!sna->render.copy_boxes(sna, GXcopy,
dst, src_bo, src_dx, src_dy,
&tmp, dst_bo, -tile.x1, -tile.y1,
clipped, c-clipped)) {
kgem_bo_destroy(&sna->kgem, dst_bo);
+ if (clipped != stack)
+ free(clipped);
goto fallback;
}
commit 1ef00ff720226c211444806d9fdf67ce2046685b
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date: Fri Jun 1 17:05:55 2012 +0100
sna/dri: Fix typo, check for NULL after allocations to spot failure!
Reported-by: Zdenek Kabelac <zkabelac at redhat.com>
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
diff --git a/src/sna/sna_dri.c b/src/sna/sna_dri.c
index c74ecc4..c26c128 100644
--- a/src/sna/sna_dri.c
+++ b/src/sna/sna_dri.c
@@ -1369,7 +1369,7 @@ sna_dri_schedule_flip(ClientPtr client, DrawablePtr draw, DRI2BufferPtr front,
}
info = calloc(1, sizeof(struct sna_dri_frame_event));
- if (!info)
+ if (info == NULL)
return FALSE;
info->type = type;
@@ -1415,7 +1415,7 @@ sna_dri_schedule_flip(ClientPtr client, DrawablePtr draw, DRI2BufferPtr front,
info->event_data);
} else {
info = calloc(1, sizeof(struct sna_dri_frame_event));
- if (info)
+ if (info == NULL)
return FALSE;
info->sna = sna;
More information about the xorg-commit
mailing list