From bd8cee05e6dbf2dca9ca617d8ad59d0242c62238 Mon Sep 17 00:00:00 2001 From: Rom Walton Date: Tue, 15 May 2012 16:42:39 +0000 Subject: [PATCH] - MGR: Add OpenCL icon to the ProjectInfo wizard page. clientgui/ ProjectInfoPage.cpp, .h clientgui/res/ openclicon.xpm clientgui/res/templates/ openclicon.png lib/ diagnostics.cpp svn path=/trunk/boinc/; revision=25676 --- checkin_notes | 12 +++ clientgui/ProjectInfoPage.cpp | 23 ++++- clientgui/ProjectInfoPage.h | 1 + clientgui/res/openclicon.xpm | 127 +++++++++++++++++++++++++ clientgui/res/templates/openclicon.png | Bin 0 -> 617 bytes lib/diagnostics.cpp | 4 +- 6 files changed, 164 insertions(+), 3 deletions(-) create mode 100644 clientgui/res/openclicon.xpm create mode 100644 clientgui/res/templates/openclicon.png diff --git a/checkin_notes b/checkin_notes index 1bbc706a96..34c00a8947 100644 --- a/checkin_notes +++ b/checkin_notes @@ -3850,3 +3850,15 @@ David 14 May 2012 sched/ plan_class_space.cpp,h + +Rom 15 May 2012 + - MGR: Add OpenCL icon to the ProjectInfo wizard page. + + clientgui/ + ProjectInfoPage.cpp, .h + clientgui/res/ + openclicon.xpm + clientgui/res/templates/ + openclicon.png + lib/ + diagnostics.cpp diff --git a/clientgui/ProjectInfoPage.cpp b/clientgui/ProjectInfoPage.cpp index 36f06bda8a..bde51ee4c9 100644 --- a/clientgui/ProjectInfoPage.cpp +++ b/clientgui/ProjectInfoPage.cpp @@ -44,6 +44,7 @@ #include "res/linuxicon.xpm" #include "res/atiicon.xpm" #include "res/nvidiaicon.xpm" +#include "res/openclicon.xpm" #include "res/multicore.xpm" #include "res/blankicon.xpm" @@ -62,6 +63,7 @@ class CProjectInfo : public wxObject m_bProjectSupportsLinux = false; m_bProjectSupportsCUDA = false; m_bProjectSupportsCAL = false; + m_bProjectSupportsOpenCL = false; m_bProjectSupportsMulticore = false; } @@ -78,6 +80,7 @@ public: bool m_bProjectSupportsLinux; bool m_bProjectSupportsCUDA; bool m_bProjectSupportsCAL; + bool m_bProjectSupportsOpenCL; bool m_bProjectSupportsMulticore; }; @@ -163,6 +166,7 @@ bool CProjectInfoPage::Create( CBOINCBaseWizard* parent ) m_pProjectDetailsSupportedPlatformLinuxCtrl = NULL; m_pProjectDetailsSupportedPlatformATICtrl = NULL; m_pProjectDetailsSupportedPlatformNvidiaCtrl = NULL; + m_pProjectDetailsSupportedPlatformOpenCLCtrl = NULL; m_pProjectDetailsSupportedPlatformMultiCoreCtrl = NULL; m_pProjectDetailsSupportedPlatformBlankCtrl = NULL; m_pProjectURLStaticCtrl = NULL; @@ -310,6 +314,9 @@ void CProjectInfoPage::CreateControls() m_pProjectDetailsSupportedPlatformNvidiaCtrl = new wxStaticBitmap( itemWizardPage23, wxID_STATIC, GetBitmapResource(wxT("nvidiaicon.xpm")), wxDefaultPosition, wxSize(16,16), 0 ); itemBoxSizer26->Add(m_pProjectDetailsSupportedPlatformNvidiaCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5); + m_pProjectDetailsSupportedPlatformOpenCLCtrl = new wxStaticBitmap( itemWizardPage23, wxID_STATIC, GetBitmapResource(wxT("openclicon.xpm")), wxDefaultPosition, wxSize(16,16), 0 ); + itemBoxSizer26->Add(m_pProjectDetailsSupportedPlatformOpenCLCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5); + m_pProjectDetailsSupportedPlatformMultiCoreCtrl = new wxStaticBitmap( itemWizardPage23, wxID_STATIC, GetBitmapResource(wxT("multicore.xpm")), wxDefaultPosition, wxSize(16,16), 0 ); itemBoxSizer26->Add(m_pProjectDetailsSupportedPlatformMultiCoreCtrl, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5); @@ -406,6 +413,11 @@ wxBitmap CProjectInfoPage::GetBitmapResource( const wxString& name ) wxBitmap bitmap(nvidiaicon_xpm); return bitmap; } + else if (name == wxT("openclicon.xpm")) + { + wxBitmap bitmap(openclicon_xpm); + return bitmap; + } else if (name == wxT("multicore.xpm")) { wxBitmap bitmap(multicore_xpm); @@ -498,12 +510,14 @@ void CProjectInfoPage::OnProjectSelected( wxCommandEvent& WXUNUSED(event) ) { m_pProjectDetailsSupportedPlatformLinuxCtrl->Hide(); m_pProjectDetailsSupportedPlatformATICtrl->Hide(); m_pProjectDetailsSupportedPlatformNvidiaCtrl->Hide(); + m_pProjectDetailsSupportedPlatformOpenCLCtrl->Hide(); m_pProjectDetailsSupportedPlatformMultiCoreCtrl->Hide(); if (pProjectInfo->m_bProjectSupportsWindows) m_pProjectDetailsSupportedPlatformWindowsCtrl->Show(); if (pProjectInfo->m_bProjectSupportsMac) m_pProjectDetailsSupportedPlatformMacCtrl->Show(); if (pProjectInfo->m_bProjectSupportsLinux) m_pProjectDetailsSupportedPlatformLinuxCtrl->Show(); if (pProjectInfo->m_bProjectSupportsCAL) m_pProjectDetailsSupportedPlatformATICtrl->Show(); if (pProjectInfo->m_bProjectSupportsCUDA) m_pProjectDetailsSupportedPlatformNvidiaCtrl->Show(); + if (pProjectInfo->m_bProjectSupportsOpenCL) m_pProjectDetailsSupportedPlatformOpenCLCtrl->Show(); if (pProjectInfo->m_bProjectSupportsMulticore) m_pProjectDetailsSupportedPlatformMultiCoreCtrl->Show(); // Populate non-control data for use in other places of the wizard @@ -568,6 +582,7 @@ void CProjectInfoPage::OnPageChanged( wxWizardExEvent& event ) { wxASSERT(m_pProjectDetailsSupportedPlatformLinuxCtrl); wxASSERT(m_pProjectDetailsSupportedPlatformATICtrl); wxASSERT(m_pProjectDetailsSupportedPlatformNvidiaCtrl); + wxASSERT(m_pProjectDetailsSupportedPlatformOpenCLCtrl); wxASSERT(m_pProjectDetailsSupportedPlatformMultiCoreCtrl); wxASSERT(m_pProjectURLStaticCtrl); wxASSERT(m_pProjectURLCtrl); @@ -698,6 +713,11 @@ void CProjectInfoPage::OnPageChanged( wxWizardExEvent& event ) { if (!pDoc->state.have_ati) continue; } + if (strProjectPlatform.Find(_T("[opencl")) != wxNOT_FOUND) { + pProjectInfo->m_bProjectSupportsOpenCL = true; + if (!pDoc->state.have_ati) continue; + } + if (strProjectPlatform.Find(_T("[mt")) != wxNOT_FOUND) { pProjectInfo->m_bProjectSupportsMulticore = true; if (pDoc->state.host_info.p_ncpus < 4) continue; @@ -717,12 +737,13 @@ void CProjectInfoPage::OnPageChanged( wxWizardExEvent& event ) { wxLogTrace( wxT("Function Status"), - wxT("CProjectInfoPage::OnPageChanged - Windows: '%d', Mac: '%d', Linux: '%d', Nvidia: '%d', ATI: '%d', Multicore: '%d', Platform: '%d'"), + wxT("CProjectInfoPage::OnPageChanged - Windows: '%d', Mac: '%d', Linux: '%d', Nvidia: '%d', ATI: '%d', OpenCL: '%d', Multicore: '%d', Platform: '%d'"), pProjectInfo->m_bProjectSupportsWindows, pProjectInfo->m_bProjectSupportsMac, pProjectInfo->m_bProjectSupportsLinux, pProjectInfo->m_bProjectSupportsCUDA, pProjectInfo->m_bProjectSupportsCAL, + pProjectInfo->m_bProjectSupportsOpenCL, pProjectInfo->m_bProjectSupportsMulticore, pProjectInfo->m_bSupportedPlatformFound ); diff --git a/clientgui/ProjectInfoPage.h b/clientgui/ProjectInfoPage.h index 320ef29971..93c63e180a 100644 --- a/clientgui/ProjectInfoPage.h +++ b/clientgui/ProjectInfoPage.h @@ -129,6 +129,7 @@ public: wxStaticBitmap* m_pProjectDetailsSupportedPlatformATICtrl; wxStaticBitmap* m_pProjectDetailsSupportedPlatformNvidiaCtrl; wxStaticBitmap* m_pProjectDetailsSupportedPlatformMultiCoreCtrl; + wxStaticBitmap* m_pProjectDetailsSupportedPlatformOpenCLCtrl; wxStaticBitmap* m_pProjectDetailsSupportedPlatformBlankCtrl; wxStaticText* m_pProjectURLStaticCtrl; wxTextCtrl* m_pProjectURLCtrl; diff --git a/clientgui/res/openclicon.xpm b/clientgui/res/openclicon.xpm new file mode 100644 index 0000000000..1746ad80a3 --- /dev/null +++ b/clientgui/res/openclicon.xpm @@ -0,0 +1,127 @@ +// This file is part of BOINC. +// http://boinc.berkeley.edu +// + +/* XPM */ +static char *openclicon_xpm[] = { +/* columns rows colors chars-per-pixel */ +"16 16 101 2", +" c Black", +"_ c #DEDDDD", +"' c #EC2E2D", +"s c #F1D346", +"m c #F6D134", +"8 c #F1C721", +"6 c #D8DF30", +"H c #E24C37", +"o. c #F0807E", +". c #FFFFFF", +"F c #BF8E77", +"x c #E7F5ED", +"^ c #A8D5BB", +"K c #F4D5D4", +"z c #71C694", +"O c #CAE4D6", +"P c #4AAD73", +"W c #EB322C", +"p c #CFDB37", +"t c #14A850", +"l c #74C494", +"d c #F7C31F", +"1 c #14A54F", +"g c #EA974C", +"$. c #EAEAEA", +"+. c #F28E8D", +"n c #F5E791", +"7 c #F0E69C", +"- c #95C540", +"X c #FEFDFC", +"] c #EB5857", +"~ c #91C9A8", +"y c #8DD2A1", +"@ c #E1EFE8", +"b c #FAFADA", +"4 c #BEDE8F", +"+ c #79B98E", +"N c #C07143", +"e c #47B173", +"C c #F0F5F3", +"= c #ADD89E", +", c #F5F9F7", +"a c #EDEA7C", +"! c #EE8887", +"R c #DE5748", +"J c #E93D29", +") c #ADACAC", +"i c #CBE192", +".. c #E4E4E3", +"# c #FDFEFC", +"U c #E4E4E4", +"L c #89CCA5", +"$ c #FDFEFD", +"w c #FDFEFE", +"@. c #F2A2A0", +"Z c #59BB81", +"> c #F3E7D5", +"B c #EFB89C", +"O. c #EF8684", +"2 c #83CF95", +"f c #F0A128", +"& c #8AD0A5", +"E c #EC382A", +": c #D3E093", +"( c #D6D6D5", +"S c #F4F4EF", +"v c #FEFFFD", +"q c #FEFFFE", +"D c #B39F78", +"j c #FEFFFF", +"< c #8ACDA7", +"V c #E8B7B1", +"[ c #88D0A6", +"A c #7CC89B", +"Q c #EC2F2D", +"M c #CA9E49", +"o c #E4F2ED", +"r c #7AC89A", +"Y c #AAAAAA", +"5 c #C2D635", +"I c #FAFCFB", +"9 c #EBC368", +"X. c #F5BAB9", +"* c #41B04E", +"h c #FAF6F5", +"k c #90C9A6", +"} c #FDFDFD", +"3 c #6BBE43", +"u c #8FCD73", +"0 c #F8F0EC", +" . c None", +"T c #D3D1CF", +"/ c #F6F6F6", +"` c #EE6F6D", +"% c #C6E5D4", +"#. c #D1D1D1", +"; c #A6C93C", +"c c #FEFEFE", +"G c #E29689", +"{ c #BDE4CE", +"| c #CACAC8", +/* pixels */ +". . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . ", +". . . . . X o O + @ # . . . . . ", +". . . $ % & * = - ; : > # . . . ", +". . , < 1 2 3 4 5 6 7 8 9 0 q . ", +". w e r t y u i p a s d f g h . ", +"j k l z x c q v b n m M N B V . ", +"C Z A w . . . . . S D F G H J K ", +"L P I . . . . c U Y T R E W Q ! ", +"~ ^ c . . . / ( ) _ w ` ' Q Q ] ", +"[ { . . . } | .... . X.o.O.+.@.", +". . . . . . #.$.. . . . . . . . ", +". . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . " +}; diff --git a/clientgui/res/templates/openclicon.png b/clientgui/res/templates/openclicon.png new file mode 100644 index 0000000000000000000000000000000000000000..bc5f978ac5cecf45d0cd2185d53aaa86def1bdd5 GIT binary patch literal 617 zcmV-v0+#)WP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0005lNklteqFp8m2yNLH*Xl!t1ppMvw7BO=4PAkPR?Qlf8ou&iQXqp@E(>%*P!;TL+P$3r)xz(fpab3=G4nh8pk?`Ybi_%SS*8F?gLu916|ri zuy;St8|z3v?qTlHU=g5diyR%kNR$7zourbo*)$LDoZ*@CG_yBbn60nn`_A=bBa;X% zZ(SVlImqRIt@0L<$g+&r>m@9Oh&AjZxqSnPts6;hu4caZDnduVgC{a<$1azy>qMgw zeEt2zrl;+6^CwS`+*ECw3!OO9fY3bQ=BfN{nb|N5f$q?#=^Q5m_ zCgW@)bMNk-XIz