[Libreoffice-commits] core.git: cui/source cui/uiconfig include/opencl opencl/source
Michael Meeks
michael.meeks at collabora.com
Fri Jul 1 19:03:27 UTC 2016
cui/source/options/optopencl.cxx | 13 +++++--------
cui/source/options/optopencl.hxx | 3 ++-
cui/uiconfig/ui/optopenclpage.ui | 23 +++++++----------------
include/opencl/openclwrapper.hxx | 5 ++++-
opencl/source/openclwrapper.cxx | 5 +++++
5 files changed, 23 insertions(+), 26 deletions(-)
New commits:
commit ef47ce2397d4ed453fe01d994d13a13f442ec3bb
Author: Michael Meeks <michael.meeks at collabora.com>
Date: Fri Jul 1 18:24:48 2016 +0100
tdf#90336 - further cleanup of OpenCL options page.
Still problematic; since we only show OpenCL as being available
if it has already been initialized and used.
Change-Id: I5e82a3f778f4f2025408330b6d9da51402d01e79
Reviewed-on: https://gerrit.libreoffice.org/26866
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Michael Meeks <michael.meeks at collabora.com>
diff --git a/cui/source/options/optopencl.cxx b/cui/source/options/optopencl.cxx
index ec8f432..cbe37dd 100644
--- a/cui/source/options/optopencl.cxx
+++ b/cui/source/options/optopencl.cxx
@@ -47,20 +47,17 @@ SvxOpenCLTabPage::SvxOpenCLTabPage(vcl::Window* pParent, const SfxItemSet& rSet)
{
get(mpUseSwInterpreter, "useswinterpreter");
get(mpUseOpenCL, "useopencl");
- get(clUsed,"openclused");
+ get(mpOclUsed,"openclused");
+ get(mpOclNotUsed,"openclnotused");
mpUseSwInterpreter->Check(officecfg::Office::Common::Misc::UseSwInterpreter::get());
mpUseOpenCL->Check(maConfig.mbUseOpenCL);
mpUseOpenCL->SetClickHdl(LINK(this, SvxOpenCLTabPage, EnableOpenCLHdl));
- cl_device_id idTest=opencl::gpuEnv.mpDevID;
- if(!idTest)
- {
- clUsed->SetText("Yes");
- }else{
- clUsed->SetText("No");
- }
+ bool bCLUsed = opencl::GPUEnv::isOpenCLEnabled();
+ mpOclUsed->Show(bCLUsed);
+ mpOclNotUsed->Show(!bCLUsed);
}
SvxOpenCLTabPage::~SvxOpenCLTabPage()
diff --git a/cui/source/options/optopencl.hxx b/cui/source/options/optopencl.hxx
index d637968..ab62893 100644
--- a/cui/source/options/optopencl.hxx
+++ b/cui/source/options/optopencl.hxx
@@ -34,7 +34,8 @@ private:
VclPtr<CheckBox> mpUseSwInterpreter;
VclPtr<CheckBox> mpUseOpenCL;
- VclPtr<FixedText> clUsed;
+ VclPtr<FixedText> mpOclUsed;
+ VclPtr<FixedText> mpOclNotUsed;
DECL_STATIC_LINK_TYPED(SvxOpenCLTabPage, EnableOpenCLHdl, Button*, void);
diff --git a/cui/uiconfig/ui/optopenclpage.ui b/cui/uiconfig/ui/optopenclpage.ui
index 6b78e67..86eee57 100644
--- a/cui/uiconfig/ui/optopenclpage.ui
+++ b/cui/uiconfig/ui/optopenclpage.ui
@@ -58,25 +58,22 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="label2">
- <property name="visible">True</property>
+ <object class="GtkLabel" id="openclused">
+ <property name="visible">False</property>
<property name="can_focus">False</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Will OpenCL be used?</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
+ <property name="label" translatable="yes">OpenCL is available for use.</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">3</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="openclused">
- <property name="visible">True</property>
+ <object class="GtkLabel" id="openclnotused">
+ <property name="visible">False</property>
<property name="can_focus">False</property>
+ <property name="label" translatable="yes">OpenCL is not used.</property>
</object>
<packing>
<property name="expand">False</property>
@@ -84,12 +81,6 @@
<property name="position">3</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
</object>
</child>
</object>
diff --git a/include/opencl/openclwrapper.hxx b/include/opencl/openclwrapper.hxx
index 178c685..b83c1fc 100644
--- a/include/opencl/openclwrapper.hxx
+++ b/include/opencl/openclwrapper.hxx
@@ -35,7 +35,7 @@ struct KernelEnv
cl_program mpkProgram;
};
-struct GPUEnv
+struct OPENCL_DLLPUBLIC GPUEnv
{
//share vb in all modules in hb library
cl_platform_id mpPlatformID;
@@ -48,9 +48,12 @@ struct GPUEnv
bool mnKhrFp64Flag;
bool mnAmdFp64Flag;
cl_uint mnPreferredVectorWidthFloat;
+
+ static bool isOpenCLEnabled();
};
extern OPENCL_DLLPUBLIC GPUEnv gpuEnv;
+
OPENCL_DLLPUBLIC bool generatBinFromKernelSource( cl_program program, const char * clFileName );
OPENCL_DLLPUBLIC bool buildProgramFromBinary(const char* buildOption, GPUEnv* gpuEnv, const char* filename, int idx);
OPENCL_DLLPUBLIC void setKernelEnv( KernelEnv *envInfo );
diff --git a/opencl/source/openclwrapper.cxx b/opencl/source/openclwrapper.cxx
index ace3210..a54d86a 100644
--- a/opencl/source/openclwrapper.cxx
+++ b/opencl/source/openclwrapper.cxx
@@ -865,6 +865,11 @@ const char* errorString(cl_int nError)
#undef CASE
}
+bool GPUEnv::isOpenCLEnabled()
+{
+ return gpuEnv.mpDevID;
+}
+
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
More information about the Libreoffice-commits
mailing list