コード例 #1
0
ファイル: opencl.py プロジェクト: HuzzDTX/apoclypsebm
    def get_adapter_info(self):
        adapter_info = []
        num_adapters = c_int(-1)
        if ADL_Adapter_NumberOfAdapters_Get(byref(num_adapters)) != ADL_OK:
            say_line(
                "ADL_Adapter_NumberOfAdapters_Get failed, cutoff temperature"
                "disabled for %s",
                self.id()
            )
            return

        AdapterInfoArray = (AdapterInfo * num_adapters.value)()

        if ADL_Adapter_AdapterInfo_Get(cast(AdapterInfoArray, LPAdapterInfo),
                                       sizeof(AdapterInfoArray)) != ADL_OK:
            say_line(
                "ADL_Adapter_AdapterInfo_Get failed, "
                "cutoff temperature disabled for %s",
                self.id()
            )
            return

        deviceAdapter = namedtuple(
            'DeviceAdapter',
            ('AdapterIndex', 'AdapterID', 'BusNumber', 'UDID')
        )

        devices = []
        for adapter in AdapterInfoArray:
            index = adapter.iAdapterIndex
            bus_num = adapter.iBusNumber
            udid = adapter.strUDID

            adapter_id = c_int(-1)

            if ADL_Adapter_ID_Get(index, byref(adapter_id)) != ADL_OK:
                say_line(
                    "ADL_Adapter_ID_Get failed, "
                    "cutoff temperature disabled for %s",
                    self.id()
                )
                return

            found = False
            for device in devices:
                if device.AdapterID.value == adapter_id.value:
                    found = True
                    break

            if found is False:
                devices.append(deviceAdapter(index, adapter_id, bus_num, udid))

        for device in devices:
            adapter_info.append(AdapterInfoArray[device.AdapterIndex])

        return adapter_info
コード例 #2
0
    def get_adapter_info(self):
        adapter_info = []
        num_adapters = c_int(-1)
        if ADL_Adapter_NumberOfAdapters_Get(byref(num_adapters)) != ADL_OK:
            raise ADLError("ADL_Adapter_NumberOfAdapters_Get failed.")

        AdapterInfoArray = (AdapterInfo * num_adapters.value)()

        if ADL_Adapter_AdapterInfo_Get(cast(AdapterInfoArray, LPAdapterInfo),
                                       sizeof(AdapterInfoArray)) != ADL_OK:
            raise ADLError("ADL_Adapter_AdapterInfo_Get failed.")

        deviceAdapter = namedtuple(
            'DeviceAdapter',
            ['AdapterIndex', 'AdapterID', 'BusNumber', 'UDID'])
        devices = []

        for adapter in AdapterInfoArray:
            index = adapter.iAdapterIndex
            busNum = adapter.iBusNumber
            udid = adapter.strUDID

            adapterID = c_int(-1)

            if ADL_Adapter_ID_Get(index, byref(adapterID)) != ADL_OK:
                raise ADLError("ADL_Adapter_Active_Get failed.")

            found = False
            for device in devices:
                if (device.AdapterID.value == adapterID.value):
                    found = True
                    break

            if (found == False):
                devices.append(deviceAdapter(index, adapterID, busNum, udid))

        for device in devices:
            adapter_info.append(AdapterInfoArray[device.AdapterIndex])

        return adapter_info