X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fperformanceprefs.C;h=dbeee00423c53e83f48f7b296f2e91a7c526eade;hp=5c35553f1d9f5c93e7aaadf690ee822cde8920da;hb=c053918502e6ec08433a0650ce37af35431f15b7;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1 diff --git a/cinelerra-5.1/cinelerra/performanceprefs.C b/cinelerra-5.1/cinelerra/performanceprefs.C index 5c35553f..dbeee004 100644 --- a/cinelerra-5.1/cinelerra/performanceprefs.C +++ b/cinelerra-5.1/cinelerra/performanceprefs.C @@ -73,6 +73,11 @@ void PerformancePrefs::create_objects() int y0 = y; win = add_subwindow(new BC_Title(x, y + 5, _("Cache size (MB):"), MEDIUMFONT, resources->text_default)); maxw = win->get_w(); + int x1 = x + xmargin4; + win = add_subwindow(new BC_Title(x1, y + 5, _("Use HW Device:"))); + x1 += win->get_w() + 5; + PrefsUseHWDev *use_hw_dev = new PrefsUseHWDev(pwindow, this, x1, y); + use_hw_dev->create_objects(); int y1 = y += 30; win = add_subwindow(new BC_Title(x, y + 5, _("Seconds to preroll renders:"))); @@ -88,11 +93,11 @@ void PerformancePrefs::create_objects() preroll->create_objects(); y += 30; - int x1 = x + xmargin4; + x1 = x + xmargin4; BC_Title *smp_title = new BC_Title(x1, y + 5, _("Project SMP cpus:")); add_subwindow(smp_title); - int x2 = x1 + smp_title->get_w() + 5; - PrefsProjectSMP *proj_smp = new PrefsProjectSMP(pwindow, this, x2, y); + x1 += smp_title->get_w() + 5; + PrefsProjectSMP *proj_smp = new PrefsProjectSMP(pwindow, this, x1, y); proj_smp->create_objects(); PrefsForceUniprocessor *force_1cpu = new PrefsForceUniprocessor(pwindow, x, y); @@ -317,6 +322,40 @@ int CICacheSize::handle_event() } +PrefsUseHWDev::PrefsUseHWDev(PreferencesWindow *pwindow, + PerformancePrefs *subwindow, int x, int y) + : BC_PopupTextBox(subwindow,0,0,x,y,100,80,LISTBOX_TEXT) +{ + this->pwindow = pwindow; +} + +void PrefsUseHWDev::create_objects() +{ + BC_PopupTextBox::create_objects(); + set_tooltip(_("vdpau - Nvidia, Nouveau\n" + "vaapi - Broadcom, Intel HD graphics, Amdgup, Radeon\n" + "cuda - Nvidia + Cuda SDK")); + hw_dev_names.append(new BC_ListBoxItem(_("none"))); +#ifdef HAVE_VAAPI + hw_dev_names.append(new BC_ListBoxItem("vaapi")); +#endif +#ifdef HAVE_VDPAU + hw_dev_names.append(new BC_ListBoxItem("vdpau")); +#endif +#ifdef HAVE_NV + hw_dev_names.append(new BC_ListBoxItem("cuda")); +#endif + update_list(&hw_dev_names); + update(&pwindow->thread->preferences->use_hw_dev[0]); +} + +int PrefsUseHWDev::handle_event() +{ + strncpy(&pwindow->thread->preferences->use_hw_dev[0], + get_text(), sizeof(pwindow->thread->preferences->use_hw_dev)); + return 1; +} + PrefsRenderPreroll::PrefsRenderPreroll(PreferencesWindow *pwindow, PerformancePrefs *subwindow, int x,