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:")));
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);
}
+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, Amdgpu\n"
+ "vaapi - Broadcom, Intel HD graphics, 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,