TW201602959A - 用以提供擴展圖形處理能力之方法與設備 - Google Patents

用以提供擴展圖形處理能力之方法與設備 Download PDF

Info

Publication number
TW201602959A
TW201602959A TW104105395A TW104105395A TW201602959A TW 201602959 A TW201602959 A TW 201602959A TW 104105395 A TW104105395 A TW 104105395A TW 104105395 A TW104105395 A TW 104105395A TW 201602959 A TW201602959 A TW 201602959A
Authority
TW
Taiwan
Prior art keywords
graphics
graphics processing
driver
hardware
processing capability
Prior art date
Application number
TW104105395A
Other languages
English (en)
Other versions
TWI578265B (zh
Inventor
山米爾 卡普
塞爾瓦庫瑪 潘尼爾
蘇聖塔 巴特查治
麥拉利尼 艾塔路里
Original Assignee
英特爾公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特爾公司 filed Critical 英特爾公司
Publication of TW201602959A publication Critical patent/TW201602959A/zh
Application granted granted Critical
Publication of TWI578265B publication Critical patent/TWI578265B/zh

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/18Use of a frame buffer in a display terminal, inclusive of the display panel

Abstract

揭示用以提供擴展圖形處理能力之方法、設備及製品。一種所揭示實例方法涉及將一顯示面板參數發送至一共用程式庫模組。該顯示面板參數由通訊於該共用程式庫模組與一圖形硬體裝置驅動程式之間的一可程式化驅動程式介面發送。該共用程式庫模組包含一第一圖形處理能力。該圖形硬體裝置驅動程式包含不同於該第一圖形處理能力之一第二圖形處理能力。該實例方法亦涉及基於該第一圖形處理能力經由該可程式化驅動程式介面對一圖框緩衝執行一顯現操作。基於該顯示面板參數在該可程式化驅動程式介面處自該共用程式庫模組接收該第一圖形處理能力。該圖框緩衝輸出至一顯示器。

Description

用以提供擴展圖形處理能力之方法與設備 發明領域
本發明大體上係關於電子顯示器,且更特定而言係關於用以提供擴展圖形處理能力之方法、設備及製品。
發明背景
電腦架構及其他電子裝置之顯示器子系統包含將所接收資訊轉換成待顯示圖形資訊之顯示介面硬體。顯示介面硬體可為連接於中央處理單元(CPU)與顯示器之間的圖形處理器或控制器。在許多電腦系統及/或電子裝置中,作業系統(OS)及/或應用程式並不直接將顯示資訊發送至顯示介面硬體,此係因為作業系統及應用程式常常未經程式設計有輸出呈由顯示介面硬體所要求之無論哪個特定格式的顯示資訊以在顯示器上顯示圖形資訊之能力。實情為,電腦系統及電子裝置將顯示資訊傳達至將來自OS及應用程式之資訊轉譯成由顯示介面硬體所要求之特定格式的OS層級裝置驅動程式以在顯示器上展示圖形資訊。有時,不同顯示介面硬體將要求將來自OS及應用程式之資訊轉譯 成由彼等不同顯示介面硬體所要求之不同特定格式的完全不同驅動程式。
有時,裝置驅動程式中未提供由一些應用程式所要求之圖形處理特徵。為滿足此等需要,一些應用程式經程式設計有對於彼等應用程式之需要係獨特的且對應於特定顯示介面硬體之裝置驅動程式中未提供的圖形處理特徵。舉例來說,圖形密集型個人電腦(PC)遊戲程式可經程式設計以包含定製顯現演算法以最大化彼等PC遊戲之圖形效能。因而,圖形密集型PC遊戲可基於建立於PC遊戲程式中之定製顯現演算法利用較好之顯示能力以增強遊戲體驗。
依據本發明之一實施例,係特地指出一種方法,其包括:將一顯示面板參數發送至一共用程式庫模組,由通訊於該共用程式庫模組與一圖形硬體裝置驅動程式之間的一可程式化驅動程式介面發送該顯示面板參數,該共用程式庫模組包括一第一圖形處理能力,且該圖形硬體裝置驅動程式包括不同於該第一圖形處理能力之一第二圖形處理能力;基於該第一圖形處理能力經由該可程式化驅動程式介面對一圖框緩衝執行一顯現操作,該第一圖形處理能力係基於該顯示面板參數在該可程式化驅動程式介面處自該共用程式庫模組接收;及將該圖框緩衝輸出至一顯示器。
100‧‧‧計算機器
102‧‧‧可程式化驅動程式介面(PDI)
104‧‧‧共用程式庫模組外掛程式
106‧‧‧圖形硬體
108‧‧‧硬體顯示器
110‧‧‧第三方擴展圖形能力提供商
112‧‧‧裝置驅動程式
114‧‧‧圖形硬體提供商
118‧‧‧設備製造商
200‧‧‧執行階段環境
202‧‧‧使用者模式驅動程式(UMD)
204‧‧‧核心模式驅動程式(KMD)
206‧‧‧作業系統(OS)
208‧‧‧感測器監視器
210‧‧‧OS提供商
212‧‧‧圖形執行階段應用程式設計介面(API)
214‧‧‧圖形使用者介面(GUI)管理器
218‧‧‧應用程式開發人員
222‧‧‧應用程式
224‧‧‧Direct3D(D3D)全螢幕應用程式
300‧‧‧通訊/介面訊號交換程序
302‧‧‧顯示面板參數
304、406‧‧‧圖形處理能力
306‧‧‧環境照明條件資訊
308‧‧‧圖形處理參數
402‧‧‧擴展圖形處理能力資料庫
408‧‧‧暫時額外表面
410‧‧‧暫存器設定及初始值
416‧‧‧映射表
420‧‧‧圖形處理能力請求
422‧‧‧暫時表面請求
424‧‧‧圖形處理參數請求
500‧‧‧環境照明條件框架
502‧‧‧感測器事件
504‧‧‧寫入事件
508‧‧‧通訊信箱
512‧‧‧暫存器回呼通訊
514‧‧‧事件回呼
600‧‧‧程序流程
602、604、606、610、612、614、616、618、620‧‧‧參考編號
702、704、706、708、710、712、714、716、718、720‧‧‧區塊
800‧‧‧處理器平台/處理器系統
812‧‧‧處理器
813‧‧‧本機記憶體
814‧‧‧依電性記憶體/主記憶體
816‧‧‧非依電性記憶體/主記憶體
818‧‧‧匯流排
820‧‧‧介面電路
822‧‧‧輸入裝置
824‧‧‧輸出裝置
826‧‧‧網路
828‧‧‧大容量儲存裝置
832‧‧‧經寫碼指令
圖1為用以自實例共用程式庫模組外掛程式提供 擴展圖形處理能力以用於與圖形硬體及硬體顯示器一起使用的具有可程式化驅動程式介面(PDI)之實例計算機器。
圖2描繪在圖1之計算機器的實例執行階段環境中的圖1之實例可程式化驅動程式介面及實例共用程式庫模組外掛程式。
圖3說明圖1之實例可程式化驅動程式介面與實例共用程式庫模組外掛程式之間的實例通訊。
圖4為可用於提供擴展圖形處理能力以用於與圖1之圖形硬體及硬體顯示器一起使用的另一實例。
圖5說明展示作業系統如何與圖2及圖4之實例感測器監視器及圖1至圖4之可程式化驅動程式介面(PDI)通訊的實例環境照明條件框架。
圖6描繪圖1之第三方擴展圖形能力提供商、圖形硬體提供商與設備製造商之間的實例程序流程。
圖7為可執行以實施圖1至圖5之實例可程式化驅動程式介面(PDI)及/或圖1之實例計算機器以提供擴展圖形處理能力以用於與圖形硬體及硬體顯示器一起使用的實例機器可讀指令之流程圖表示。
圖8為可執行圖7之指令以實施圖1至圖5之實例可程式化驅動程式介面(PDI)及/或圖1之實例計算機器的實例處理器系統之方塊圖。
較佳實施例之詳細說明
本文中所揭示之實例可用於在裝置驅動程式層 級處提供不同擴展圖形處理能力以用於與電子裝置之顯示介面硬體一起使用。舉例來說,相比於建立於或靜態地程式設計於裝置驅動程式中的圖形處理能力,所揭示實例可用於實施接受具有額外圖形處理能力之第三方載入項或外掛程式的裝置驅動程式。本發明之教示在與任何類型之裝置驅動程式(例如,用於電子計算裝置之任何類型周邊裝置或子系統的裝置驅動程式)有關時係有用的。結合電子計算裝置之顯示能力及圖形處理能力(但並不限於此應用)描述本文中所揭示之實例。
先前顯示器子系統經設計有橫跨眾多作業系統程序及應用程式使用之固定圖形處理特徵集合。此等圖形處理特徵常常提供於來自顯示介面硬體之設備製造商的裝置驅動程式中。舉例來說,用於個人電腦(PC)中之圖形配接卡的設備製造商將提供使得特定作業系統(OS)(例如,Windows®作業系統、蘋果Mac®作業系統、UNIX作業系統等)能夠與圖形配接卡通訊之裝置驅動程式(例如,軟體及/或韌體)。以此方式,當應用程式呼叫OS層級顯示功能以顯示資訊時,OS層級顯示功能可使用用於圖形配接卡之裝置驅動程式將待顯示資訊發送至圖形配接卡。亦即,當裝置驅動程式自OS層級顯示功能接收用於顯示之資訊時,裝置驅動程式以如由圖形配接卡所要求之特定方式將資訊提供至圖形配接卡。以此方式實施顯示器子系統允許OS自硬體層級(例如,圖形配接卡)抽離,使得OS無需具備眾多不同功能以與可併入電腦系統中的任何圖形配接器硬體直接通 訊。亦即,OS經設計使得其可經由標準介面與任何圖形裝置驅動程式介接,而非增加OS之大小及複雜性以能夠與任何圖形配接器硬體直接通訊。
圖形裝置驅動程式可由圖形配接器硬體之製造商開發並提供。圖形裝置驅動程式通常由圖形硬體製造商開發或程式設計為包含據製造商認為橫跨眾多應用程式及/或OS程序有用之圖形特徵。圖形硬體製造商亦可基於流行應用程式(例如,流行的圖形密集型PC遊戲)中之圖形處理特徵的使用來程式設計其裝置驅動程式以包含據其認為軟體開發人員將十分需要的此等圖形處理特徵。
用於圖形硬體之先前裝置驅動程式係靜態或固定的,此係因為第三方無法在不重建裝置驅動程式之情況下將額外特徵添加至裝置驅動程式。因而,當軟體開發人員程式設計需要定製圖形處理特徵之應用程式時,要求軟體開發人員將此定製特徵併入至應用程式中。儘管此先前方法對於單一應用程式為可行的解決方案,但定製特徵僅可用於彼單一應用程式且不可用於彼應用程式以外的其他應用程式。此先前方法之缺點為軟體開發人員將需要將同一定製圖形處理特徵併入至軟體開發人員的需要由彼定製特徵提供之圖形能力的每個應用程式中。另一缺點為軟體開發人員可不能夠利用圖形硬體中可用之硬體加速能力,此係因為軟體開發人員完全以軟體實施定製特徵以便其可封裝於軟體應用程式中。
此先前裝置驅動程式之另一缺點為電腦系統建 立器或系統整合器無法在無需建立新裝置驅動程式以併入此等額外圖形處理特徵之情況下容易地將圖形處理特徵添加至電腦之顯示器子系統。舉例來說,PC製造商可想要使針對玩家之特定遊戲圖形特徵包含於PC系統中且可想要使針對諸如建築師及工程師之專業人員的3D模型化特徵包含於PC系統中。為達成此等消費者特徵,PC製造商將需要開發其自身圖形裝置驅動程式,此情況可係過度昂貴且費時的。在一些情況下,若圖形配接器硬體之製造商並不願意提供建立合適裝置驅動程式所需要之圖形配接器硬體的硬體細節或硬體組態,則PC製造商可不能夠建立其自身裝置驅動程式。替代性地,PC製造商可使用於PC系統中之圖形配接器硬體的製造商將定製圖形特徵併入於由圖形配接器硬體之製造商所開發的裝置驅動程式中。
本文中所揭示之實例可用於實施使得設備製造商(例如,PC製造商、原始設備製造商(OEM)等)及/或軟體開發人員能夠在顯示器子系統之裝置驅動程式層級處併入定製圖形處理特徵的可程式化驅動程式介面(PDI)框架。以此方式,圖形硬體製造商可將圖形處理單元(GPU)及/或圖形配接卡(例如,可安裝於PC主板上之周邊組件互連(PCI)圖形卡)連同PDI裝置驅動程式提供至眾多PC設備製造商。本文中所揭示之實例PDI裝置驅動程式允許PC設備製造商將其第三方定製圖形處理特徵添加至其PC之顯示器子系統,使得應用程式開發人員可在其軟體應用程式中利用第三方定製圖形處理特徵。舉例來說,PC設備製造商可併入 常常由其目標消費者基礎所使用軟體應用程式當中流行的定製雜訊校正演算法,且另一PC設備製造商可併入常常由其目標消費者基礎所使用的軟體應用程式當中流行之3D查找表(LUT)。本文中所揭示之實例藉由允許第三方在裝置驅動程式層級處添加定製圖形處理特徵實現此第三方定製,使得設備製造商可使用呈現於GPU及/或顯示面板上之硬體以實施其定製特徵。
本文中所揭示之實例PDI框架技術使得能夠將定製影像處理演算法插入圖形硬體之裝置驅動程式堆疊中。在一些實例中,所揭示PDI框架結合共用程式庫一起使用,該程式庫包含橫跨存取彼共用程式庫之眾多應用程式所共用的功能集。舉例來說,本文中所揭示之實例PDI框架技術可用於載入安全定製共用程式庫以用於與顯示器/圖形裝置驅動程式一起使用。安全定製共用程式庫可具有可由存取對應顯示裝置驅動程式之任何應用程式使用的定製圖形演算法。共用程式庫常常被稱作動態鏈路程式庫(DLL)(其為共用程式庫之微軟實施)。
在本文中所揭示之實例中,在作為實例所揭示PDI框架之部分載入定製共用程式庫以用於與顯示裝置驅動程式一起使用之後,提供於定製共用程式庫中的一或多個影像處理演算法變得可用於呈GPU友好語言之應用程式(例如,像素著色器)。使用實例PDI框架以載入定製共用程式庫使得能夠在執行階段環境中以相同於由多個應用程式存取之方式載入定製影像處理演算法。另外,本文中所揭 示之實例PDI構架確保經由由定製共用程式庫所提供之額外定製影像處理顯現所有顯示圖框緩衝。一些所揭示實例PDI構架亦可整合有用以補償不同環境照明條件(諸如,環境色溫、環境照明亮度、面板背光亮度等)之能力。環境照明條件可由使用顯示器之光類型、一天中之時間、天氣(例如,陰天相較於晴天)、是否結合顯示器使用背光或面光等影響。
所揭示實例方法涉及將顯示面板參數發送至共用程式庫模組。在一些此等實例中,顯示面板參數由通訊於共用程式庫模組與用於圖形硬體之裝置驅動程式之間的可程式化驅動程式介面發送。共用程式庫模組包含第一圖形處理能力。裝置驅動程式包含不同於第一圖形處理能力之第二圖形處理能力。一些實例方法亦涉及基於第一圖形處理能力經由可程式化驅動程式介面對圖框緩衝執行顯現操作。在一些此等實例中,基於顯示面板參數在可程式化驅動程式介面處自共用程式庫模組接收第一圖形處理能力。將圖框緩衝輸出至顯示器。在一些實例中,對獨立於由裝置驅動程式所維持的圖框緩衝之第二複本的由可程式化驅動程式介面所維持的圖框緩衝之第一複本執行顯現操作。在一些實例中,在共用程式庫模組基於來自圖形硬體之提供商的認證程序成功地完成安全簽名驗證之後,所安裝共用程式庫模組經由可程式化驅動程式介面與裝置驅動程式通訊。在一些實例中,共用程式庫模組由獨立於裝置驅動程式及圖形硬體之提供商的第三方提供。一些實例亦 涉及在裝置驅動程式提供為經編譯目標程式碼檔案之後,安裝經由可程式化驅動程式介面與裝置驅動程式通訊之共用程式庫模組。在一些實例中,環境照明條件改變改變圖框緩衝之顯現方式。舉例來說,第一圖框緩衝之顯現操作可係基於對應於第一環境照明條件資訊之第一圖形處理參數,且第二圖框緩衝之第二顯現操作可係基於對應於第二環境照明條件資訊之第二圖形處理參數,該第二環境照明條件資訊係基於來自感測器監視器之通知所獲得的。本文中所揭示之實例亦包含包括當經執行時使得機器執行本文中所揭示之實例方法的操作之指令的電腦可讀儲存媒體。
所揭示實例設備包含用以接收顯示面板參數之擴展圖形處理能力資料庫,及通訊於擴展圖形處理能力資料庫與用於圖形硬體之裝置驅動程式之間的可程式化驅動程式介面。在所揭示實例中,擴展圖形處理能力資料庫包含第一圖形處理能力且裝置驅動程式包含第二圖形處理能力。所揭示實例之可程式化驅動程式介面經組配以基於可程式化驅動程式介面處基於顯示面板參數自擴展圖形處理能力資料庫所接收之第一圖形處理能力,對圖框緩衝執行顯現操作。所揭示實例設備亦包含圖形硬體,其包含用以將圖框緩衝輸出至顯示器之圖形處理單元。在一些實例中,可程式化驅動程式介面經組配以在擴展圖形處理能力資料庫基於來自圖形硬體之提供商的認證程序成功地完成安全簽名驗證之後,安裝與裝置驅動程式通訊之擴展圖形處理能力資料庫。在一些實例中,擴展圖形處理能力資料 庫由獨立於裝置驅動程式及圖形硬體之提供商的第三方提供。在一些實例中,可程式化驅動程式介面經組配以在裝置驅動程式提供為經編譯目標程式碼檔案之後安裝與裝置驅動程式通訊之擴展圖形處理能力資料庫。在一些實例中,可程式化驅動程式介面經組配以藉由對獨立於由裝置驅動程式所維持的圖框緩衝之第二複本的由可程式化驅動程式介面所維持的圖框緩衝之第一複本執行顯現操作而對圖框緩衝執行顯現操作。在一些實例中,可程式化驅動程式介面經組配以基於對應於第一環境照明條件資訊之第一圖形處理參數對圖框緩衝執行顯現操作,且可程式化驅動程式介面經組配以基於對應於第二環境照明條件資訊之第二圖形處理參數對第二圖框緩衝執行第二顯現操作,該第二環境照明條件資訊係基於來自感測器監視器之通知所獲得的。在一些實例中,當圖形硬體裝置驅動程式為經編譯目標程式碼時,共用程式庫模組在無需重新編譯圖形硬體裝置驅動程式之情況下,經由可程式化驅動程式介面提供第一圖形處理能力。
一些所揭示實例設備包含用於基於自擴展圖形處理能力資料庫(基於顯示面板參數)所接收之第一圖形處理能力對圖框緩衝執行顯現操作的可程式化驅動程式介面構件。可程式化驅動程式介面構件可與圖形硬體裝置驅動程式通訊。圖形硬體裝置驅動程式包含不同於第一圖形處理能力之第二圖形處理能力。一些此所揭示實例設備亦包含用於將圖框緩衝輸出至顯示器之圖形硬體構件。在一些 實例中,在擴展圖形處理能力資料庫基於來自圖形硬體之提供商的認證程序成功地完成安全簽名驗證之後,可程式化驅動程式介面構件可用於安裝與裝置驅動程式通訊之擴展圖形處理能力資料庫。
一些所揭示實例設備包含用以在硬體顯示器上呈現資訊之圖形硬體及對應於圖形硬體之裝置驅動程式。裝置驅動程式包含用以處理用於呈現於硬體顯示器上之資訊的第一圖形處理能力。所揭示實例設備亦包含與裝置驅動程式通訊之可程式化驅動程式介面。可程式化驅動程式介面使得第三方能夠在無需重新編譯裝置驅動程式之情況下添加第二圖形處理能力以用於與圖形硬體一起使用。在一些實例中,圖形硬體包含圖形處理單元。在一些實例中,當使得第三方經由可程式化驅動程式介面添加第二圖形處理能力時,第一圖形處理能力在裝置驅動程式之經編譯目標程式碼檔案中。在一些此等實例中,可程式化驅動程式介面藉由在無需重新編譯對應於經編譯目標程式碼檔案之原始程式碼檔案之情況下,將第二圖形處理能力添加於待與可程式化驅動程式介面通訊之共用程式庫模組外掛程式或資料庫中之至少一者中,而使得第三方能夠在無需重新編譯裝置驅動程式之情況下添加第二圖形處理能力。在一些實例中,第二圖形處理能力可由同一執行階段環境中之作業系統及多個應用程式存取。在一些實例中,裝置驅動程式及可程式化驅動程式介面使得作業系統及應用程式能夠在無需圖形硬體之特定硬體組態及/或通訊組態之情況 下將資訊發送至圖形硬體。
圖1為用以自實例共用程式庫模組外掛程式104(例如,附加模組、動態鏈路程式庫(DLL)等)提供擴展圖形處理能力以用於與實例圖形硬體106及實例硬體顯示器108一起使用的具有根據本發明之教示所建構的實例可程式化驅動程式介面(PDI)102之實例計算機器100(例如,設備)。在所說明之實例中,PDI 102被稱作係可程式化的,此係因為其可由第三方擴展圖形能力提供商110在無需重建/重新編譯裝置驅動程式112之情況下程式化。亦即,在所說明之實例中,圖形硬體提供商114開發及/或製造圖形硬體106。圖形硬體106可為(例如)GPU及/或包含GPU之圖形硬體配接器(例如,圖形配接卡)。另外,為允許作業系統(OS)及/或應用程式與圖形硬體106通訊,圖形硬體提供商114亦開發裝置驅動程式112(例如,圖形硬體裝置驅動程式)。在圖1之所說明實例中,圖形硬體提供商114將PDI 102、裝置驅動程式112及圖形硬體106提供至設備製造商114(如由圖1中之虛線表示)以將PDI 102、裝置驅動程式112及圖形硬體106併入於實例計算機器100中。所說明實例之裝置驅動程式112允許OS及/或應用程式(例如,實例計算機器100之OS及/或應用程式)在無需知道可獨特於圖形硬體106之GPU及/或其他積體電路及/或硬體顯示器108(例如,液晶顯示器LCD)、發光二極體(LED)顯示器、陰極射線管(CRT)顯示器、投影儀、可佩戴護目鏡顯示器、行動裝置顯示器等)的特定硬體及/或通訊組態之情況下,與圖形硬體106通訊以 在硬體顯示器108上顯示資訊。因此,OS及/或應用程式可經由裝置驅動程式112將資訊以由OS及/或應用程式所使用之高階通訊語言傳達至圖形硬體106,且所說明實例之裝置驅動程式112可將來自OS及/或應用程式之通訊轉譯成用於圖形硬體106之低階硬體通訊。為促進OS/應用程式與圖形硬體106之間的此等通訊,此實例之裝置驅動程式112具備範圍介於簡單顯示操作至複雜影像處理之間的眾多圖形硬體處理功能(例如,圖形處理能力)。舉例來說,簡單顯示操作可涉及寫入至顯示緩衝器以用於在硬體顯示器108上呈現資訊。複雜顯示操作可涉及執行像素著色程序。圖形硬體處理功能或圖形處理能力可為用以處理包含文字、影像、視訊等的任何類型之顯示資訊的任何態樣(例如,色彩、清晰度、伽馬、陰影、著色、抗頻疊等)的功能。
在所說明實例之裝置驅動程式112的開發階段期間,程式設計人員(例如,由圖形硬體提供商114所雇用或訂約的一或多個程式設計師)使用允許程式設計人員添加、修改及/或自原始程式碼檔案刪除功能性之人類可讀程式設計語言將軟體及/或韌體寫入至原始程式碼檔案中。人類可讀原始程式碼檔案不可由處理器(例如,圖1之計算機器100的中央處理單元(CPU))執行。然而,當程式設計人員結束將圖形硬體處理功能程式設計至原始程式碼檔案中時,原始程式碼檔案編譯成形成所說明實例之裝置驅動程式112的一或多個機器可讀且可執行目標程式碼檔案。在此實例中,目標程式碼檔案可由處理器執行,但其並不含有 將允許程式設計師修改及/或添加額外能力至裝置驅動程式112中之人類可讀語言。因此,當圖形硬體提供商114將裝置驅動程式112及圖形硬體106提供至設備製造商118(例如,計算機器100之設備製造商)以用於安裝並使用於計算機器100中時,裝置驅動程式112係靜態的,此係因為其不可由設備製造商118修改以藉由添加額外顯示/圖形處理能力而定製計算機器100之顯示能力。
本文中所揭示之實例提供PDI 102以使得第三方110能夠提供共用程式庫模組外掛程式104中之擴展圖形處理能力以補充裝置驅動程式112之圖形處理能力。舉例來說,第三方110可開發並不併入裝置驅動程式112中但第三方110選擇為使得能夠橫跨一或多個應用程式使用及/或用於OS上以處理用於顯示於硬體顯示器108上之圖形資訊的額外圖形處理能力。因此,即使圖形硬體提供商114並不在裝置驅動程式112中包含一些合乎需要功能性以用於與圖形硬體106一起使用,所說明實例之PDI 102(其與裝置驅動程式通訊)使得第三方110能夠提供尚未程式設計於裝置驅動程式112中的共用程式庫模組外掛程式104中之任何額外功能性(例如,在共用程式庫模組外掛程式104中提供不同於裝置驅動程式112之圖形處理能力的一或多個圖形處理能力),使得甚至在圖形硬體提供商114輸送不可修改裝置驅動程式112之後,可擴展裝置驅動程式112及圖形硬體106之圖形處理能力。
在一些實例中,第三方110可獨立於設備製造商 118及圖形硬體提供商114。舉例來說,第三方110可為開發使用並不併入裝置驅動程式112中之高級圖形處理功能的多個應用程式之應用程式開發人員。在此等實例中,第三方110可程式設計共用程式庫模組外掛程式104中之高級圖形處理功能,使得可橫跨由計算機器所執行之眾多應用程式存取彼等功能。在其他實例中,第三方110及設備製造商118可為同一實體。舉例來說,設備製造商118可針對使用並不在裝置驅動程式112中的特定類型之圖形處理能力的特定市場區段開發並製造計算機器100。舉例來說,設備製造商118可使計算機器100靶向PC玩家且可想要在共用程式庫模組外掛程式104中包含特定遊戲圖形特徵。替代性地,設備製造商118可使計算機器100靶向諸如建築師及工程師之專業人員且可想要在共用程式庫模組外掛程式104中包含3D模型化特徵。
在一些實例中,並非或除由第三方110提供共用程式庫模組外掛程式104之外,圖形硬體提供商114可提供共用程式庫模組外掛程式104。舉例來說,圖形硬體提供商114可在裝置驅動程式112中提供包含由大部分應用程式及/或作業系統所使用之典型圖形處理能力的基線功能性。為藉由由特定市場區段所使用之獨特或特定圖形處理能力補充基線裝置驅動程式112之圖形處理能力,圖形硬體提供商114可提供一或多個共用程式庫模組外掛程式104以與PDI 102介接。
不論何實體提供共用程式庫模組外掛程式104, 除提供額外圖形處理能力之外,共用程式庫模組外掛程式104亦用於保護額外圖形處理能力之知識產權。舉例來說,第三方110可開發其希望控制使用權之專有圖形處理能力。舉例來說,第三方110可想要將共用程式庫模組外掛程式104僅提供至願意付費共用程式庫模組外掛程式104中之額外圖形處理能力之消費者及/或僅提供至執行終端使用者許可合約(EULA)之消費者。
在一些實例中,PDI 102具備僅允許安全之第三方共用程式庫外掛程式(例如,共用程式庫模組外掛程式104)載入/安裝之安全性特徵。舉例來說,當PDI 102具備此等安全性特徵時,PDI 102要求第三方共用程式庫外掛程式成功地通過安全簽名程序。此簽名程序可係基於由圖形硬體提供商114所提供之認證程序(例如,基於數位憑證)。
圖2描繪在圖1之計算機器100的實例執行階段環境200中的圖1之實例PDI 102及實例共用程式庫模組外掛程式104。實例執行階段環境200展示為具有由不同實體所提供之眾多組件。所說明實例之第三方擴展圖形能力提供商110提供共用程式庫模組外掛程式104。實例共用程式庫模組外掛程式104包含諸如影像處理演算法之擴展圖形處理能力。實例共用程式庫模組外掛程式104亦包含用於與圖1之圖形硬體106一起使用以實施擴展圖形處理能力之硬體設定及參數值。舉例來說,共用程式庫模組外掛程式104可提供經編譯著色器程式碼、表面類型資訊及/或暫存器資訊。實例經編譯著色器程式碼可為(例如)用以使用不同著色 效應顯現圖框緩衝之影像處理演算法。實例表面類型資訊可用於描述待顯現之顯示/圖形資訊類型,諸如,引擎管理表面(例如,裝置獨立表面)、裝置管理表面等。實例暫存器資訊可用於指定待用於共用程式庫模組外掛程式104之不同圖形處理能力的圖形硬體106(圖1)之硬體暫存器。
在所說明之實例中,圖形硬體提供商114提供裝置驅動程式112及PDI 102。所說明實例之裝置驅動程式112可執行為使用者模式驅動程式(UMD)202及/或核心模式驅動程式(KMD)204。可在執行時針對特定應用程式實體化UMD 202,使得UMD 202僅存取分配至特定應用程式之記憶體間隔。可在執行時實體化KMD 204以存取分配為用於OS 206之程序的作業系統之記憶體間隔。在所說明之實例中,實例PDI 102與UMD 202通訊、UMD 202與OS 206通訊且OS 206與KMD 204通訊。在圖2之實例執行階段環境200中,UMD 112經組配以顯現由應用程式所請求之程序。實例KMD 204經組配以將命令及/或顯示資訊提交至圖形硬體106(圖1)且亦經組配以執行程式設計至裝置驅動程式112中之圖形處理功能。
在所說明之實例中,PDI 102為UMD 202上之層且進行操作以攔截顯現請求(例如,顯現/產生諸如GFX影像、文字、視訊等之圖形的請求)及呈現請求(例如,在硬體顯示器108上顯示資訊之請求)。另外,實例PDI 102維持圖框緩衝之其自身複本(例如,顯現階段期間記憶體中儲存圖形之記憶體位置)。對於涉及由共用程式庫模組外掛程式 104所提供之圖形處理能力的呈現請求(例如,來自應用程式或OS之功能呼叫),實例PDI 102基於共用程式庫模組外掛程式104中之一或多個圖形處理能力執行一或多個額外顯現操作以產生新圖框緩衝並在硬體顯示器108上顯示新顯現圖框緩衝。在所說明之實例中,PDI 102提供其產生以用於顯示於硬體顯示器108上之圖框緩衝,而非裝置驅動程式112為提供用於顯示於硬體顯示器108上之OS圖框緩衝。以此方式,輸出至硬體顯示器108之圖框緩衝為已使用共用程式庫模組外掛程式104中之一或多個擴展圖形處理能力所處理的顯示緩衝器。
在所說明之實例中,圖形硬體提供商114亦提供實例感測器監視器208。所說明實例之感測器監視器208使用OS提供之服務以登記對應於影響硬體顯示器108之觀看的環境照明條件(諸如,環境色溫、環境照明亮度、面板背光亮度等)改變(例如,由光感測器所偵測)之感測器事件通知。環境照明條件可由使用顯示器之光類型、一天中之時間、天氣(例如,陰天相較於晴天)、是否結合顯示器使用背光或面光等影響。在所說明之實例中,當感測器監視器208自OS 206接收感測器事件通知時,感測器監視器208將關於環境光、色溫、面板背光及/或任何其他環境照明條件之改變的感測器資訊傳達至實例PDI 102。圖2之實例PDI 102接著將感測器資訊發送至共用程式庫模組外掛程式104。
在所說明之實例中,OS提供商210提供實例OS 206、實例圖形執行階段應用程式設計介面(API)212及實例 圖形使用者介面(GUI)管理器214。所說明實例之OS 206可為(例如)Windows OS、蘋果Mac OS、UNIX OS、Linux OS、攜帶型裝置OS、嵌入式OS及/或任何其他OS。圖形執行階段API 212為可由應用程式呼叫以處理及/或顯示圖形資訊之圖形API集。實例圖形執行階段API為由Microsoft®公司所提供之DirectX®執行API。提供實例GUI管理器214以管理OS 206之圖形使用者介面元件,諸如螢幕上與使用者介接之視窗、控制件、功能表等。實例GUI管理器214為Microsoft®桌上型視窗管理器(DWM)。
在所說明之實例中,應用程式開發人員218提供呼叫圖形執行階段API 212以使用PDI 102及/或UMD 202之圖形處理能力的應用程式222。應用程式開發人員218可提供使用PDI 102之圖形處理能力的不同應用程式。圖2中所展示之實例應用程式為Direct3D(D3D)全螢幕應用程式224。
圖3說明實例PDI 102與實例共用程式庫模組外掛程式104之間的實例通訊300。在圖3之所說明實例中,共用程式庫模組外掛程式104基於像素著色器能力實施影像處理演算法。在所說明之實例中,實例PDI 102藉由使用OS回呼登記程序(例如,使用圖2之圖形執行階段API 212)自OS獲得關於環境照明條件(諸如,環境色溫、環境照明亮度、面板背光亮度等)之資訊,並在與共用程式庫模組外掛程式104之介面訊號交換程序300期間使用環境照明條件資訊以初始化共用程式庫模組外掛程式104以用於與圖1之圖 形硬體106及硬體顯示器108一起使用。
圖3之所說明實例展示實例介面訊號交換300執行於實例PDI 102與實例共用程式庫模組外掛程式104之間的方式。在所說明之實例中,PDI 104將一或多個顯示面板參數302發送至實例共用程式庫模組外掛程式104。在所說明之實例中,一或多個顯示面板參數302(例如,伽馬資訊、色域資訊等)對應於圖形硬體106及/或硬體顯示器108之硬體組態、顯示能力、特徵等。實例共用程式庫模組外掛程式104基於一或多個顯示面板參數302傳回提供於共用程式庫模組外掛程式104中之一或多個圖形處理能力304(例如,指令、功能、演算法等)。實例PDI 102使用來自共用程式庫模組外掛程式104之圖形處理能力304以處理顯示資料之圖框緩衝,之後經由硬體顯示器108提供用於呈現之經處理圖框緩衝。
在所說明之實例中,PDI 102將環境照明條件資訊306發送至共用程式庫模組外掛程式104。回應於環境照明條件資訊,實例共用程式庫模組外掛程式104將一或多個圖形處理參數308(例如,用於圖形硬體106之暫存器值、亮度設定等)提供至實例PDI 102。舉例來說,若由共用程式庫模組外掛程式104提供至PDI 102之圖形處理能力304為像素著色器,則圖形處理參數308可包含像素著色器參數以使得PDI 102能夠使用共用程式庫模組外掛程式104之像素著色器能力。亦即,圖形處理參數308為PDI 102提供待由PDI 102使用以對一或多個圖框緩衝實施圖形處理能力304之設 定或值。在一些實例中,當感測器監視器208自OS 206接收環境照明條件改變之通知事件時,實例PDI 102向共用程式庫模組外掛程式104告知表示改變之經更新圖形處理參數308。回應於經更新圖形處理參數308,共用程式庫模組外掛程式104將一或多個經更新圖形處理參數308發送至實例PDI 102以適用於顯示資料之後續圖框緩衝,之後在硬體顯示器108上呈現圖框緩衝。舉例來說,當環境照明條件改變時,可需要改變應用於圖框緩衝之視覺效果以補償新照明條件,使得不論環境照明特性如何改變,硬體顯示器108上之圖形以由第三方110設法達成之相同或類似品質出現。
在一些實例中,圖1至圖3之實例共用程式庫模組外掛程式104能夠執行CPU程式碼(例如,由中央處理單元(CPU)所執行之機器指令)。然而,一些實體可不想要允許使用能夠執行此CPU程式碼之外掛程式。因而,圖4說明可用於在無需提供能夠執行CPU程式碼之外掛程式的情況下提供擴展圖形處理能力以用於與圖1之圖形硬體106及硬體顯示器108一起使用的另一實例。在圖4之所說明實例中,圖4中所展示之實例擴展圖形處理能力資料庫402包含待橫跨眾多應用程式及OS程序共用之擴展圖形處理能力,而非使用圖1至圖3的可執行CPU程式碼之共用程式庫模組外掛程式104。圖4之實例用於增加電腦處理之安全性,此係因為資料庫402並不能夠執行CPU程式碼。舉例來說,使用實例擴展圖形處理能力資料庫402降低由惡意程式碼侵入之風險。亦即,雖然惡意程式碼可經由共用程式庫滲入圖1之 計算機器100,但此惡意程式碼較不可能經由資料庫402滲入計算機器100,此係因為資料庫402並不執行CPU程式碼。因而,一些實體可發現圖4之實例用於在安全計算環境中使用。
在圖4之所說明實例中,PDI 102與實例資料庫402通訊。實例資料庫402亦可由諸如圖1至圖3之第三方圖形能力提供商110的第三方提供。實例資料庫402具備一或多個實例圖形處理能力406、一或多個實例暫時額外表面408、實例暫存器設定及初始值410及用以將環境照明條件值映射至暫存器值及亮度設定之實例映射表416。在所說明之實例中,圖形處理能力406指定由資料庫402所提供之擴展圖形處理能力。在所說明之實例中,PDI 102向資料庫402發送圖形處理能力請求420以請求圖形處理能力406。舉例來說,若圖形處理能力406包含像素著色器,則資料庫402可向PDI 102發送指定由資料庫402所提供之像素著色器能力類型的著色器檔案。在一些實例中,圖形處理能力請求420包含對應於圖1之圖形硬體106及/或硬體顯示器108的硬體組態、顯示能力、特徵等的顯示面板參數(例如,伽馬資訊、色域資訊等)。
在所說明之實例中,暫時額外表面408提供諸如待顯現之顯示/圖形資訊類型的實例表面類型資訊,諸如引擎管理表面(例如,裝置獨立表面)、裝置管理表面等。在所說明之實例中,PDI 102將暫時表面請求422發送至資料庫402以請求暫時額外表面408中之一或多者。在所說明之實 例中,暫時額外表面408係暫時的,此係因為其用於暫時替換或覆寫UMD 202中之表面設定。
所說明實例之暫存器設定及初始值410指定圖形硬體106(圖1)之硬體暫存器及待用於由資料庫402所提供之不同圖形處理能力的其組態值。在實例映射表416中,將環境照明條件(例如,環境色溫、環境照明亮度、面板背光亮度等)之值映射至暫存器值(例如,用於圖形硬體106之暫存器值)及用於與圖形硬體106(圖1)一起使用之亮度設定以實施由資料庫402所提供之圖形處理能力406。映射表416之暫存器值及亮度設定提供相同或類似於由共用程式庫模組外掛程式104在圖3之圖形處理參數308中所提供的資訊類型。舉例來說,若由資料庫402所提供之圖形處理能力406為像素著色器,則實例映射表416之暫存器值及亮度設定包含像素著色器參數以使得PDI 102能夠使用資料庫402之像素著色器能力。亦即,實例映射表416之暫存器值及亮度設定將圖形處理參數提供至PDI 102以指定用於與圖形硬體106一起使用之設定或值以將圖形處理能力406應用於一或多個圖框緩衝。舉例來說,當PDI 102將環境照明條件量測(例如,圖3之環境照明條件資訊306)提供至資料庫402時,資料庫402將對應於環境照明條件量測之暫存器值及亮度設定傳回至PDI 102。在所說明之實例中,PDI 102將圖形處理參數請求424發送至資料庫402以向資料庫402提供環境照明條件資訊306(圖3)以自映射表416請求對應暫存器值及亮度設定。在所說明之實例中,當感測器監視器208向PDI 102通知經更新環境照明條件資訊時,PDI 102將經更新環境照明條件資訊提供至資料庫402。作為回應,資料庫402自映射表416向PDI 102提供經更新圖形處理參數。
為藉由其他擴展圖形處理能力更新資料庫402,圖1之第三方110可提供儲存圖形處理能力406、暫時額外表面408、暫存器設定及/或初始值410及/或映射表416中之額外資訊的資料庫402之經更新版本。在一些實例中,PDI 102可具備僅允許載入安全資料庫之安全性特徵。舉例來說,當PDI 102具備此等安全性特徵時,PDI 102要求第三方資料庫成功地通過安全簽名程序。此簽名程序可係基於由圖形硬體提供商114所提供之認證程序。
圖5為展示實例OS 206(圖2)與實例感測器監視器208(圖2及圖4)及實例PDI 102(圖1至圖4)通訊之方式的實例環境照明條件框架500。圖5之實例環境照明條件框架500可結合圖1至圖3之共用程式庫模組外掛程式104及/或圖4之擴展圖形處理能力資料庫402使用。實例環境照明條件框架500可使用OS提供之服務以登記並受到通知對應於環境色溫、環境照明亮度、面板背光亮度及/或任何其他環境照明條件改變之感測器事件。在圖5之所說明實例中,提供感測器監視器208以自OS 206接收感測器事件502並為實例PDI 102提供對應經更新環境照明條件資訊。在一些實例中,由OS 206發送至感測器監視器208之感測器事件502包含經更新環境照明條件資訊。在其他實例中,感測器事件502為導致感測器監視器208自OS 206及/或自另一子系統 (例如,圖1之計算機器100的感測器子系統)請求或擷取經更新環境照明條件資訊之通知。
在所說明之實例中,PDI 102使用寫入事件504將經更新環境照明條件資訊發送至共用程式庫模組外掛程式104及/或資料庫402。舉例來說,圖5之實例的感測器監視器208將包含經更新環境照明條件資訊之寫入事件504發送至OS 206之通訊信箱508。在所說明之實例中,為在PDI 102處接收經更新環境照明條件資訊,PDI 102使用暫存器回呼通訊512以登記與OS 206之回呼。來自所說明實例之PDI 102的暫存器回呼512用以登記對應於感測器監視器208之回呼。以此方式,當感測器監視器208將經更新環境照明條件資訊寫入至通訊信箱508時,OS 206可使用暫存至PDI 102之事件回呼514以向PDI 102發送來自通訊信箱508之經更新環境照明條件資訊。
雖然圖1至圖5中說明實施包含實例PDI 102、實例裝置驅動程式112、實例共用程式庫模組外掛程式104及實例感測器監視器208的圖1之實例計算機器100(例如,設備)之實例方式,但可組合、劃分、重新配置、省略、排除及/或以任何其他方式實施圖1至圖5中所說明之元件、程序及/或裝置中之一或多者。另外,圖1至圖5之實例PDI 102、實例裝置驅動程式112、實例共用程式庫模組外掛程式104及實例感測器監視器208及/或(更大體而言)圖1之實例計算機器100可由硬體、軟體、韌體及/或硬體、軟體及/或韌體之任何組合來實施。因此,舉例來說,實例PDI 102、實例 裝置驅動程式112、實例共用程式庫模組外掛程式104及實例感測器監視器208中之任一者及/或(更大體而言)實例計算機器100可由一或多個類比或數位電路、邏輯電路、可程式化處理器、特殊應用積體電路(ASIC)、可程式化邏輯裝置(PLD)及/或場可程式化邏輯裝置(FPLD)實施。當閱讀僅僅涵蓋軟體及/或韌體實施的本專利之設備或系統申請專利範圍中之任一者時,將實例PDI 102、實例裝置驅動程式112、實例共用程式庫模組外掛程式104及/或實例感測器監視器208中之至少一者據此明確地定義為包含儲存軟體及/或韌體之有形電腦可讀儲存裝置或儲存磁碟,諸如記憶體、數位化通用光碟(DVD)、光碟(CD)、Blu-ray磁碟等。再者,圖1之實例計算機器100可包含除圖1至圖5中所說明之彼等之外或並非彼等的一或多個元件、程序及/或裝置,及/或可包含一個以上所說明元件、程序及裝置中之任一者或所有。
在一些實例中,使用任何合適之可程式化驅動程式介面構件實施PDI 102。此等驅動程式介面構件與圖形硬體裝置驅動程式(例如,圖1及圖2之裝置驅動程式112)通訊。實例可程式化驅動程式介面構件包含使用機器可讀指令組態或程式設計以執行本文中結合PDI 102所揭示之操作及程序的邏輯電路、硬體處理器、ASIC等中之任一者或所有。另外,在一些實例中,可使用用於自可程式化驅動程式介面構件接收圖框緩衝,且用於輸出用於顯示於圖1之硬體顯示器108上的圖框緩衝之任何合適圖形硬體構件實 施圖1之圖形硬體106。實例圖形硬體構件包含GPU、圖形配接卡、圖形晶片組等中之任一者或所有。此等圖形硬體構件可通訊於硬體顯示器108與可程式化驅動程式介面構件之間及硬體顯示器108與圖形硬體裝置驅動程式112之間。
圖6描繪用以將PDI 102及共用程式庫模組外掛程式104提供至圖1之計算機器100的圖1之實例第三方擴展圖形能力提供商110、實例圖形硬體提供商114與實例設備製造商118之間的實例程序流程600。在所說明之實例中,圖形硬體提供商114將圖1至圖4之圖形裝置驅動程式112及PDI 102提供至設備製造商118,如參考編號602處所指示。所說明實例之第三方擴展圖形能力提供商110開發並驗證共用程式庫模組外掛程式104,如參考編號604處所指示。實例第三方擴展圖形能力提供商110將共用程式庫模組外掛程式104提供至圖形硬體提供商114,如參考編號606處所指示。實例圖形硬體提供商114驗證共用程式庫模組外掛程式104,如參考編號610處所指示。另外,在已驗證共用程式庫模組外掛程式104之後,實例圖形硬體提供商114認證並封裝共用程式庫模組外掛程式104,如參考編號612處所指示。實例圖形硬體提供商114亦將經認證共用程式庫模組外掛程式104傳回至第三方110,如參考編號614處所指示。所說明實例之第三方110將共用程式庫模組外掛程式104及對應使用者介面封裝提供至設備製造商118,如參考編號616處所指示。所說明實例之設備製造商118將共用程式庫 模組外掛程式104安裝於計算機器100(圖1)中,如參考編號618處所指示。舉例來說,設備製造商118將共用程式庫模組外掛程式104安裝為與PDI 102通訊。另外,所說明實例之設備製造商118在計算機器100中對共用程式庫模組外掛程式104執行系統層級驗證,如參考編號620處所指示。當系統層級驗證成功時,共用程式庫模組外掛程式104在計算機器100中成功地安裝為與PDI 102通訊以提供由第三方110在共用程式庫模組外掛程式104中所提供之擴展圖形處理能力。
在一些實例中,本文中所揭示之實例PDI 102要求圖形硬體提供商114修改UMD(例如,用於特定GPU之原始使用者模式驅動程式)以產生圖2至圖4之UMD 202,使得PDI 102可橫跨UMD 202及實例PDI 102維持上下文資訊。舉例來說,藉由維持此上下文,當OS 206(圖2及圖5)及/或UMD 202係指共用專用OS資源時,實例PDI 102感知到存取共用專用OS資源之方式。為橫跨UMD 202及實例PDI 102實施此上下文感知,UMD 202促進儲存可由實例PDI 102隨後要求之專用資源資訊。儘管結合提供共用程式庫模組外掛程式104描述圖6之程序流程600,但相同或類似程序流程可用於提供圖4之擴展圖形程序能力資料庫402以用於在計算機器100中與PDI 104一起使用。
圖7中展示用於實施圖1至圖5之實例PDI 102及/或圖1之計算機器100的實例機器可讀指令之流程圖表示。在此實例中,機器可讀指令包括用於由諸如下文結合圖8所 論述之實例處理器平台800中所展示的處理器812之處理器執行的程式。程式可以儲存於有形電腦可讀儲存媒體(諸如,CD-ROM、軟碟、硬碟機、數位化通用光碟(DVD)、Blu-ray磁碟或與處理器812相關聯之記憶體)上之軟體體現,但整個程式及/或其部分可替代性地由除了處理器812之裝置執行及/或以韌體或專用硬體體現。另外,儘管參考圖7中所說明之流程圖描述實例程式,但可替代性地使用實施實例PDI 102及/或計算機器100之許多其他方法。舉例來說,可改變區塊之執行次序,及/或可改變、排除或組合所描述區塊中之一些。
如上文所提及,可使用儲存於有形電腦可讀儲存媒體上之經寫碼指令(例如,電腦及/或機器可讀指令)實施圖7之實例程序,諸如硬碟驅動機、快閃記憶體、唯讀記憶體(ROM)、光碟(CD)、數位化通用光碟(DVD)、快取記憶體、隨機存取記憶體(RAM)及/或歷時任何持續時間儲存資訊之任何其他儲存裝置或儲存磁碟(例如,歷時經延長時間週期、永久地、用於簡短例項、用於暫時緩衝及/或用於快取資訊)。如本文中所使用,術語有形電腦可讀儲存媒體明確地定義為包含任何類型之電腦可讀儲存裝置及/或儲存磁碟且排除傳播信號及傳輸媒體。如本文中所使用,「有形電腦可讀儲存媒體」及「有形機器可讀儲存媒體」可互換使用。另外或替代性地,可使用儲存於非暫時性電腦及/或機器可讀媒體上之經寫碼指令(例如,電腦及/或機器可讀指令)實施圖7之實例程序,諸如硬碟驅動機、快閃記憶體、 唯讀記憶體、光碟、數位化通用光碟、快取記憶體、隨機存取記憶體及/或歷時任何持續時間儲存資訊之任何其他儲存裝置或儲存磁碟(例如,歷時經延長時間週期、永久地、用於簡短例項、用於暫時緩衝及/或用於快取資訊)。如本文中所使用,術語非暫時性電腦可讀媒體明確地定義為包含任何類型之電腦可讀儲存裝置及/或儲存磁碟且排除傳播信號及傳輸媒體。如本文中所使用,當片語「至少」用作請求項之前置過渡術語時,其相同於開放之術語「包括」係開放式的。
圖7之實例程式可用於基於圖1至圖3及圖5之共用程式庫模組外掛程式104及/或基於圖4及圖5之擴展圖形處理能力資料庫402提供擴展圖形處理能力。亦即,可在無需使用實例資料庫402之情況下結合實例共用程式庫模組外掛程式104使用圖7之實例程式。替代性地,可在無需使用實例共用程式庫模組外掛程式104之情況下結合實例資料庫402使用圖7之實例程式。因而,即使圖7之實例程式並不要求同時使用實例共用程式庫模組外掛程式104及實例資料庫402兩者,但下文結合共用程式庫模組外掛程式104及資料庫402描述圖7之實例操作。
圖7之程式開始於區塊702處,其中實例PDI 102(圖1至圖5)對共用程式庫模組外掛程式104或擴展圖形處理能力資料庫402執行簽名驗證。舉例來說,簽名驗證可係基於由圖形硬體提供商114所提供之認證程序(例如,基於數位憑證)。實例PDI 102安裝共用程式庫模組外掛程式 104或資料庫402(區塊704)。在所說明之實例中,當PDI 102已在區塊702處確認成功簽名驗證時,PDI 102安裝共用程式庫外掛程式104或資料庫402。舉例來說,在區塊704處,PDI 102可安裝共用程式庫模組外掛程式104,使得PDI 102通訊於裝置驅動程式112與共用程式庫模組外掛程式104之間。替代性地,在區塊704處,PDI 102可安裝資料庫402,使得PDI 102通訊於裝置驅動程式112與資料庫402之間。在所說明之實例中,在裝置驅動程式112由(例如)圖形硬體提供商114提供為經編譯目標程式碼(例如,一或多個經編譯目標程式碼檔案)之後,PDI 102安裝共用程式庫模組外掛程式104及/或資料庫402。
實例PDI 102將一或多個顯示面板參數發送至共用程式庫模組外掛程式104或資料庫402(區塊706)。舉例來說,在區塊706處,PDI 102可如上文結合圖3所描述地將一或多個顯示面板參數302發送至共用程式庫模組外掛程式104。替代性地,在區塊706處,PDI 102可如上文結合圖4所描述地將一或多個顯示面板參數作為圖形處理能力請求402之部分發送至資料庫402。實例PDI 102接收一或多個圖形處理能力(區塊708)。舉例來說,在區塊708處,回應於PDI 102在區塊706處所發送的一或多個顯示參數,實例PDI 102可如上文結合圖3所描述地自共用程式庫模組外掛程式104接收一或多個圖形處理能力304。替代性地,在區塊708處,回應於PDI 102在區塊706處所發送的一或多個顯示參數,實例PDI 102可如上文結合圖4所描述地自資料庫402接收 一或多個圖形處理能力406。
實例PDI 102將一或多個環境照明條件發送至共用程式庫模組外掛程式104或資料庫402(區塊710)。舉例來說,在區塊710處,PDI 102可如上文結合圖3所描述地將環境照明條件資訊306發送至共用程式庫模組外掛程式104。替代性地,在區塊710處,PDI 102可如上文結合圖4所描述地在圖形處理參數請求424中將環境照明條件發送至資料庫402。實例PDI 102接收一或多個圖形處理參數(區塊712)。舉例來說,在區塊712處,回應於由PDI 102在區塊710處所發送的環境照明條件資訊,PDI 102可如上文結合圖3所描述地自共用程式庫模組外掛程式104接收一或多個圖形處理參數308。替代性地,在區塊712處,回應於由PDI 102在區塊710處所發送的環境照明條件資訊,實例PDI 102可如上文結合圖4所描述地自資料庫402之映射表416接收包含暫存器值及亮度設定的一或多個圖形處理參數。
實例PDI 102顯現圖框緩衝(區塊714)。舉例來說,PDI 102可基於區塊708處所接收的一或多個圖形處理能力及/或基於區塊712處所接收的一或多個圖形處理參數顯現圖框緩衝。在一些實例中,PDI 102對獨立於由裝置驅動程式112所維持之圖框緩衝的由PDI 102所維持之圖框緩衝的複本執行區塊714之顯現操作。以此方式,PDI 102可使用由共用程式庫模組外掛程式104或資料庫402所提供之圖形處理能力及/或圖形處理參數處理並顯現圖形資訊,而不需要存取由並不具有由共用程式庫模組外掛程式104或 資料庫402所提供之圖形處理能力的裝置驅動程式112所維持之圖框緩衝。
在區塊716處,實例PDI 102輸出圖框緩衝以用於顯示。舉例來說,PDI 102可經由圖1之圖形硬體106將圖框緩衝輸出至硬體顯示器108以經由硬體顯示器108顯示圖框緩衝。實例PDI 102判定是否存在用以顯現之另一圖框緩衝(區塊718)。當存在用以顯現之另一圖框緩衝(區塊718)時,實例PDI 102判定是否存在經更新環境照明條件(區塊720)。在所說明之實例中,當偵測到(例如,由光感測器)環境照明改變時,PDI 102自圖2、圖4及圖5之感測器監視器208接收感測器事件通知。因而,當實例PDI 102自感測器監視器208接收感測器事件通知時,PDI 102接著在區塊720處判定存在一或多個經更新環境照明條件。當存在經更新環境照明條件時,控制傳回至區塊710,使得實例PDI 102可將經更新環境照明條件發送至共用程式庫模組外掛程式104或資料庫402以在區塊712處接收對應於經更新環境照明條件之一或多個經更新圖形處理參數。因此,可基於環境照明條件何時發生改變,使用對應於不同環境照明條件之不同圖形處理參數顯現由PDI 102在區塊714處所顯現的圖框緩衝。舉例來說,可基於對應於第一環境照明條件之第一圖形處理參數顯現區塊714處所顯現之先前圖框緩衝,且可基於對應於不同於第一環境照明條件之第二環境照明條件的第二圖形處理參數顯現區塊714處所顯現的後續圖框緩衝。對於並未在區塊720處偵測到經更新環境照明 條件之情況,控制傳回至區塊714,其中PDI 102基於相同於PDI 102用於顯現先前圖框緩衝之圖形處理參數顯現下一圖框緩衝。當PDI 102在區塊718處判定並不存在用以顯現之另一圖框緩衝時,圖7之實例程序結束。
圖8為可執行圖7之指令以實施圖1至圖5之實例PDI 102及/或圖1之實例計算機器100的實例處理器系統800之方塊圖。所說明實例之處理器平台800可為(例如)伺服器、個人電腦、行動裝置(例如,行動電話、智慧型手機、諸如iPad®平板電腦之平板電腦)、個人數位助理(PDA)、網際網路器具、DVD播放器、CD播放器、數位視訊記錄器、Blu-ray播放器、遊戲控制台、個人視訊記錄器、機上盒或任何其他類型之計算裝置。
所說明實例之處理器平台800包含處理器812。所說明實例之處理器812為硬體。舉例來說,處理器812可由來自任何所要系列或製造商之一或多個積體電路、邏輯電路、微處理器或控制器實施。
所說明實例之處理器812包含本機記憶體813(例如,快取記憶體)。所說明實例之處理器812經由匯流排818與包含依電性記憶體814及非依電性記憶體816之主記憶體通訊。依電性記憶體814可由同步動態隨機存取記憶體(SDRAM)、動態隨機存取記憶體(DRAM)、RAMBUS動態隨機存取記憶體(RDRAM)及/或任何其他類型之隨機存取記憶體裝置實施。非依電性記憶體816可由快閃記憶體及/或任何其他所要類型之記憶體裝置實施。由記憶體控制器 控制對主記憶體814、816之存取。
所說明實例之處理器平台800亦包含介面電路820。介面電路820可由任何類型之介面標準(諸如,乙太網路介面、通用串列匯流排(USB)及/或PCI高速介面)實施。
在所說明之實例中,一或多個輸入裝置822連接至介面電路820。輸入裝置822准許使用者將資料及命令鍵入至處理器812中。輸入裝置可由(例如)音訊感測器、麥克風、相機(靜態或視訊)、鍵盤、按鈕、滑鼠、觸控螢幕、軌跡墊、軌跡球、iso指針(isopoint)及/或語音辨識系統實施。
一或多個輸出裝置824亦連接至所說明實例之介面電路820。輸出裝置824可(例如)由顯示裝置(例如,發光二極體(LED)、有機發光二極體(OLED)、液晶顯示器、陰極射線管顯示器(CRT)、觸控螢幕、觸覺輸出裝置、發光二極體(LED)、印表機及/或揚聲器)實施。因此,所說明實例之介面電路820通常包含圖形驅動程式卡、圖形驅動程式晶片或圖形驅動程式處理器。
所說明實例之介面電路820亦包含通訊裝置(諸如,傳輸器、接收器、收發器、數據機及/或網路介面卡)以促進經由網路826(例如,乙太網路連接、數位用戶線(DSL)、電話線、同軸纜線、蜂巢式電話系統等)與外部機器(例如,任何種類之計算裝置)交換資料。
所說明實例之處理器平台800亦包含用於儲存軟體及/或資料之一或多個大容量儲存裝置828。此大容量儲存裝置828之實例包含軟碟驅動機、硬碟驅動機、光碟驅動 機、Blu-ray光碟驅動機、RAID系統及數位化通用光碟(DVD)驅動機。
可用於實施圖7之機器可讀指令的經寫碼指令832可儲存於大容量儲存裝置828中、依電性記憶體814中、非依電性記憶體816中及/或諸如CD或DVD之可卸除式有形電腦可讀儲存媒體上。
自前述內容,將瞭解已揭示方法、設備及製品以使得第三方能夠在無需重建由圖形硬體之製造商所提供的新裝置驅動程式之情況下提供擴展圖形處理能力以用於與計算機器之圖形硬體一起使用。以此方式,本文中所揭示之實例用於設備製造商(諸如,PC製造商或其他電子裝置之製造商)定製機器之圖形能力,而無需圖形硬體之製造商或提供商同意將此等定製能力併入至用於圖形硬體之裝置驅動程式中。另外,當判定哪些機器待裝備有此等定製特徵時,本文中所揭示之實例使得設備製造商或第三方能夠藉由維持對此等定製圖形處理能力之控制而保護其定製圖形處理能力之知識產權。亦即,藉由並不需要將定製圖形處理能力提供至圖形硬體之硬體製造商或提供商以用於併入至裝置驅動程式(例如,圖1之裝置驅動程式112)中,定製圖形處理能力較不可能在並無對定製圖形處理能力之所有者的適當信用、辨識及/或補償之情況下自由分佈至任何機器或終端使用者。因而,本文中所揭示之實例可由一些設備製造商或第三方使用以基於其定製圖形處理能力自其他設備製造商或第三方區分其自身。
儘管本文中已揭示某些實例方法、設備及製品,但本專利之涵蓋範圍的範疇並不限於此。相反地,本專利涵蓋落在本專利之申請專利範圍的範疇內之所有方法、設備及製品。
100‧‧‧計算機器
102‧‧‧可程式化驅動程式介面(PDI)
104‧‧‧共用程式庫模組外掛程式
106‧‧‧圖形硬體
108‧‧‧硬體顯示器
110‧‧‧第三方擴展圖形能力提供商
112‧‧‧裝置驅動程式
114‧‧‧圖形硬體提供商
118‧‧‧設備製造商

