diff options
Diffstat (limited to 'src/osd/sdl/osdsdl.h')
-rw-r--r-- | src/osd/sdl/osdsdl.h | 406 |
1 files changed, 203 insertions, 203 deletions
diff --git a/src/osd/sdl/osdsdl.h b/src/osd/sdl/osdsdl.h index 4aae58b7644..d8508934871 100644 --- a/src/osd/sdl/osdsdl.h +++ b/src/osd/sdl/osdsdl.h @@ -3,204 +3,204 @@ /* Notes - - Known bugs: - - * SDL1.3/X11: Some compound keys, e.g. "'" are not supported by SDL driver - * SDL1.3: sdlvideofps does not take -numscreens>1 into account. - * SDL1.3/WIN32: crashes with -rd d3d - * SDL1.3/WIN32: resizing does not work - - - fixed returning (w,h) = (0,0) in get_max_bounds - - new video driver "sdl13" utilitizing SDL texture and line - drawing support. Accelerated drivers like directfb now - may attain opengl speed. DirectFB does with a radeon card. - The driver determines which pixel formats perform best and - converts textures to these pixel formats. - Supported options: - -waitvsync - -filter - -prescale - Supported renderdrivers: - X11: opengl, software, x11 (no artwork!) - DirectFB: directfb, software, opengl (special setup, slow) - Windows: software, gdi (no artwork) - - SDL1.3: Clear bck when moving - - SDL1.3: now compiles on win32 - - SDL1.3: Support screen refresh rates, provided the sdl video - layer supports them (e.g. X11). - - Use video_config.waitvsync (previously option was queried) - - -video soft / -sm now supports -prescale - - removed reqwidth, reqheight from sdl_monitor_info; not used anywhere - - removed layerconfig from sdl_video_config; not used anywhere - - - fixed yuv issues (firefox) / this was a bug I introduced - - removed deprecat.h from output.c - - Separated keyboard and mouse initialization into separate functions - - added _FORTIFY_SOURCE to verbose compiler define output. - - remove MAX_CPU from debugwin.c - - fixed vsync handling in SDL1.3 in soft/opengl drivers - - "waitvsync" also supported by "soft" driver in SDL1.3 - - multiple mice and keyboards supported in SDL1.3 - - support for DISTRO= make option - - got rid of "-joymap" and "-joymap_file" - - add -joy_idx[0-7] -keyb_idx[0-7] -mouse_idx[0-7] which - specify, which device is allocated to to e.g. Mouse 1, Mouse 2, ... - - moved define of THREAD_COOPERATIVE into sdl.mak and renamed to - NO_THREAD_COOPERATIVE. Changed references to #ifndef - - define NO_DEBUGGER in sdl.mak - - Solaris now uses -DNO_AFFINITY_NP - - added machine to window_info, removed deprecat.h from drawogl.c - - - For DEBUG=1 builds, disable input grapping while windowed - - Fixed WIN32 compile - Wrote setenv function since mingw does not provide one. - Implemented osd_event_* as inline functions for win32 build. - We should at some point merge sdlwork.c and winwork.c and push it - to the core, letting sdlsync.c provide the necessary details. - - Removed keybled.c and references - - Added output.c and output.h. These will look for a fifo or file - /tmp/sdlmame_out and write output notifiers to it. - Added a sample client ledutil.sh to src/osd/sdl which turns - leds on and off and provides a debug (log) facility. - - removed os2work.c - - - replaced window->render_lock with event window->rendered_event - For multiple windows and "-mt", the old code would allow filling up - the workqueue with 1000s of entries, since the lock would not block while - another window is rendered. The osd_event establishes a barrier which - is only freed if the last window blit operation has finished. - - Set SDL_VIDEO_GL_DRIVER if -gl_lib is given. The SDL directfb driver is picky about - this. Added reminder: FIXME: move lib loading code from drawogl.c here. This may be - used to disable opengl if no library was loaded. - - SDL1.3/video=opengl: Fixed windows not being updated after another window was resized - - for -verbose, output some information about renderer (-video soft) - - initialize mouse_enabled with option "-mouse". Affects both SDL1.2 and SDL1.3 - This will hide the mouse if you specify "-mouse". - - SDL1.2: added blitmode "async" which sets SDL_ASYNCBLIT - - SDL1.2: removed blitmodes "hwbest" and "hwblit" - - added blitmode "hwbest" for antialiased and smoothed scaling now that the - directfb driver supports it. This is also supported by the 1.3 opengl - render backend - - added sdlinput_release_keys to cope with lost keyboard events in SDL1.3 - - some identing in drawogl.c - - rename SDL_* macros to SDLMAME_* (avoid name clashes) - - got rid of VIDEO_SCALE_MODE constants. Scale modes are now handled in drawsdl.c. - Starting mame with eg. -video soft -sm yuy2 on X11 no longer crashes. - - some more changes to input.c to avoid resize loops (issue for directfb) - - - working ui mouse inputs for SDL1.2 and SDL1.3 incl. yuv modes - - added blitmode "hwblit" (SDL1.3) for rgb hardware scaling - - rename "-yuvmode" option to "-scalemode" - - rename yuv_mode and derivatives to scale_mode - - moved extra_flags into sdl_info - - moved callbacks indow sdl_window_info - - made a number of flags (e.g. yuvmode) window relative + - Known bugs: + + * SDL1.3/X11: Some compound keys, e.g. "'" are not supported by SDL driver + * SDL1.3: sdlvideofps does not take -numscreens>1 into account. + * SDL1.3/WIN32: crashes with -rd d3d + * SDL1.3/WIN32: resizing does not work + + - fixed returning (w,h) = (0,0) in get_max_bounds + - new video driver "sdl13" utilitizing SDL texture and line + drawing support. Accelerated drivers like directfb now + may attain opengl speed. DirectFB does with a radeon card. + The driver determines which pixel formats perform best and + converts textures to these pixel formats. + Supported options: + -waitvsync + -filter + -prescale + Supported renderdrivers: + X11: opengl, software, x11 (no artwork!) + DirectFB: directfb, software, opengl (special setup, slow) + Windows: software, gdi (no artwork) + - SDL1.3: Clear bck when moving + - SDL1.3: now compiles on win32 + - SDL1.3: Support screen refresh rates, provided the sdl video + layer supports them (e.g. X11). + - Use video_config.waitvsync (previously option was queried) + - -video soft / -sm now supports -prescale + - removed reqwidth, reqheight from sdl_monitor_info; not used anywhere + - removed layerconfig from sdl_video_config; not used anywhere + + - fixed yuv issues (firefox) / this was a bug I introduced + - removed deprecat.h from output.c + - Separated keyboard and mouse initialization into separate functions + - added _FORTIFY_SOURCE to verbose compiler define output. + - remove MAX_CPU from debugwin.c + - fixed vsync handling in SDL1.3 in soft/opengl drivers + - "waitvsync" also supported by "soft" driver in SDL1.3 + - multiple mice and keyboards supported in SDL1.3 + - support for DISTRO= make option + - got rid of "-joymap" and "-joymap_file" + - add -joy_idx[0-7] -keyb_idx[0-7] -mouse_idx[0-7] which + specify, which device is allocated to to e.g. Mouse 1, Mouse 2, ... + - moved define of THREAD_COOPERATIVE into sdl.mak and renamed to + NO_THREAD_COOPERATIVE. Changed references to #ifndef + - define NO_DEBUGGER in sdl.mak + - Solaris now uses -DNO_AFFINITY_NP + - added machine to window_info, removed deprecat.h from drawogl.c + + - For DEBUG=1 builds, disable input grapping while windowed + - Fixed WIN32 compile + Wrote setenv function since mingw does not provide one. + Implemented osd_event_* as inline functions for win32 build. + We should at some point merge sdlwork.c and winwork.c and push it + to the core, letting sdlsync.c provide the necessary details. + - Removed keybled.c and references + - Added output.c and output.h. These will look for a fifo or file + /tmp/sdlmame_out and write output notifiers to it. + Added a sample client ledutil.sh to src/osd/sdl which turns + leds on and off and provides a debug (log) facility. + - removed os2work.c + + - replaced window->render_lock with event window->rendered_event + For multiple windows and "-mt", the old code would allow filling up + the workqueue with 1000s of entries, since the lock would not block while + another window is rendered. The osd_event establishes a barrier which + is only freed if the last window blit operation has finished. + - Set SDL_VIDEO_GL_DRIVER if -gl_lib is given. The SDL directfb driver is picky about + this. Added reminder: FIXME: move lib loading code from drawogl.c here. This may be + used to disable opengl if no library was loaded. + - SDL1.3/video=opengl: Fixed windows not being updated after another window was resized + - for -verbose, output some information about renderer (-video soft) + - initialize mouse_enabled with option "-mouse". Affects both SDL1.2 and SDL1.3 + This will hide the mouse if you specify "-mouse". + - SDL1.2: added blitmode "async" which sets SDL_ASYNCBLIT + - SDL1.2: removed blitmodes "hwbest" and "hwblit" + - added blitmode "hwbest" for antialiased and smoothed scaling now that the + directfb driver supports it. This is also supported by the 1.3 opengl + render backend + - added sdlinput_release_keys to cope with lost keyboard events in SDL1.3 + - some identing in drawogl.c + - rename SDL_* macros to SDLMAME_* (avoid name clashes) + - got rid of VIDEO_SCALE_MODE constants. Scale modes are now handled in drawsdl.c. + Starting mame with eg. -video soft -sm yuy2 on X11 no longer crashes. + - some more changes to input.c to avoid resize loops (issue for directfb) + + - working ui mouse inputs for SDL1.2 and SDL1.3 incl. yuv modes + - added blitmode "hwblit" (SDL1.3) for rgb hardware scaling + - rename "-yuvmode" option to "-scalemode" + - rename yuv_mode and derivatives to scale_mode + - moved extra_flags into sdl_info + - moved callbacks indow sdl_window_info + - made a number of flags (e.g. yuvmode) window relative - changing of yuvmodes and opengl scale effects is working with SDL 1.3 - - improved fullscreen handling - - removed HAS_WINDOW_MENU - this has no effect nowhere - - removed underscores in header defines, e.g. __SDL_SYNC__ ==> __SDLSYNC__ - - added SDLMAME_HAS_DEBUGGER define - - removed #if 0 inw window.c - - added option "-audiodriver" to specify the SDL audio driver - - added option "-videodriver" to specify the SDL video driver - - added option "-renderdriver" to specify the SDL renderer driver - - changed environment SDLMAME_GL_LIB into option -gl_lib - - added some more SDL_ENV defines - - move keymap reading into separate function - - SDL_EnableUNICODE for all builds (not only MESS) - - SDL1.3 : Mouse & text input for ui - - - removed osd_event_wait_multiple from sdlsync.h - - removed some includes not needed - - reorganized texcopy/scale2x - - removed effect.h - - removed effect_func.h - - indenting - - put osd_copyfile, osd_stat into #ifdef MESS - - added code which implements events without the need - for pthreads. This is commented out, since - owever, it horribly fails, if - threads > num processors as is the case if you - enable "-mt" - - rename mame_bitmap to bitmap_t - - introduced define OSDWORK_CALLBACK to prototype and - define functions to be passed to sdlwork.c - - - fixes from judge for warnings / may reappear (glade) - - more warnings fixed / may reappear (glade) - - moved osdefs.h into sdlprefix.h - - removed osdefs.h - - finally removed sdlmisc.h - - - create drawogl.c and moved ogl relevant stuff there - - draw.window_init() now called after window creation - - removed window.opengl flag - - added sdl_window_info as parameter to all functions in window.h - - rename SDL_VERSIONNUM to SDL_VERSION_ATLEAST - - removed all uclock stuff in sdlmisc.[ch] - - minor cleanups - - - fixed compile issues against SDL13 - - fixed input issues with SDL13 - - stricter checks for USE_OPENGL, e.g. for options - - move sdlvideo_loadgl to window.c, rename it to sdlwindow_loadgl and make it static - - moved yuv_blit.c into drawsdl.c - - renamed compute_blit_surface_size to sdlwindow_blit_surface_size - - renamed drawsdl_destroy_all_textures to drawogl_destroy_all_textures and - moved it to _sdl_draw_callbacks - - removed print_colums - - rename misc.h to sdlmisc.h - - moved some includes from .h to .c - - rename led_init to sdlled_init for consistency - - rename sdl_init_audio to sdlaudio_init for consistency - - fixed some indentation issues - - removed ticker.h & dirty.h - - - changed all [f]printf to mame_printf_verbose|error|warning - - removed obsolete frameskipping code - - removed obsolete throttle code - - removed fastforward - - removed framestorun - - introduced SDLOPTION constants for a number of options - - add more verbose info for YUV - - - removed dirty.h - - removed ticker.h - - - remove win_trying_to_quit - - changed win_use_mouse to static use_mouse - - removed win_key_trans_table - - removed keyboard typematic definitions from input.h - - made sdl_monitor_list static - - removed hwstretch (sdl_video_config) - - removed syncrefresh (sdl_video_config) - - removed triplebuf (sdl_video_config) - - removed sdl_has_menu - - fixed memory_leak (window.c) - - - moved prototypes from drawsdl.c to window.h - - removed joystick calibration code - - "#if 0" code which is unreachable - - "#if 0" code which is never used - - moved pick_best_mode to window.c - - removed pause_brightness option - - added more SDLOPTION_ defines - - - renamed void yuv_lookup_init to drawsdl_yuv_init (global namespace) - - rmoved some obsolete code - - add SDL1.3 compatibility - - - fixed some compile issues - - moved clear_surface into window thread - - got SDL1.3 -mt working - still crashing on exit - - - removed "digital" option - - removed device selection options - - added more SDLOPTION defines + - improved fullscreen handling + - removed HAS_WINDOW_MENU - this has no effect nowhere + - removed underscores in header defines, e.g. __SDL_SYNC__ ==> __SDLSYNC__ + - added SDLMAME_HAS_DEBUGGER define + - removed #if 0 inw window.c + - added option "-audiodriver" to specify the SDL audio driver + - added option "-videodriver" to specify the SDL video driver + - added option "-renderdriver" to specify the SDL renderer driver + - changed environment SDLMAME_GL_LIB into option -gl_lib + - added some more SDL_ENV defines + - move keymap reading into separate function + - SDL_EnableUNICODE for all builds (not only MESS) + - SDL1.3 : Mouse & text input for ui + + - removed osd_event_wait_multiple from sdlsync.h + - removed some includes not needed + - reorganized texcopy/scale2x + - removed effect.h + - removed effect_func.h + - indenting + - put osd_copyfile, osd_stat into #ifdef MESS + - added code which implements events without the need + for pthreads. This is commented out, since + owever, it horribly fails, if + threads > num processors as is the case if you + enable "-mt" + - rename mame_bitmap to bitmap_t + - introduced define OSDWORK_CALLBACK to prototype and + define functions to be passed to sdlwork.c + + - fixes from judge for warnings / may reappear (glade) + - more warnings fixed / may reappear (glade) + - moved osdefs.h into sdlprefix.h + - removed osdefs.h + - finally removed sdlmisc.h + + - create drawogl.c and moved ogl relevant stuff there + - draw.window_init() now called after window creation + - removed window.opengl flag + - added sdl_window_info as parameter to all functions in window.h + - rename SDL_VERSIONNUM to SDL_VERSION_ATLEAST + - removed all uclock stuff in sdlmisc.[ch] + - minor cleanups + + - fixed compile issues against SDL13 + - fixed input issues with SDL13 + - stricter checks for USE_OPENGL, e.g. for options + - move sdlvideo_loadgl to window.c, rename it to sdlwindow_loadgl and make it static + - moved yuv_blit.c into drawsdl.c + - renamed compute_blit_surface_size to sdlwindow_blit_surface_size + - renamed drawsdl_destroy_all_textures to drawogl_destroy_all_textures and + moved it to _sdl_draw_callbacks + - removed print_colums + - rename misc.h to sdlmisc.h + - moved some includes from .h to .c + - rename led_init to sdlled_init for consistency + - rename sdl_init_audio to sdlaudio_init for consistency + - fixed some indentation issues + - removed ticker.h & dirty.h + + - changed all [f]printf to mame_printf_verbose|error|warning + - removed obsolete frameskipping code + - removed obsolete throttle code + - removed fastforward + - removed framestorun + - introduced SDLOPTION constants for a number of options + - add more verbose info for YUV + + - removed dirty.h + - removed ticker.h + + - remove win_trying_to_quit + - changed win_use_mouse to static use_mouse + - removed win_key_trans_table + - removed keyboard typematic definitions from input.h + - made sdl_monitor_list static + - removed hwstretch (sdl_video_config) + - removed syncrefresh (sdl_video_config) + - removed triplebuf (sdl_video_config) + - removed sdl_has_menu + - fixed memory_leak (window.c) + + - moved prototypes from drawsdl.c to window.h + - removed joystick calibration code + - "#if 0" code which is unreachable + - "#if 0" code which is never used + - moved pick_best_mode to window.c + - removed pause_brightness option + - added more SDLOPTION_ defines + + - renamed void yuv_lookup_init to drawsdl_yuv_init (global namespace) + - rmoved some obsolete code + - add SDL1.3 compatibility + + - fixed some compile issues + - moved clear_surface into window thread + - got SDL1.3 -mt working - still crashing on exit + + - removed "digital" option + - removed device selection options + - added more SDLOPTION defines */ //============================================================ -// System dependent defines +// System dependent defines //============================================================ // Process events in worker thread @@ -224,13 +224,13 @@ #endif #if defined(NO_DEBUGGER) -#define SDLMAME_HAS_DEBUGGER (0) +#define SDLMAME_HAS_DEBUGGER (0) #else -#define SDLMAME_HAS_DEBUGGER (1) +#define SDLMAME_HAS_DEBUGGER (1) #endif //============================================================ -// Defines +// Defines //============================================================ #define SDLOPTION_INIPATH "inipath" @@ -238,7 +238,7 @@ #define SDLOPTION_SCREEN(x) "screen" x #define SDLOPTION_ASPECT(x) "aspect" x #define SDLOPTION_RESOLUTION(x) "resolution" x -#define SDLOPTION_VIEW(x) "view" x +#define SDLOPTION_VIEW(x) "view" x #define SDLOPTION_SDLVIDEOFPS "sdlvideofps" #define SDLOPTION_KEEPASPECT "keepaspect" #define SDLOPTION_WINDOW "window" @@ -264,9 +264,9 @@ #define SDLOPTION_OSLOG "oslog" #define SDLOPTION_SIXAXIS "sixaxis" -#define SDLOPTION_JOYINDEX "joy_idx" -#define SDLOPTION_KEYBINDEX "keyb_idx" -#define SDLOPTION_MOUSEINDEX "mouse_index" +#define SDLOPTION_JOYINDEX "joy_idx" +#define SDLOPTION_KEYBINDEX "keyb_idx" +#define SDLOPTION_MOUSEINDEX "mouse_index" #define SDLOPTION_SHADER_MAME(x) "glsl_shader_mame" x #define SDLOPTION_SHADER_SCREEN(x) "glsl_shader_screen" x @@ -316,13 +316,13 @@ //============================================================ -// sound.c +// sound.c //============================================================ void sdlaudio_init(running_machine *machine); //============================================================ -// sdlwork.c +// sdlwork.c //============================================================ extern int sdl_num_processors; |