image-surface/software rendering as preference
This commit is contained in:
parent
d6a5e6fc2e
commit
c6e0c8430f
|
@ -21,6 +21,10 @@
|
|||
#include "gtk2ardour-config.h"
|
||||
#endif
|
||||
|
||||
#if !defined USE_CAIRO_IMAGE_SURFACE && !defined NDEBUG
|
||||
#define OPTIONAL_CAIRO_IMAGE_SURFACE
|
||||
#endif
|
||||
|
||||
#include <cairo/cairo.h>
|
||||
|
||||
#include <boost/algorithm/string.hpp>
|
||||
|
@ -2776,18 +2780,31 @@ RCOptionEditor::RCOptionEditor ()
|
|||
|
||||
/* INTERFACE */
|
||||
|
||||
#ifdef OPTIONAL_CAIRO_IMAGE_SURFACE
|
||||
BoolOption* bgo = new BoolOption (
|
||||
"cairo-image-surface",
|
||||
_("Disable Graphics Hardware Acceleration (requires restart)"),
|
||||
sigc::mem_fun (*_ui_config, &UIConfiguration::get_cairo_image_surface),
|
||||
sigc::mem_fun (*_ui_config, &UIConfiguration::set_cairo_image_surface)
|
||||
);
|
||||
|
||||
Gtkmm2ext::UI::instance()->set_tip (bgo->tip_widget(), string_compose (
|
||||
_("Render large parts of the application user-interface in software, instead of using 2D-graphics acceleration.\nThis requires restarting %1 before having an effect"), PROGRAM_NAME));
|
||||
add_option (S_("Preferences|GUI"), bgo);
|
||||
#endif
|
||||
|
||||
#ifdef CAIRO_SUPPORTS_FORCE_BUGGY_GRADIENTS_ENVIRONMENT_VARIABLE
|
||||
BoolOption* bgo = new BoolOption (
|
||||
"buggy-gradients",
|
||||
_("Possibly improve slow graphical performance"),
|
||||
_("Possibly improve slow graphical performance (requires restart)"),
|
||||
sigc::mem_fun (*_ui_config, &UIConfiguration::get_buggy_gradients),
|
||||
sigc::mem_fun (*_ui_config, &UIConfiguration::set_buggy_gradients)
|
||||
);
|
||||
|
||||
Gtkmm2ext::UI::instance()->set_tip (bgo->tip_widget(), string_compose (_("This requires restarting %1 before having an effect"), PROGRAM_NAME));
|
||||
Gtkmm2ext::UI::instance()->set_tip (bgo->tip_widget(), string_compose (_("Disables hardware gradient rendering on buggy video drivers (\"buggy gradients patch\").\nThis requires restarting %1 before having an effect"), PROGRAM_NAME));
|
||||
add_option (S_("Preferences|GUI"), bgo);
|
||||
#endif
|
||||
|
||||
|
||||
add_option (S_("Preferences|GUI"),
|
||||
new BoolOption (
|
||||
"widget-prelight",
|
||||
|
|
|
@ -17,6 +17,10 @@
|
|||
|
||||
*/
|
||||
|
||||
#if !defined USE_CAIRO_IMAGE_SURFACE && !defined NDEBUG
|
||||
#define OPTIONAL_CAIRO_IMAGE_SURFACE
|
||||
#endif
|
||||
|
||||
#include <iostream>
|
||||
#include <sstream>
|
||||
#include <unistd.h>
|
||||
|
@ -156,6 +160,11 @@ UIConfiguration::pre_gui_init ()
|
|||
if (get_buggy_gradients()) {
|
||||
g_setenv ("FORCE_BUGGY_GRADIENTS", "1", 1);
|
||||
}
|
||||
#endif
|
||||
#ifdef OPTIONAL_CAIRO_IMAGE_SURFACE
|
||||
if (get_cairo_image_surface()) {
|
||||
g_setenv ("ARDOUR_IMAGE_SURFACE", "1", 1);
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -72,4 +72,5 @@ UI_CONFIG_VARIABLE (double, waveform_clip_level, "waveform-clip-level", -0.09339
|
|||
UI_CONFIG_VARIABLE (bool, hiding_groups_deactivates_groups, "hiding-groups-deactivates-groups", true)
|
||||
UI_CONFIG_VARIABLE (bool, no_new_session_dialog, "no-new-session-dialog", false)
|
||||
UI_CONFIG_VARIABLE (bool, buggy_gradients, "buggy-gradients", false)
|
||||
UI_CONFIG_VARIABLE (bool, cairo_image_surface, "cairo-image-surface", false)
|
||||
UI_CONFIG_VARIABLE (uint64_t, waveform_cache_size, "waveform-cache-size", 100) /* units of megagbytes */
|
||||
|
|
Loading…
Reference in New Issue