/* * Copyright (c) 2012 cparm . All rights reserved. * */ #include // Only use angled for Platform, else, xcode project won't compile #include "nvidia.h" #include "../Platform/Settings.h" #include "card_vlist.h" /* injection for NVIDIA card usage e.g (to be placed in the config.plist, under graphics tag): Graphics NVIDIA Model Quadro FX 380 IOPCIPrimaryMatch 0x10DE0658 VRAM 256 VideoPorts 2 LoadVBios Model YOUR_SECOND_CARD_NAME IOPCIPrimaryMatch YOUR_SECOND_CARD_ID IOPCISubDevId YOUR_SECOND_CARD_SUB_ID(if necessary) VRAM YOUR_SECOND_CARD_VRAM_SIZE VideoPorts YOUR_SECOND_CARD_PORTS LoadVBios ATI Model ATI Radeon HD6670 IOPCIPrimaryMatch 0x6758 IOPCISubDevId 0x1342 VRAM 2048 */ #define DEBUG_CARD_VLIST 1 #if DEBUG_CARD_VLIST == 0 #define DBG(...) #else #define DBG(...) DebugLog(DEBUG_CARD_VLIST, __VA_ARGS__) #endif //LIST_ENTRY gCardList = INITIALIZE_LIST_HEAD_VARIABLE (gCardList); //void AddCard(CONST CHAR8* Model, UINT32 Id, UINT32 SubId, UINT64 VideoRam, UINTN VideoPorts, BOOLEAN LoadVBios) //{ // CARDLIST* new_card = new CARDLIST; // new_card->Signature = CARDLIST_SIGNATURE; // new_card->Id = Id; // new_card->SubId = SubId; // new_card->VideoRam = VideoRam; // new_card->VideoPorts = VideoPorts; // new_card->LoadVBios = LoadVBios; // new_card->Model.takeValueFrom(Model); // gCardList.AddReference(new_card, true); //} const SETTINGS_DATA::GraphicsClass::GRAPHIC_CARD* FindCardWithIds(UINT32 Id, UINT32 SubId) { for ( size_t idx = 0; idx < gSettings.Graphics.ATICardList.size(); ++idx ) { const SETTINGS_DATA::GraphicsClass::GRAPHIC_CARD& entry = gSettings.Graphics.ATICardList[idx]; if(entry.Id == Id) { return &entry; } } for ( size_t idx = 0; idx < gSettings.Graphics.NVIDIACardList.size(); ++idx ) { const SETTINGS_DATA::GraphicsClass::GRAPHIC_CARD& entry = gSettings.Graphics.NVIDIACardList[idx]; if(entry.Id == Id) { return &entry; } } return NULL; }