Claims (25)

  1. 一種方法,其包括:將一顯示面板參數發送至一共用程式庫模組,由通訊於該共用程式庫模組與一圖形硬體裝置驅動程式之間的一可程式化驅動程式介面發送該顯示面板參數,該共用程式庫模組包括一第一圖形處理能力,且該圖形硬體裝置驅動程式包括不同於該第一圖形處理能力之一第二圖形處理能力;基於該第一圖形處理能力經由該可程式化驅動程式介面對一圖框緩衝執行一顯現操作,該第一圖形處理能力係基於該顯示面板參數在該可程式化驅動程式介面處自該共用程式庫模組接收;以及將該圖框緩衝輸出至一顯示器。
  2. 如請求項1之方法,其進一步包括在該共用程式庫模組基於來自對應於該圖形硬體裝置驅動程式之圖形硬體的一提供商之一認證程序而成功地完成一簽名驗證之後,安裝經由該可程式化驅動程式介面與該圖形硬體裝置驅動程式通訊之該共用程式庫模組。
  3. 如請求項1之方法,其中該共用程式庫模組係由獨立於該圖形硬體裝置驅動程式及對應圖形硬體之一提供商的一第三方提供。
  4. 如請求項1之方法,其進一步包括在該圖形硬體裝置驅動程式被提供為一經編譯目標程式碼檔案之後,安裝經 由該可程式化驅動程式介面與該圖形硬體裝置驅動程式通訊之該共用程式庫模組。
  5. 如請求項1之方法,其中對該圖框緩衝執行該顯現操作包括對獨立於由該圖形硬體裝置驅動程式所維持的該圖框緩衝之一第二複本的由該可程式化驅動程式介面所維持的該圖框緩衝之一第一複本執行該顯現操作。
  6. 如請求項1之方法,其中經由該可程式化驅動程式介面對該圖框緩衝執行該顯現操作包括基於對應於第一環境照明條件資訊之第一圖形處理參數執行該顯現操作,且其進一步包括基於對應於第二環境照明條件資訊之第二圖形處理參數經由該可程式化驅動程式介面對一第二圖框緩衝執行一第二顯現操作,該第二環境照明條件資訊係基於來自一感測器監視器之一通知所獲得的。
  7. 一種設備,其包括:一擴展圖形處理能力資料庫,其用以接收一顯示面板參數;一可程式化驅動程式介面,其與該擴展圖形處理能力資料庫及一圖形硬體裝置驅動程式通訊,該擴展圖形處理能力資料庫包括一第一圖形處理能力,該圖形硬體裝置驅動程式包括一第二圖形處理能力,且該可程式化驅動程式介面用以基於該第一圖形處理能力對一圖框緩衝執行一顯現操作,該第一圖形處理能力係基於該顯示面板參數在該可程式化驅動程式介面處自該擴展圖 形處理能力資料庫接收;以及圖形硬體,其包括用以將該圖框緩衝輸出至一顯示器之一圖形處理單元。
  8. 如請求項7之設備,其中該可程式化驅動程式介面進一步在該擴展圖形處理能力資料庫基於來自對應於該圖形硬體裝置驅動程式之圖形硬體的一提供商之一認證程序成功地完成一簽名驗證之後,安裝與該圖形硬體裝置驅動程式通訊之該擴展圖形處理能力資料庫。
  9. 如請求項7之設備,其中該擴展圖形處理能力資料庫由獨立於該圖形硬體裝置驅動程式及對應圖形硬體之一提供商的一第三方提供。
  10. 如請求項7之設備,其中該可程式化驅動程式介面進一步在該圖形硬體裝置驅動程式被提供為一經編譯目標程式碼檔案之後,安裝與該圖形硬體裝置驅動程式通訊之該擴展圖形處理能力資料庫。
  11. 如請求項7之設備,其中該可程式化驅動程式介面藉由對獨立於由該圖形硬體裝置驅動程式所維持之該圖框緩衝的一第二複本的由該可程式化驅動程式介面所維持之該圖框緩衝的一第一複本執行該顯現操作而對該圖框緩衝執行該顯現操作。
  12. 如請求項7之設備,其中該可程式化驅動程式介面基於對應於第一環境照明條件資訊之第一圖形處理參數對該圖框緩衝執行該顯現操作,且該可程式化驅動程式介面進一步基於對應於第二環境照明條件資訊之第二圖 形處理參數對一第二圖框緩衝執行一第二顯現操作,該第二環境照明條件資訊係基於來自一感測器監視器之一通知所獲得的。
  13. 如請求項7之設備,其中當該圖形硬體裝置驅動程式為經編譯目標程式碼時,該共用程式庫模組在無需重新編譯該圖形硬體裝置驅動程式之情況下經由該可程式化驅動程式介面提供該第一圖形處理能力。
  14. 一種電腦可讀儲存媒體,其包括當執行時使得一機器至少進行如下操作之指令:將一顯示面板參數發送至一共用程式庫模組,由通訊於該共用程式庫模組與一圖形硬體裝置驅動程式之間的一可程式化驅動程式介面發送該顯示面板參數,該共用程式庫模組包括一第一圖形處理能力,且該圖形硬體裝置驅動程式包括不同於該第一圖形處理能力之一第二圖形處理能力;基於該第一圖形處理能力經由該可程式化驅動程式介面對一圖框緩衝執行一顯現操作,該第一圖形處理能力係基於該顯示面板參數在該可程式化驅動程式介面處自該共用程式庫模組接收;以及將該圖框緩衝輸出至一顯示器。
  15. 如請求項14之電腦可讀儲存媒體,其中該等指令進一步使得該機器在該共用程式庫模組基於來自對應於該圖形硬體裝置驅動程式之圖形硬體的一提供商之一認證程序成功地完成一簽名驗證之後,安裝經由該可程式化 驅動程式介面與該圖形硬體裝置驅動程式通訊之該共用程式庫模組。
  16. 如請求項14之電腦可讀儲存媒體,其中該共用程式庫模組由獨立於該圖形硬體裝置驅動程式及對應圖形硬體之一提供商的一第三方提供。
  17. 如請求項14之電腦可讀儲存媒體,其中該等指令進一步使得該機器在該圖形硬體裝置驅動程式被提供為一經編譯目標程式碼檔案之後,安裝經由該可程式化驅動程式介面與該圖形硬體裝置驅動程式通訊之該共用程式庫模組。
  18. 如請求項14之電腦可讀儲存媒體,其中該等指令進一步使得該機器藉由對獨立於由該圖形硬體裝置驅動程式所維持之該圖框緩衝的一第二複本的由該可程式化驅動程式介面所維持之該圖框緩衝的一第一複本執行該顯現操作而對該圖框緩衝執行該顯現操作。
  19. 如請求項14之電腦可讀儲存媒體,其中該等指令進一步使得該機器藉由基於對應於第一環境照明條件資訊之第一圖形處理參數執行該顯現操作而經由該可程式化驅動程式介面對該圖框緩衝執行該顯現操作,且該等指令進一步使得該機器基於對應於第二環境照明條件資訊之第二圖形處理參數經由該可程式化驅動程式介面對一第二圖框緩衝執行一第二顯現操作,該第二環境照明條件資訊係基於來自一感測器監視器之一通知所獲得的。
  20. 一種設備,其包括:一可程式化驅動程式介面構件,其用於基於一第一圖形處理能力對一圖框緩衝執行一顯現操作,該第一圖形處理能力係基於一顯示面板參數自一擴展圖形處理能力資料庫所接收,該可程式化驅動程式介面構件與一圖形硬體裝置驅動程式通訊,該圖形硬體裝置驅動程式包括不同於該第一圖形處理能力之一第二圖形處理能力;以及圖形硬體構件,其用於將該圖框緩衝輸出至一顯示器。
  21. 如請求項20之設備,其中該可程式化驅動程式介面構件係用於在該擴展圖形處理能力資料庫基於來自該圖形硬體之一提供商的一認證程序成功地完成一簽名驗證之後,安裝與該裝置驅動程式通訊之該擴展圖形處理能力資料庫。
  22. 一種設備,其包括:圖形硬體,其用以在一硬體顯示器上呈現資訊;一裝置驅動程式,其對應於該圖形硬體,該裝置驅動程式具有用以處理該資訊以用於呈現於該硬體顯示器上之一第一圖形處理能力;以及一可程式化驅動程式介面,其與該裝置驅動程式通訊,該可程式化驅動程式介面用以使得一第三方能夠在無需重新編譯該裝置驅動程式之情況下添加一第二圖形處理能力以用於與該圖形硬體一起使用。
  23. 如請求項22之設備,其中當使得該第三方能夠經由該可程式化驅動程式介面添加該第二圖形處理能力時,該第一圖形處理能力在該裝置驅動程式之一經編譯目標程式碼檔案中,且其中該可程式化驅動程式介面藉由在無需重新編譯對應於該經編譯目標程式碼檔案之一原始程式碼檔案的情況下將該第二圖形處理能力添加於待與該可程式化驅動程式介面通訊之一共用程式庫模組外掛程式或一資料庫中之至少一者中,而使得該第三方能夠在無需重新編譯該裝置驅動程式之情況下添加該第二圖形處理能力。
  24. 如請求項22之設備,其中該第二圖形處理能力可由一相同執行階段環境中之一作業系統及多個應用程式存取。
  25. 如請求項22之設備,其中該裝置驅動程式及該可程式化驅動程式介面使得一作業系統及一應用程式能夠在無需該圖形硬體之特定硬體組態及/或通訊組態之情況下將該資訊發送至該圖形硬體。
