Exemplo n.º 1
0
        public static void SetupSingleDevice(string strVendorFilter, OpenCLDeviceTyp deviceType, Game pGame)
        {
            Platforms platforms = new Platforms();

            if (!strVendorFilter.Contains("*"))
            {
                strVendorFilter += "*";
            }

            foreach (var platform in platforms)
            {
                if (platform.HaveDevices && platform.Vendor.IsWildcardMatch(strVendorFilter))
                {
                    foreach (var item in platform.Devices)
                    {
                        if (item.DeviceType == deviceType)
                        {
                            m_pDevice = item;
                            break;
                        }
                    }
                    if (m_pDevice != null)
                    {
                        break;
                    }
                }
            }
            if (m_pDevice == null)
            {
                throw new System.Exception("No OpenCL Device found ");
            }

            m_pContext = m_pDevice.CreateContext(pGame.GameContext.NativeContext);
        }
Exemplo n.º 2
0
        public Devices(Platform pPlatform, OpenCLDeviceTyp type)
            : base("Devices")
        {
            IntPtr[] devices = new IntPtr[100];
            uint     numDevices;

            cl.clGetDeviceIDs(pPlatform.RawHandle, (uint)type, (uint)100, devices, out numDevices);
            for (int i = 0; i < numDevices; i++)
            {
                var x = new Device(devices[i], pPlatform);
                x.DeviceType = type;
                this.Add(x);
            }
        }
Exemplo n.º 3
0
 public static Context SetupSingleDeviceAndGetSystemContext(string strVendorFilter, OpenCLDeviceTyp deviceType, Game pGame)
 {
     SetupSingleDevice(strVendorFilter, deviceType, pGame);
     return(m_pContext);
 }