/// <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)); }
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; } }
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)); } }
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)); }