TW104105395A 2014-03-27 2015-02-16 用以提供擴展圖形處理能力之方法與設備 TWI578265B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/227,908 US9530386B2 (en) 2014-03-27 2014-03-27 Methods and apparatus to provide extended graphics processing capabilities

Publications (2)

Publication Number Publication Date
TW201602959A true TW201602959A (zh) 2016-01-16
TWI578265B TWI578265B (zh) 2017-04-11

Family

ID=54191263

Family Applications (2)

Application Number Title Priority Date Filing Date
TW104105395A TWI578265B (zh) 2014-03-27 2015-02-16 用以提供擴展圖形處理能力之方法與設備
TW106101679A TWI624801B (zh) 2014-03-27 2015-02-16 用以提供擴展圖形處理能力之方法與設備(二)

Family Applications After (1)

Application Number Title Priority Date Filing Date
TW106101679A TWI624801B (zh) 2014-03-27 2015-02-16 用以提供擴展圖形處理能力之方法與設備(二)

Country Status (2)

Country Link
US (3) US9530386B2 (zh)
TW (2) TWI578265B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690928B2 (en) * 2014-10-25 2017-06-27 Mcafee, Inc. Computing platform security methods and apparatus
CN107945099B (zh) * 2017-11-24 2021-06-01 中国航空工业集团公司西安航空计算技术研究所 一种面向OpenGL实现的属性配置优化方法
US11457289B2 (en) 2018-02-22 2022-09-27 Microsoft Technology Licensing, Llc Low latency broadcasting of game engine frames
BR102018005101A2 (pt) 2018-03-14 2019-10-01 Samsung Eletrônica da Amazônia Ltda. Método para gerenciar circuitos lógicos programáveis para aplicativos invocando bibliotecas dinâmicas
US11228910B2 (en) * 2019-01-25 2022-01-18 V440 Spó£Ka Akcyjna Mobile communication device and method of determining security status thereof
CN111221464B (zh) * 2019-12-24 2023-05-02 太原航空仪表有限公司 一种航空仪表图形处理模块及方法
US11462140B2 (en) * 2020-09-30 2022-10-04 GE Precision Healthcare LLC Methods and systems for detecting a malfunctioning display device
TWI774266B (zh) * 2021-03-12 2022-08-11 葛美迪影像科技股份有限公司 顯示器參數校正程式之驗證方法及具有驗證參數校正程式之顯示系統

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5269021A (en) * 1989-10-12 1993-12-07 Texas Instruments Incorporated Multiprocessor software interface for a graphics processor subsystem employing partially linked dynamic load modules which are downloaded and fully linked at run time
US5745761A (en) * 1994-12-15 1998-04-28 International Business Machines Corporation Advanced graphics driver architecture with extension capability
TW345640B (en) * 1996-10-16 1998-11-21 Convey Corp A file structure for scanned documents
US7284246B2 (en) * 2002-04-23 2007-10-16 Canon Kabushiki Kaisha Extensible device driver
US6775196B2 (en) * 2002-07-12 2004-08-10 Hewlett-Packard Development Company, L.P. Magnetic memory having a temperature compensated write circuit
US7106472B2 (en) * 2002-10-31 2006-09-12 Hewlett-Packard Development Company, L.P. Print driver for an extended printing device
US20090172657A1 (en) * 2007-12-28 2009-07-02 Nokia, Inc. System, Method, Apparatus, Mobile Terminal and Computer Program Product for Providing Secure Mixed-Language Components to a System Dynamically
US9058483B2 (en) 2008-05-08 2015-06-16 Google Inc. Method for validating an untrusted native code module
US8368705B2 (en) * 2008-07-16 2013-02-05 Google Inc. Web-based graphics rendering system
US8542240B2 (en) * 2009-03-31 2013-09-24 Intel Corporation Electronic device having switchable graphics processors
US9864243B2 (en) * 2010-05-14 2018-01-09 Dolby Laboratories Licensing Corporation High dynamic range displays using filterless LCD(s) for increasing contrast and resolution
US9330430B2 (en) * 2011-03-21 2016-05-03 Apple Inc. Fast queries in a multithreaded queue of a graphics system
GB201107167D0 (en) * 2011-04-28 2011-06-15 Gpeg Internat Ltd Display device, system and method for monitoring at least one property thereof
CN102270095A (zh) * 2011-06-30 2011-12-07 威盛电子股份有限公司 多重显示器控制方法及其系统
US9384522B2 (en) * 2012-12-28 2016-07-05 Qualcomm Incorporated Reordering of command streams for graphical processing units (GPUs)

