summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/render.c
diff options
context:
space:
mode:
author Zsolt Vasvari <zsoltvas@mamedev.org>2008-03-11 16:16:30 +0000
committer Zsolt Vasvari <zsoltvas@mamedev.org>2008-03-11 16:16:30 +0000
commit86b798b37a6cbdb875df3dae4a2d0c3256951d32 (patch)
tree6635a7a0c49eda53647faf835f7897377fb4e995 /src/emu/render.c
parent706d9f408f97c9b428b7e263b643505dbeaf1623 (diff)
- More machine->screen removal
- Hooked up swapped videoram in Karnov properly -- same idea as Burger Time
Diffstat (limited to 'src/emu/render.c')
-rw-r--r--src/emu/render.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/emu/render.c b/src/emu/render.c
index a72358df5f3..0018b2fc073 100644
--- a/src/emu/render.c
+++ b/src/emu/render.c
@@ -898,20 +898,31 @@ void render_set_rescale_notify(running_machine *machine, int (*notifier)(running
/*-------------------------------------------------
- render_get_live_screens_mask - return a
- bitmask indicating the live screens
+ render_is_live_screen - return if the screen
+ is 'live'
-------------------------------------------------*/
-UINT32 render_get_live_screens_mask(void)
+int render_is_live_screen(const device_config *screen)
{
render_target *target;
+ int screen_index;
UINT32 bitmask = 0;
+ assert(screen != NULL);
+ assert(screen->machine != NULL);
+ assert(screen->machine->config != NULL);
+ assert(screen->machine->config->devicelist != NULL);
+ assert(screen->tag != NULL);
+
+ screen_index = device_list_index(screen->machine->config->devicelist, VIDEO_SCREEN, screen->tag);
+
+ assert(screen_index != -1);
+
/* iterate over all live targets and or together their screen masks */
for (target = targetlist; target != NULL; target = target->next)
bitmask |= target->curview->screens;
- return bitmask;
+ return (bitmask & (1 << screen_index)) ? TRUE : FALSE;
}