Esempio n. 1
0
        /// <summary>
        /// Find all devices of a specififc type
        /// </summary>
        /// <param name="deviceType"></param>
        /// <returns>Array containing the devices</returns>
        public Device[] QueryDevices(DeviceType deviceType)
        {
            IntPtr[] deviceIDs;

            deviceIDs = QueryDeviceIntPtr(deviceType);
            return(InteropTools.ConvertDeviceIDsToDevices(this, deviceIDs));
        }
Esempio n. 2
0
        public Platform(IntPtr platformID)
        {
            this.PlatformID = platformID;

            // Create a local representation of all devices
            this.DeviceIDs = this.QueryDeviceIntPtr(DeviceType.ALL);
            for (var i = 0; i < this.DeviceIDs.Length; i++)
            {
                this._Devices[this.DeviceIDs[i]] = new Device(this, this.DeviceIDs[i]);
            }
            this.DeviceList = InteropTools.ConvertDeviceIDsToDevices(this, this.DeviceIDs);

            this.InitializeExtensionHashSet();

            var m = this.VersionStringRegex.Match(this.Version);

            if (m.Success)
            {
                this.OpenCLMajorVersion = Int32.Parse(m.Groups["Major"].Value);
                this.OpenCLMinorVersion = Int32.Parse(m.Groups["Minor"].Value);
            }
            else
            {
                this.OpenCLMajorVersion = 1;
                this.OpenCLMinorVersion = 0;
            }
        }
Esempio n. 3
0
        public Platform(IntPtr platformID)
        {
            PlatformID = platformID;

            // Create a local representation of all devices
            DeviceIDs = QueryDeviceIntPtr(DeviceType.ALL);
            for (int i = 0; i < DeviceIDs.Length; i++)
            {
                _Devices[DeviceIDs[i]] = new Device(this, DeviceIDs[i]);
            }
            DeviceList = InteropTools.ConvertDeviceIDsToDevices(this, DeviceIDs);

            InitializeExtensionHashSet();

            Match m = VersionStringRegex.Match(Version);

            if (m.Success)
            {
                OpenCLMajorVersion = int.Parse(m.Groups["Major"].Value);
                OpenCLMinorVersion = int.Parse(m.Groups["Minor"].Value);
            }
            else
            {
                OpenCLMajorVersion = 1;
                OpenCLMinorVersion = 0;
            }

            if (VersionCheck(1, 2))
            {
                AddExtensionSupport(new DirectX9Extension(this));
                AddExtensionSupport(new DirectX10Extension(this));
                AddExtensionSupport(new DirectX11Extension(this));
            }
        }
Esempio n. 4
0
        public unsafe Device[] GetDeviceIDsFromD3D11(Platform platform, D3D11DeviceSource d3d_device_source, IntPtr d3d_object, D3D11DeviceSet d3d_device_set)
        {
            ErrorCode status;
            uint      numDevices;

            status = GetDeviceIDsFromD3D11(platform, d3d_device_source, d3d_object, d3d_device_set, 0, null, &numDevices);
            if (status != ErrorCode.SUCCESS)
            {
                return(null);
            }

            IntPtr[] deviceArray = new IntPtr[numDevices];
            status = GetDeviceIDsFromD3D11(platform, d3d_device_source, d3d_object, d3d_device_set, numDevices, deviceArray, &numDevices);
            if (status != ErrorCode.SUCCESS)
            {
                return(null);
            }

            return(InteropTools.ConvertDeviceIDsToDevices(platform, deviceArray));
        }