diff options
author | 2016-02-16 18:00:19 +0100 | |
---|---|---|
committer | 2016-02-16 18:00:19 +0100 | |
commit | 38e054c76552c1b4c1598a489b4bacf614f0949d (patch) | |
tree | ce3ecb6be5947909ce8b83c7632d34eb69d1f7ac /src/osd | |
parent | 9eb2734495cda6ff0391f317ca2565b421476738 (diff) |
placed back OPENGL check since GL is not same as GLES (nw)
Diffstat (limited to 'src/osd')
-rw-r--r-- | src/osd/modules/lib/osdobj_common.cpp | 2 | ||||
-rw-r--r-- | src/osd/modules/opengl/osd_opengl.h | 4 | ||||
-rw-r--r-- | src/osd/modules/render/draw13.cpp | 4 | ||||
-rw-r--r-- | src/osd/sdl/osdsdl.h | 2 | ||||
-rw-r--r-- | src/osd/sdl/sdlmain.cpp | 5 | ||||
-rw-r--r-- | src/osd/sdl/video.cpp | 106 | ||||
-rw-r--r-- | src/osd/sdl/window.cpp | 2 | ||||
-rw-r--r-- | src/osd/windows/video.cpp | 92 | ||||
-rw-r--r-- | src/osd/windows/video.h | 2 | ||||
-rw-r--r-- | src/osd/windows/window.cpp | 4 |
10 files changed, 128 insertions, 95 deletions
diff --git a/src/osd/modules/lib/osdobj_common.cpp b/src/osd/modules/lib/osdobj_common.cpp index c65d60b9527..b36bbf60df3 100644 --- a/src/osd/modules/lib/osdobj_common.cpp +++ b/src/osd/modules/lib/osdobj_common.cpp @@ -86,6 +86,7 @@ const options_entry osd_options::s_option_entries[] = { OSDOPTION_FILTER ";glfilter;flt", "1", OPTION_BOOLEAN, "enable bilinear filtering on screen output" }, { OSDOPTION_PRESCALE, "1", OPTION_INTEGER, "scale screen rendering by this amount in software" }, +#if USE_OPENGL { NULL, NULL, OPTION_HEADER, "OpenGL-SPECIFIC OPTIONS" }, { OSDOPTION_GL_FORCEPOW2TEXTURE, "0", OPTION_BOOLEAN, "force power of two textures (default no)" }, { OSDOPTION_GL_NOTEXTURERECT, "0", OPTION_BOOLEAN, "don't use OpenGL GL_ARB_texture_rectangle (default on)" }, @@ -113,6 +114,7 @@ const options_entry osd_options::s_option_entries[] = { OSDOPTION_SHADER_SCREEN "7", OSDOPTVAL_NONE, OPTION_STRING, "custom OpenGL GLSL shader screen bitmap 7" }, { OSDOPTION_SHADER_SCREEN "8", OSDOPTVAL_NONE, OPTION_STRING, "custom OpenGL GLSL shader screen bitmap 8" }, { OSDOPTION_SHADER_SCREEN "9", OSDOPTVAL_NONE, OPTION_STRING, "custom OpenGL GLSL shader screen bitmap 9" }, +#endif { NULL, NULL, OPTION_HEADER, "OSD SOUND OPTIONS" }, { OSDOPTION_SOUND, OSDOPTVAL_AUTO, OPTION_STRING, "sound output method: " }, diff --git a/src/osd/modules/opengl/osd_opengl.h b/src/osd/modules/opengl/osd_opengl.h index 481925045e5..26f577f343e 100644 --- a/src/osd/modules/opengl/osd_opengl.h +++ b/src/osd/modules/opengl/osd_opengl.h @@ -12,6 +12,8 @@ #ifndef _OSD_OPENGL_H #define _OSD_OPENGL_H + #if USE_OPENGL + /* equivalent to #include <GL/gl.h> * #include <GL/glext.h> */ @@ -109,6 +111,8 @@ #endif /* USE_DISPATCH_GL */ + #endif /* USE_OPENGL */ + #endif /* _OSD_OPENGL_H */ #else /* MANGLE */ diff --git a/src/osd/modules/render/draw13.cpp b/src/osd/modules/render/draw13.cpp index 623840525ad..320cc9f3a62 100644 --- a/src/osd/modules/render/draw13.cpp +++ b/src/osd/modules/render/draw13.cpp @@ -546,8 +546,12 @@ int drawsdl2_init(running_machine &machine, osd_draw_callbacks *callbacks) osd_printf_verbose("Using SDL native texturing driver (SDL 2.0+)\n"); +#if USE_OPENGL // Load the GL library now - else MT will fail const char *stemp = downcast<sdl_options &>(machine.options()).gl_lib(); +#else + const char *stemp = NULL; +#endif if (stemp != NULL && strcmp(stemp, OSDOPTVAL_AUTO) == 0) stemp = NULL; diff --git a/src/osd/sdl/osdsdl.h b/src/osd/sdl/osdsdl.h index 7ba8832da6e..bca299eb49d 100644 --- a/src/osd/sdl/osdsdl.h +++ b/src/osd/sdl/osdsdl.h @@ -122,7 +122,9 @@ public: const char *video_driver() const { return value(SDLOPTION_VIDEODRIVER); } const char *render_driver() const { return value(SDLOPTION_RENDERDRIVER); } const char *audio_driver() const { return value(SDLOPTION_AUDIODRIVER); } +#if USE_OPENGL const char *gl_lib() const { return value(SDLOPTION_GL_LIB); } +#endif private: static const options_entry s_option_entries[]; diff --git a/src/osd/sdl/sdlmain.cpp b/src/osd/sdl/sdlmain.cpp index 43c49480d2b..530aa41c9d4 100644 --- a/src/osd/sdl/sdlmain.cpp +++ b/src/osd/sdl/sdlmain.cpp @@ -164,7 +164,9 @@ const options_entry sdl_options::s_option_entries[] = { SDLOPTION_VIDEODRIVER ";vd", OSDOPTVAL_AUTO, OPTION_STRING, "sdl video driver to use ('x11', 'directfb', ... or 'auto' for SDL default" }, { SDLOPTION_RENDERDRIVER ";rd", OSDOPTVAL_AUTO, OPTION_STRING, "sdl render driver to use ('software', 'opengl', 'directfb' ... or 'auto' for SDL default" }, { SDLOPTION_AUDIODRIVER ";ad", OSDOPTVAL_AUTO, OPTION_STRING, "sdl audio driver to use ('alsa', 'arts', ... or 'auto' for SDL default" }, +#if USE_OPENGL { SDLOPTION_GL_LIB, SDLOPTVAL_GLLIB, OPTION_STRING, "alternative libGL.so to use; 'auto' for system default" }, +#endif // End of list { NULL } @@ -343,6 +345,7 @@ static void defines_verbose(void) osd_printf_verbose("\n"); osd_printf_verbose("SDL/OpenGL defines: "); osd_printf_verbose("SDL_COMPILEDVERSION=%d ", SDL_COMPILEDVERSION); + MACRO_VERBOSE(USE_OPENGL); MACRO_VERBOSE(USE_DISPATCH_GL); osd_printf_verbose("\n"); osd_printf_verbose("Compiler defines A: "); @@ -484,6 +487,7 @@ void sdl_osd_interface::init(running_machine &machine) /* Set the SDL environment variable for drivers wanting to load the * lib at startup. */ +#if USE_OPENGL /* FIXME: move lib loading code from drawogl.c here */ stemp = options().gl_lib(); @@ -492,6 +496,7 @@ void sdl_osd_interface::init(running_machine &machine) osd_setenv("SDL_VIDEO_GL_DRIVER", stemp, 1); osd_printf_verbose("Setting SDL_VIDEO_GL_DRIVER = '%s' ...\n", stemp); } +#endif /* get number of processors */ stemp = options().numprocessors(); diff --git a/src/osd/sdl/video.cpp b/src/osd/sdl/video.cpp index 578c2bde327..ca7286d5696 100644 --- a/src/osd/sdl/video.cpp +++ b/src/osd/sdl/video.cpp @@ -313,12 +313,14 @@ static void check_osd_inputs(running_machine &machine) machine.ui().popup_time(1, "Keepaspect %s", video_config.keepaspect? "enabled":"disabled"); } - //FIXME: on a per window basis - if (machine.ui_input().pressed(IPT_OSD_5)) - { - video_config.filter = !video_config.filter; - machine.ui().popup_time(1, "Filter %s", video_config.filter? "enabled":"disabled"); - } + #if (USE_OPENGL) + //FIXME: on a per window basis + if (machine.ui_input().pressed(IPT_OSD_5)) + { + video_config.filter = !video_config.filter; + machine.ui().popup_time(1, "Filter %s", video_config.filter? "enabled":"disabled"); + } + #endif if (machine.ui_input().pressed(IPT_OSD_6)) window->modify_prescale(-1); @@ -375,7 +377,7 @@ void sdl_osd_interface::extract_video_config() if (options().seconds_to_run() == 0) osd_printf_warning("Warning: -video none doesn't make much sense without -seconds_to_run\n"); } - else if (strcmp(stemp, SDLOPTVAL_OPENGL) == 0) + else if (USE_OPENGL && (strcmp(stemp, SDLOPTVAL_OPENGL) == 0)) video_config.mode = VIDEO_MODE_OPENGL; else if ((strcmp(stemp, SDLOPTVAL_SDL2ACCEL) == 0)) { @@ -407,62 +409,64 @@ void sdl_osd_interface::extract_video_config() osd_printf_warning("Invalid prescale option, reverting to '1'\n"); video_config.prescale = 1; } - // default to working video please - video_config.forcepow2texture = options().gl_force_pow2_texture(); - video_config.allowtexturerect = !(options().gl_no_texture_rect()); - video_config.vbo = options().gl_vbo(); - video_config.pbo = options().gl_pbo(); - video_config.glsl = options().gl_glsl(); - if ( video_config.glsl ) - { - int i; + #if (USE_OPENGL) + // default to working video please + video_config.forcepow2texture = options().gl_force_pow2_texture(); + video_config.allowtexturerect = !(options().gl_no_texture_rect()); + video_config.vbo = options().gl_vbo(); + video_config.pbo = options().gl_pbo(); + video_config.glsl = options().gl_glsl(); + if ( video_config.glsl ) + { + int i; - video_config.glsl_filter = options().glsl_filter(); + video_config.glsl_filter = options().glsl_filter(); - video_config.glsl_shader_mamebm_num=0; + video_config.glsl_shader_mamebm_num=0; - for(i=0; i<GLSL_SHADER_MAX; i++) - { - stemp = options().shader_mame(i); - if (stemp && strcmp(stemp, OSDOPTVAL_NONE) != 0 && strlen(stemp)>0) + for(i=0; i<GLSL_SHADER_MAX; i++) { - video_config.glsl_shader_mamebm[i] = (char *) malloc(strlen(stemp)+1); - strcpy(video_config.glsl_shader_mamebm[i], stemp); - video_config.glsl_shader_mamebm_num++; - } else { - video_config.glsl_shader_mamebm[i] = NULL; + stemp = options().shader_mame(i); + if (stemp && strcmp(stemp, OSDOPTVAL_NONE) != 0 && strlen(stemp)>0) + { + video_config.glsl_shader_mamebm[i] = (char *) malloc(strlen(stemp)+1); + strcpy(video_config.glsl_shader_mamebm[i], stemp); + video_config.glsl_shader_mamebm_num++; + } else { + video_config.glsl_shader_mamebm[i] = NULL; + } } - } - video_config.glsl_shader_scrn_num=0; + video_config.glsl_shader_scrn_num=0; - for(i=0; i<GLSL_SHADER_MAX; i++) - { - stemp = options().shader_screen(i); - if (stemp && strcmp(stemp, OSDOPTVAL_NONE) != 0 && strlen(stemp)>0) + for(i=0; i<GLSL_SHADER_MAX; i++) + { + stemp = options().shader_screen(i); + if (stemp && strcmp(stemp, OSDOPTVAL_NONE) != 0 && strlen(stemp)>0) + { + video_config.glsl_shader_scrn[i] = (char *) malloc(strlen(stemp)+1); + strcpy(video_config.glsl_shader_scrn[i], stemp); + video_config.glsl_shader_scrn_num++; + } else { + video_config.glsl_shader_scrn[i] = NULL; + } + } + } else { + int i; + video_config.glsl_filter = 0; + video_config.glsl_shader_mamebm_num=0; + for(i=0; i<GLSL_SHADER_MAX; i++) + { + video_config.glsl_shader_mamebm[i] = NULL; + } + video_config.glsl_shader_scrn_num=0; + for(i=0; i<GLSL_SHADER_MAX; i++) { - video_config.glsl_shader_scrn[i] = (char *) malloc(strlen(stemp)+1); - strcpy(video_config.glsl_shader_scrn[i], stemp); - video_config.glsl_shader_scrn_num++; - } else { video_config.glsl_shader_scrn[i] = NULL; } } - } else { - int i; - video_config.glsl_filter = 0; - video_config.glsl_shader_mamebm_num=0; - for(i=0; i<GLSL_SHADER_MAX; i++) - { - video_config.glsl_shader_mamebm[i] = NULL; - } - video_config.glsl_shader_scrn_num=0; - for(i=0; i<GLSL_SHADER_MAX; i++) - { - video_config.glsl_shader_scrn[i] = NULL; - } - } + #endif /* USE_OPENGL */ // misc options: sanity check values // global options: sanity check values diff --git a/src/osd/sdl/window.cpp b/src/osd/sdl/window.cpp index e94a64a24dc..113a00b47bf 100644 --- a/src/osd/sdl/window.cpp +++ b/src/osd/sdl/window.cpp @@ -223,11 +223,13 @@ bool sdl_osd_interface::window_init() } // initialize the drawers +#if USE_OPENGL if (video_config.mode == VIDEO_MODE_OPENGL) { if (drawogl_init(machine(), &draw)) video_config.mode = VIDEO_MODE_SOFT; } +#endif if (video_config.mode == VIDEO_MODE_SDL2ACCEL) { if (drawsdl2_init(machine(), &draw)) diff --git a/src/osd/windows/video.cpp b/src/osd/windows/video.cpp index d62fe36c2cb..32df3d25ba4 100644 --- a/src/osd/windows/video.cpp +++ b/src/osd/windows/video.cpp @@ -385,8 +385,10 @@ void windows_osd_interface::extract_video_config() if (options().seconds_to_run() == 0) osd_printf_warning("Warning: -video none doesn't make much sense without -seconds_to_run\n"); } +#if (USE_OPENGL) else if (strcmp(stemp, "opengl") == 0) video_config.mode = VIDEO_MODE_OPENGL; +#endif else { osd_printf_warning("Invalid video value %s; reverting to gdi\n", stemp); @@ -405,62 +407,64 @@ void windows_osd_interface::extract_video_config() osd_printf_warning("Invalid prescale option, reverting to '1'\n"); video_config.prescale = 1; } - // default to working video please - video_config.forcepow2texture = options().gl_force_pow2_texture(); - video_config.allowtexturerect = !(options().gl_no_texture_rect()); - video_config.vbo = options().gl_vbo(); - video_config.pbo = options().gl_pbo(); - video_config.glsl = options().gl_glsl(); - if ( video_config.glsl ) - { - int i; + #if (USE_OPENGL) + // default to working video please + video_config.forcepow2texture = options().gl_force_pow2_texture(); + video_config.allowtexturerect = !(options().gl_no_texture_rect()); + video_config.vbo = options().gl_vbo(); + video_config.pbo = options().gl_pbo(); + video_config.glsl = options().gl_glsl(); + if ( video_config.glsl ) + { + int i; - video_config.glsl_filter = options().glsl_filter(); + video_config.glsl_filter = options().glsl_filter(); - video_config.glsl_shader_mamebm_num=0; + video_config.glsl_shader_mamebm_num=0; - for(i=0; i<GLSL_SHADER_MAX; i++) - { - stemp = options().shader_mame(i); - if (stemp && strcmp(stemp, OSDOPTVAL_NONE) != 0 && strlen(stemp)>0) + for(i=0; i<GLSL_SHADER_MAX; i++) { - video_config.glsl_shader_mamebm[i] = (char *) malloc(strlen(stemp)+1); - strcpy(video_config.glsl_shader_mamebm[i], stemp); - video_config.glsl_shader_mamebm_num++; - } else { - video_config.glsl_shader_mamebm[i] = NULL; + stemp = options().shader_mame(i); + if (stemp && strcmp(stemp, OSDOPTVAL_NONE) != 0 && strlen(stemp)>0) + { + video_config.glsl_shader_mamebm[i] = (char *) malloc(strlen(stemp)+1); + strcpy(video_config.glsl_shader_mamebm[i], stemp); + video_config.glsl_shader_mamebm_num++; + } else { + video_config.glsl_shader_mamebm[i] = NULL; + } } - } - video_config.glsl_shader_scrn_num=0; + video_config.glsl_shader_scrn_num=0; - for(i=0; i<GLSL_SHADER_MAX; i++) - { - stemp = options().shader_screen(i); - if (stemp && strcmp(stemp, OSDOPTVAL_NONE) != 0 && strlen(stemp)>0) + for(i=0; i<GLSL_SHADER_MAX; i++) + { + stemp = options().shader_screen(i); + if (stemp && strcmp(stemp, OSDOPTVAL_NONE) != 0 && strlen(stemp)>0) + { + video_config.glsl_shader_scrn[i] = (char *) malloc(strlen(stemp)+1); + strcpy(video_config.glsl_shader_scrn[i], stemp); + video_config.glsl_shader_scrn_num++; + } else { + video_config.glsl_shader_scrn[i] = NULL; + } + } + } else { + int i; + video_config.glsl_filter = 0; + video_config.glsl_shader_mamebm_num=0; + for(i=0; i<GLSL_SHADER_MAX; i++) + { + video_config.glsl_shader_mamebm[i] = NULL; + } + video_config.glsl_shader_scrn_num=0; + for(i=0; i<GLSL_SHADER_MAX; i++) { - video_config.glsl_shader_scrn[i] = (char *) malloc(strlen(stemp)+1); - strcpy(video_config.glsl_shader_scrn[i], stemp); - video_config.glsl_shader_scrn_num++; - } else { video_config.glsl_shader_scrn[i] = NULL; } } - } else { - int i; - video_config.glsl_filter = 0; - video_config.glsl_shader_mamebm_num=0; - for(i=0; i<GLSL_SHADER_MAX; i++) - { - video_config.glsl_shader_mamebm[i] = NULL; - } - video_config.glsl_shader_scrn_num=0; - for(i=0; i<GLSL_SHADER_MAX; i++) - { - video_config.glsl_shader_scrn[i] = NULL; - } - } + #endif /* USE_OPENGL */ } diff --git a/src/osd/windows/video.h b/src/osd/windows/video.h index 9cc833f67e2..4b6df303f1f 100644 --- a/src/osd/windows/video.h +++ b/src/osd/windows/video.h @@ -23,7 +23,9 @@ enum { VIDEO_MODE_GDI, VIDEO_MODE_DDRAW, VIDEO_MODE_BGFX, +#if (USE_OPENGL) VIDEO_MODE_OPENGL, +#endif VIDEO_MODE_D3D }; diff --git a/src/osd/windows/window.cpp b/src/osd/windows/window.cpp index 8a177f53963..b73afbc6445 100644 --- a/src/osd/windows/window.cpp +++ b/src/osd/windows/window.cpp @@ -39,7 +39,9 @@ extern int drawgdi_init(running_machine &machine, osd_draw_callbacks *callbacks) extern int drawdd_init(running_machine &machine, osd_draw_callbacks *callbacks); extern int drawd3d_init(running_machine &machine, osd_draw_callbacks *callbacks); extern int drawbgfx_init(running_machine &machine, osd_draw_callbacks *callbacks); +#if (USE_OPENGL) extern int drawogl_init(running_machine &machine, osd_draw_callbacks *callbacks); +#endif //============================================================ // PARAMETERS @@ -228,8 +230,10 @@ bool windows_osd_interface::window_init() drawbgfx_init(machine(), &draw); if (video_config.mode == VIDEO_MODE_NONE) drawnone_init(machine(), &draw); +#if (USE_OPENGL) if (video_config.mode == VIDEO_MODE_OPENGL) drawogl_init(machine(), &draw); +#endif // set up the window list last_window_ptr = &win_window_list; |