Also Published As

Publication number Publication date
US20170206864A1 (en) 2017-07-20
TW201732736A (zh) 2017-09-16
US10453430B2 (en) 2019-10-22
TWI624801B (zh) 2018-05-21
US10453429B2 (en) 2019-10-22
US20170140498A1 (en) 2017-05-18
US9530386B2 (en) 2016-12-27
US20150279338A1 (en) 2015-10-01
TWI578265B (zh) 2017-04-11

Similar Documents

Publication Publication Date Title
TWI578265B (zh) 用以提供擴展圖形處理能力之方法與設備
US11256496B2 (en) Apparatus and method for managing application
US9177353B2 (en) Secure rendering of display surfaces
CN110178136B (zh) 现场可编程门阵列程序的签名验证的方法和设备
US9354900B2 (en) Method and apparatus for presenting a window in a system having two operating system environments
CN110199271B (zh) 用于现场可编程门阵列虚拟化的方法和设备
US9519803B2 (en) Secure environment for graphics processing units
USRE48311E1 (en) Apparatus and method for running multiple instances of a same application in mobile devices
JP6348173B2 (ja) 制限されたドライバープラットフォームが、ユーザーモードにおいてサンドボックス内でドライバーを実行する
CN105809028B (zh) 在移动设备中运行相同应用的多个实例的装置和方法
KR20160140159A (ko) 전자 장치 및 커널 데이터 접근 방법
KR102333425B1 (ko) 런타임 시의 안드로이드 애플리케이션들을 경량 컨테이너로 샌드박싱하는 방법 및 장치
CN112416303B (zh) 软件开发工具包热修复方法、装置及电子设备
US11037520B2 (en) Screen capture prevention
US11070736B2 (en) Electronic device and image processing method thereof
US20220107774A1 (en) Apparatus, systems, and methods for display content control at electronic user devices
US20220156205A1 (en) Methods and apparatus to support post-manufacturing firmware extensions on computing platforms
KR20160066044A (ko) 별도의 어플리케이션에 의해 정의되는 인터페이스 객체들을 렌더링
CN114090010A (zh) X11系统的移植方法、装置、电子设备及可读存储介质
US11403831B1 (en) Efficient color theming of background images in web-based mixed reality environments
US20240111869A1 (en) Methods and apparatus to disable select processes for malware prevention
US20220269511A1 (en) Operating system partitioning of different users for single-user applications
CN117573138A (zh) 一种编译处理方法、装置、存储介质及电子设备
US9159160B1 (en) Texture sharing between application modules
KR20200118980A (ko) 이종 운영체제를 실행하는 전자 장치 및 그 방법