Accelerated Computation Engine
opencl_platform.h
1 #ifndef OPENCL_PLATFORM_H
2 #define OPENCL_PLATFORM_H
3 #include <CL/cl.h>
4 #include <QObject>
5 #include "opencl.h"
6 //
7 
8 
9 
10 namespace OpenCL
11 {
20  class Platform : public QObject
21  {
22  Q_OBJECT
23  public:
24  static int size();
25  static OpenCL::Platform* get(int index);
26  cl_platform_id id() const;
27  QString profile() const;
28  QString version() const;
29  QString name() const;
30  QString vendor() const;
31  const QStringList& extensions() const;
32  int deviceSize() const;
33  OpenCL::Device* device(int index) const;
34  private:
35  static void populate();
36  explicit Platform(cl_platform_id id, QObject* parent = nullptr);
37  void populateDevices();
38  QString getInfo(cl_platform_info type) const;
42  static QList<OpenCL::Platform*>* _platforms;
46  cl_platform_id _id;
50  QString _profile;
54  QString _version;
58  QString _name;
62  QString _vendor;
66  QStringList _extensions;
70  QList<OpenCL::Device*> _devices;
71  };
72 }
73 
74 
75 
76 #endif
QString vendor() const
Definition: opencl_platform.cpp:150
Definition: opencl_platform.h:20
cl_platform_id id() const
Definition: opencl_platform.cpp:82
OpenCL::Device * device(int index) const
Definition: opencl_platform.cpp:204
QString version() const
Definition: opencl_platform.cpp:116
const QStringList & extensions() const
Definition: opencl_platform.cpp:167
int deviceSize() const
Definition: opencl_platform.cpp:184
QString name() const
Definition: opencl_platform.cpp:133
QString profile() const
Definition: opencl_platform.cpp:99
Definition: opencl_device.h:19
static int size()
Definition: opencl_platform.cpp:29
Definition: opencl.h:5