summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/render.c
diff options
context:
space:
mode:
author Nathan Woods <npwoods@mess.org>2007-12-24 07:39:36 +0000
committer Nathan Woods <npwoods@mess.org>2007-12-24 07:39:36 +0000
commitf27de85b8e4a9b1afaf2b384b517379224311894 (patch)
treeaef8b0706c03eba5103a5dbcbea589f640c38851 /src/emu/render.c
parent707e623381b64e968fb5b754febd1a69fef138d6 (diff)
1. Added assertion to append_render_primitive() to test for degenerate case
2. Added check that seems to occur on screenless systems
Diffstat (limited to 'src/emu/render.c')
-rw-r--r--src/emu/render.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/emu/render.c b/src/emu/render.c
index 1dce606007c..7a341b22b5a 100644
--- a/src/emu/render.c
+++ b/src/emu/render.c
@@ -385,6 +385,9 @@ INLINE render_primitive *alloc_render_primitive(int type)
INLINE void append_render_primitive(render_primitive_list *list, render_primitive *prim)
{
+ assert(prim->bounds.x0 <= prim->bounds.x1);
+ assert(prim->bounds.y0 <= prim->bounds.y1);
+
*list->nextptr = prim;
list->nextptr = &prim->next;
}
@@ -1531,12 +1534,15 @@ const render_primitive_list *render_target_get_primitives(render_target *target)
prim->flags = PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA);
append_render_primitive(&target->primlist[listnum], prim);
- prim = alloc_render_primitive(RENDER_PRIMITIVE_QUAD);
- set_render_bounds_xy(&prim->bounds, 1.0f, 1.0f, (float)(target->width - 1), (float)(target->height - 1));
- set_render_color(&prim->color, 1.0f, 0.0f, 0.0f, 0.0f);
- prim->texture.base = NULL;
- prim->flags = PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA);
- append_render_primitive(&target->primlist[listnum], prim);
+ if ((target->width > 1) && (target->height > 1))
+ {
+ prim = alloc_render_primitive(RENDER_PRIMITIVE_QUAD);
+ set_render_bounds_xy(&prim->bounds, 1.0f, 1.0f, (float)(target->width - 1), (float)(target->height - 1));
+ set_render_color(&prim->color, 1.0f, 0.0f, 0.0f, 0.0f);
+ prim->texture.base = NULL;
+ prim->flags = PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA);
+ append_render_primitive(&target->primlist[listnum], prim);
+ }
}
/* process the UI if we are the UI target */