TWI576784B - 經由一計算管線之取樣、故障管理及/或情境切換技術 - Google Patents
經由一計算管線之取樣、故障管理及/或情境切換技術 Download PDFInfo
- Publication number
- TWI576784B TWI576784B TW104116809A TW104116809A TWI576784B TW I576784 B TWI576784 B TW I576784B TW 104116809 A TW104116809 A TW 104116809A TW 104116809 A TW104116809 A TW 104116809A TW I576784 B TWI576784 B TW I576784B
- Authority
- TW
- Taiwan
- Prior art keywords
- texture
- pipeline
- graphics
- graphics pipeline
- result data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
Description
本發明係有關於經由一計算管線之取樣、故障管理及/或情境切換技術。
三維(3D)圖形管線可執行取樣。例如,3D圖形管線可在像素著色器處計算紋理坐標,將坐標發送至取樣器以供取樣,在像素著色器處接收來自取樣器之像素資料,且將來自著色器之輸出返回渲染目標。然而,與頁面故障相關聯的3D情境無法在不等待的情況下進行切換。例如,紋理讀取之故障可停止圖形處理單元(GPU),且可不允許在其他硬體情境上之正向進展,直至進行足夠的正向進展以達到當前基元之完成。因此,具有相對大數目之頁面故障的相對大多角形可引起停頓。在視窗型應用程序中,例如,渲染圖形使用者介面(GUI)之3D硬體情境可不受排程,且可在遇到故障時產生無回應平台。
紋理或頁表管理系統可實行於應用程式(例如,來自id Software之MegaTextures)或驅動器擴充程式(例如,來自Advanced Micro Devices Inc.之AMD_sparse_texture,
來自微軟公司之Tiled Textures)中,以便將紋理子集頁入(駐存於)記憶體中以供再現當前圖框/視圖。然而,可能需要對應用程式、應用程式設計介面(API)及/或驅動器之廣泛改變來支援系統。另外,圖形應用程式可需要頁面察知及/或故障察知,其中著色器檢查藉由取樣器返回的故障碼,且寫出缺頁識別符至緩衝區(例如,無序存取視圖),以允許應用程式主機碼上載缺頁。此外,在沒有用於鋪塊資源之硬體支援的情況下,可需要應用程式管理紋理向具有適當邊界之圖塊(tile)的劃分,以便允許著色器中之過濾及相對複雜的頁面查找。亦可需要著色器繞過硬體取樣器過濾功能,且使用執行單元(EU)指令來計算,因為GPU可能不知曉軟體管理紋理快取記憶體中mip映射及/或相鄰紋理之位置。
依據本發明之一實施例,係特地提出一種設備,其包含:包括一或多個管線之一或多個處理器,該一或多個管線包括:三維(3D)圖形管線,其包括紋理樣本位置模組以提供對應於紋理之紋理樣本位置資料,其中該紋理之取樣將在該3D圖形管線外部執行;以及計算管線,其包括紋理樣本結果模組,以利用該紋理樣本位置資料執行該紋理之取樣,且提供對應於該紋理之紋理樣本結果資料,其中該3D圖形管線之渲染模組將利用該紋理樣本結果資料合成圖框。
100‧‧‧取樣、故障管理及/或情境切換設備/設備
110‧‧‧應用程式
112‧‧‧三維(3D)圖形管線/3D圖形管線
114‧‧‧紋理樣本位置模組
116‧‧‧渲染模組
118‧‧‧交替紋理樣本結果模組
120‧‧‧3D圖形任務模組
122‧‧‧等待模組
126‧‧‧計算管線
128‧‧‧紋理樣本結果模組
130‧‧‧故障管理模組
132‧‧‧情境切換模組
134‧‧‧GPU/計算裝置
200‧‧‧方法
240~244、350~352、356~368、372~376‧‧‧處理方塊
300‧‧‧方法
354、370‧‧‧方塊
600‧‧‧區塊操作計算系統
676‧‧‧CPU
677‧‧‧三維(3D)圖形管線/3D圖形管線
678‧‧‧圖形處理單元
679‧‧‧計算管線
680‧‧‧圖形匯流排
681‧‧‧硬體取樣器/GPU硬體取樣器
682‧‧‧顯示裝置
683‧‧‧積體記憶體控制器/iMC
684‧‧‧硬碟驅動機
686‧‧‧主記憶體/系統記憶體
690‧‧‧專用圖形記憶體
692‧‧‧輸入/輸出(I/O)模組/I/O模組
700‧‧‧系統
702‧‧‧平台
705‧‧‧晶片組
710‧‧‧處理器
712‧‧‧記憶體
714‧‧‧儲存器
715‧‧‧圖形子系統
716‧‧‧應用程式/軟體應用程式
718‧‧‧無線電
720‧‧‧顯示器
722‧‧‧使用者介面
730‧‧‧內容服務裝置
740‧‧‧內容遞送裝置
750‧‧‧導航控制器
760‧‧‧網路
800‧‧‧小形狀因子裝置/裝置
802‧‧‧外殼
804‧‧‧顯示器
806‧‧‧輸入/輸出(I/O)裝置/I/O裝置
808‧‧‧天線
812‧‧‧導航特徵
藉由閱讀以下說明書及隨附申請專利範圍,且藉
由參考以下圖式,熟習此項技術者將明白本發明之實施例之各種優點,在該等圖式中:圖1為根據實施例的取樣、故障管理及/或情境切換設備之實例的方塊圖;圖2為根據實施例的進行取樣、故障管理及/或情境切換之方法之實例的流程圖;圖3為根據實施例的進行取樣、故障管理及/或情境切換之方法之實例的流程圖;圖4為根據實施例之取樣、故障管理及/或情境切換計算系統之實例的方塊圖;圖5為根據實施例的包括三維(3D)管線及計算管線之系統之實例的方塊圖;以及圖6為根據實施例的具有小形狀因子之系統之實例的方塊圖。
圖1展示根據實施例的取樣、故障管理及/或情境切換設備100。設備100可包括:任何計算平台,諸如膝上型電腦、個人數位助理(PDA)、無線智慧型電話、媒體內容播放器、成像裝置、行動網際網路裝置(MID)、伺服器、遊戲控制台、隨身電腦;任何智慧型裝置,諸如智慧型電話、智慧型平板電腦、智慧型TV以及其他者;或其任何組合。設備100可包括一或多個處理器,諸如中央處理單元(CPU)、圖形處理單元(GPU)(亦可稱為視覺處理單元(VPU))
以及其他者,或其組合。在一個圖形執行模型中,設備100可包括一或多個主機(例如,CPU等等)以控制一或多個計算裝置(例如,CPU、GPU/VPU等等),其中每一計算裝置可包括一或多個計算單元(例如,核心、單指令多資料單元等等),該等計算單元具有一或多個執行元件以執行以下論述的功能。
設備100包括應用程式110,諸如三維(3D)圖形應用程式,其可與一或多個管線通訊以執行圖形任務,包括例如渲染顆粒效應,渲染陰影映射,對紋理取樣,合成圖框,顯示圖框以及其他任務。應用程式110可不需要頁面察知及/或故障察知,其中頁面故障及/或頁面故障之管理可自應用程式110隱藏。另外,頁面故障可不引起停頓,因為與頁面故障相關聯的情境(例如,故障情境)可獲切換(例如,實質上立即切換)而無需等待達到當前基元之完成的足夠正向進展,從而允許執行另一圖形任務(例如,不涉及紋理取樣的任務,不與故障相關聯的任務等等)。
應用程式110可與三維(3D)圖形管線112通訊以合成用於顯示之圖框。圖框可對應於例如對以下各項之3D渲染:場景及/或視訊遊戲、試算表、文字(例如,豐富文字等等)、標示語言(例如,超文件標示語言、可延伸標示語言等等)、影像(例如,聯合照相專家群(JPEG)資料等等)、視訊(例如,動畫專家群(MPEG)資料等等)以及其他者,或其組合。另外,圖框可對應於視窗型應用程序,包括例如圖形使用者介面(GUI)。圖框亦可對應於需要相對高框速率回
應性(例如,每秒大致30個圖框)之應用程式。設備100可在3D圖形管線112合成圖框之後,經由例如液晶顯示器(LCD)、發光二極體(LED)顯示器、觸控螢幕以及其他者來顯示該圖框。
3D圖形管線112可支援3D應用程式設計介面(API),諸如,例如開放圖形程式館API(OpenGL®,Silicon Graphics,Inc之商標)、Direct3D API(Direct3D®,微軟公司之商標)以及其他者。應用程式110可例如使用3D API來處理命令,且藉由產生3D情境來合成圖框,該3D情境可對應於3D管線用於工作負荷之狀態。例如,應用程式110可藉由產生OpenGL情境來使用OpenGL,該OpenGL情境可對應於狀態機,該狀態機儲存與應用程式110之渲染有關的資料。另外,所例示3D圖形管線112包括紋理樣本位置模組114,以提供對應於紋理之紋理樣本位置資料,諸如,例如利用來對該紋理取樣之資訊(例如,用於判定紋理中進行取樣之位置的紋理坐標及/或梯度)。紋理樣本位置模組114可例如包括在應用程式110之原始碼中,作為用於應用程式110之擴充程式受包括,實行於驅動器中,至少部分地實行於固定功能性硬體中,以及其他者,或其組合。
紋理樣本位置模組114可產生樣本資訊緩衝區以保持紋理樣本位置資料,包括例如紋理坐標、uv坐標、梯度(例如,dx/dy)、紋理處置、細節層次(LOD)以及其他者,或其組合。樣本資訊緩衝區可作為一層包括於G緩衝區中,該G緩衝區具有多個層以保持圖形資料,諸如,例如位置、
常態值(normal)、著色參數等等。G緩衝區可在延緩著色過程中產生,其中幾何形狀在單遍中處理以輸出G緩衝區,且執行其他遍以作為二維(2D)後處理遍來合成最終圖框。應注意,對紋理取樣可在3D圖形管線112外部執行,該取樣可對應於使用紋理坐標及/或梯度來擷取紋理之資訊(諸如色彩資料)的操作。在一個實例中,片段可在3D圖形管線112外部處理以藉由使用紋理樣本位置資料(例如,紋理坐標、樣本資訊緩衝區等等)對紋理取樣來產生紋理樣本結果資料(例如,色彩等等)。
因此,設備100包括計算管線126,以在3D圖形管線112外部執行取樣及/或提供用於由3D圖形管線112使用來合成圖框之紋理樣本結果資料。計算管線126可支援計算API,諸如,例如開放計算語言API(OpenCL®,蘋果公司之商標)、計算著色器API(例如,擴充Direct3D)、計算統一裝置架構API(CUDATM,NVIDIA公司之商標)以及其他者。應用程式110可例如使用計算API來執行取樣,且藉由產生計算情境來提供紋理樣本結果資料。例如,應用程式110可藉由產生OpenCL情境來使用OpenCL,該OpenCL情境允許計算裝置(例如,CPU、GPU/VPU等等)執行(及/或運行)核心(例如,每一核心可封裝自程式獲取之函數)及/或轉移資料。因此,使用計算管線126,圖形任務(例如,取樣)可劃分成將要藉由一或多個執行元件(例如,工作項、執行緒等等)並行執行的工作(例如,核心等等),其中一或多個執行元件可一起分組成元件群(例如,工作群、執行緒區塊等
等)之一或多個元件區塊(例如,子群、執行緒束(warp)等等),且其中圖形執行模型中之元件群可在GPU/計算裝置134上執行。
所例示計算管線126包括紋理樣本結果模組128,以利用紋理樣本位置資料執行紋理之取樣,及/或提供對應於該紋理之紋理樣本結果資料。在一個實例中,紋理樣本結果模組128可讀取及/或接收紋理樣本位置資料來執行取樣。紋理樣本結果模組128可產生例如OpenCL核心來執行取樣,其中OpenCL核心將藉由收集成工作群之工作項執行,該等工作群將要在GPU/計算裝置134中執行。例如,紋理樣本結果模組128可讀取樣本資訊緩衝區以產生與紋理樣本位置資料相關聯的OpenCL核心。紋理樣本結果模組128可例如包括在應用程式110之原始碼中,作為用於應用程式110之擴充程式受包括,實行於驅動器中,至少部分地實行於固定功能性硬體中,以及其他者,或其組合。
紋理樣本結果模組128可將取樣(例如,紋理樣本結果資料)之結果提供至3D圖形管線112。例如,紋理樣本結果模組128可產生包括紋理樣本結果資料之紋理層緩衝區,該紋理層緩衝區可作為一層包括於G緩衝區中且用於完成延緩著色。在一個實例中,3D圖形管線之渲染模組116可利用紋理樣本結果資料、藉由讀取紋理層緩衝區及/或藉由接收由紋理樣本結果模組128提供的紋理樣本結果資料來合成圖框。渲染模組116可例如包括在應用程式110之原始碼中,作為用於應用程式110之擴充程式受包括,實行於
驅動器中,至少部分地實行於固定功能性硬體中,以及其他者,或其組合。
計算管線126包括故障管理模組130,以管理例如在紋理樣本結果資料提供至3D圖形管線之前遇到的頁面故障。例如,當針對未駐存(例如,載入)實體記憶體(諸如圖形記憶體)中之紋理來存取頁面時,會遇到頁面故障。應注意,在計算管線126內部取樣可包括對虛擬紋理取樣,該虛擬紋理可能不受保證為駐存於實體記憶體中。因此,當針對不受保證為處於記憶體中之虛擬紋理來存取頁面時,會遇到頁面故障。不同於頁入紋理之整個工作集及/或需要駐存於記憶體中之紋理子集,故障管理模組130可用於頁入(例如,駐存於)虛擬紋理中實際所需要的部分,諸如,例如與所讀取的當前紋理相關聯的確切紋理影像元件(texel)。因此,具有相對高解析度之紋理可在不需要完全駐存於記憶體中及/或不浪費諸如實體記憶體之資源的情況下使用。
此外,可專用相對於紋理之大小而言針對紋理之較小實體記憶體的平台可受益於計算管線126。例如,相對大的紋理(例如,數百百萬位元、十億位元、大於專用實體記憶體等等)可不能完全地駐存於記憶體中,而可僅需要紋理之子集用於取樣。因此,涉及頁入渲染紋理中自例如紋理讀取及/或頁面故障判定的當前圖框所需要的確切部分中之紋理串流可藉由故障管理模組130實行以適應取樣,其中渲染所需的紋理之部分為當前實際上所需要的(例如,按需求)。另外,紋理串流可藉由故障管理模組130實行以適
應取樣,其中渲染所需的紋理中為實際上所需要的部分駐存於相對大的紋理(例如,大於專用實體記憶體)中。故障管理模組130可例如作為用於OS故障處置器、排程器及/或驅動器之擴充程式包括於OS故障處置器、排程器及/或驅動器原始碼中,至少部分地實行於固定功能性硬體中,以及其他者,或其組合。
因此,應用程式110可不需要頁面察知及/或故障察知,其中頁面故障、頁表管理及/或頁面故障之管理可自應用程式110隱藏。此外,共用虛擬記憶體(SVM)架構可受制衡以支援紋理串流。例如,紋理串流可使用Intel SVM(Intel®,英特爾公司之商標)來支援,該紋理串流可允許CPU及GPU具有統一記憶體(例如,CPU及GPU位址為統一的(例如,64位元)),可允許GPU在紋理不駐存時在記憶體存取時發生故障,且可允許頁面故障藉由OS/驅動器來管理/處置(例如,頁入紋理、修護頁面故障等等)。因此,GPU可包括使用SVM支援虛擬紋理之可故障計算管線126。
計算管線126亦包括情境切換模組132,以切換與頁面故障相關聯的計算情境(例如,故障計算情境)。例如,不同於等待頁面故障獲修護(例如,頁入紋理之當前所需要部分)及/或等待進行正向進展以達到用於切換的當前基元之完成,情境切換模組132可切換故障計算情境,以允許進一步工作將藉由GPU/計算裝置134來完成。情境切換模組132可例如將故障計算情境切換為另一計算情境。情境切換模組132亦可在與該情境相關聯的故障已獲修護時(例如,
當頁入紋理之當前所需要部分時)切換回故障計算情境。
在一個實例中,情境切換模組132可自第一故障計算情境切換至第二計算情境,例如用於計算圖形任務,諸如經由計算管線126之取樣,其中若第二計算情境變成與頁面故障相關聯的,則情境切換模組132亦可隨後切換第二計算情境。就此而言,情境切換模組132可將已故障的第二計算情境切換為另一計算情境,諸如第三計算情境(例如,用於計算圖形任務)、先前故障的第一計算情境(當該故障已獲修護),以及其他者。情境切換模組132亦可切換故障計算情境以用於來自3D管線112之3D圖形任務,如以下所論述。
因此,藉由不停頓GPU/計算裝置134,進一步工作可藉由不依賴於故障資料的其他情境來進行。例如,應用程式110可執行圖框之其他部分(諸如顆粒、陰影映射等等)的渲染,同時頁面受修護(例如,頁入)。在與視窗型應用程序有關的一個實例中,與渲染GUI之3D硬體情境相關聯的3D圖形任務可經排程以防止視窗停頓,且例如當遇到頁面故障並修護該頁面故障時(例如,當將要頁入紋理中實際上需要解決頁面故障的確切部分時)維持回應性。情境切換模組132可例如作為用於OS故障處置器、排程器及/或驅動器之擴充程式包括於OS故障處置器、排程器及/或驅動器原始碼中,至少部分地實行於固定功能性硬體中,以及其他者,或其組合。例如,情境切換模組132可與GPU/計算裝置134上之硬體(例如,邏輯電路等等)相關聯,以促進相對
高效能的情境切換。
計算管線126可實行一或多種節流機制以允許計算管線126跟上3D圖形管線(例如,跟上主3D執行緒)。計算管線126可實行LOD偏置,以使得相對較粗糙mip映射層次係用於降低頻寬要求且相對地加速取樣。例如,紋理樣本位置資料可包括對應於LOD偏置之LOD,其中取樣係藉由計算管線126根據LOD偏置來實行。此外,計算管線126可藉由調度較小群之核心而非同時調度所有核心以不等待整個樣本資訊緩衝區完成。例如,紋理樣本位置資料可在產生整個樣本資訊緩衝區之前提供至計算管線126,其中計算管線126將調度與紋理樣本位置資料相關聯的執行緒子集。另外,即使圖框存在整個紋理樣本位置資料,亦可調度相對小群之核心。例如,核心調度可停止,且計算管線126可在3D圖形管線112需要紋理樣本結果資料(例如,當前圖框結束)時移動至另一圖框(例如,下一圖框),即使尚未調度所有核心時亦如此。
當紋理樣本結果資料在預定時段內不可用時,3D圖形管線112可利用來自計算管線126之部分結果,連同來自相對較高層次(例如,較粗糙)、駐存受保證mip映射之替用紋理樣本結果資料一起來完成圖框。儘管計算管線126可作為串流系統來操作以盡可能快地頁入及取樣(及/或過濾)紋理之所需部分,但3D圖形管線112之替用紋理樣本結果模組118可產生作為後降(fallback)的替用紋理樣本結果資料。替用紋理樣本結果模組118可例如包括在應用程式
110之原始碼中,作為用於應用程式110之擴充程式受包括,實行於驅動器中,至少部分地實行於固定功能性硬體中,以及其他者,或其組合。
在一個實例中,當紋理樣本結果資料不可用以維持所要及/或所需框速率(例如,取樣工作不能在預定時間內完成以跟上框速率)時,3D圖形管線112可使用替用紋理樣本結果資料來合成圖框。因此,主3D執行緒可不等待來自計算管線126之工作以合成圖框。另外,替用紋理樣本結果模組118可藉由對虛擬紋理(例如,與當前頁面故障相關聯的虛擬紋理)之已知駐存的較高層次(例如,較粗糙)mip映射取樣來產生相對較低解析度的紋理樣本結果資料。此外,當紋理樣本結果資料變得可用以解決假影(例如,插入假影)時,3D圖形管線112可在一段時間內將來自計算管線126之紋理樣本結果資料混入串流式、相對較高解析度層中。
3D圖形管線112亦包括3D圖形任務模組120,以執行3D圖形任務(例如,不涉及虛擬紋理取樣的任務、不與故障相關聯的任務等等)。在一個實例中,當正在管理頁面故障時,執行3D圖形任務。3D圖形任務模組120可與GPU/計算裝置134通訊,以渲染圖框中獨立(例如,不使用虛擬紋理)的其他部分,諸如顆粒效應、陰影映射等等。3D圖形任務模組120可例如包括在應用程式110之原始碼中,作為用於應用程式110之擴充程式受包括,實行於驅動器中,至少部分地實行於固定功能性硬體中,以及其他者,或其組
合。
3D圖形管線112亦包括等待模組122,以等待3D圖形管線112(例如,等待合成圖框,不進行其他工作,等等),直至例如故障管理模組130修護頁面故障及/或紋理樣本結果模組128提供紋理樣本結果資料。在一個實例中,等待模組122可藉由使渲染模組116等待直至自計算管線126接收到紋理層緩衝區及/或紋理樣本結果資料來促進延緩著色。等待模組122可例如包括在應用程式110之原始碼中,作為用於應用程式110之擴充程式受包括,實行於驅動器中,至少部分地實行於固定功能性硬體中,以及其他者,或其組合。
當例如預定時段已過去及/或替用紋理樣本結果資料可用以合成圖框時,等待模組122可不產生等待指令及/或3D圖形管線112可忽略等待指令。例如,當框速率為大致60框每秒(fps)時,3D圖形管線112可等待來自計算管線126之紋理樣本結果資料大致15ms。3D圖形管線112可在預定時期過期時立即使用替用紋理樣本結果資料,及/或可等待另一預定時段(例如,1ms)以不再等待來自計算管線126之紋理樣本結果資料及/或使用替用紋理樣本結果資料。在一個實例中,替用紋理樣本結果資料可自非虛擬紋理(例如,虛擬紋理之相對低解析度、已知駐存mip映射型式)產生。
因此,等待模組122可用於將3D圖形管線112及計算管線126同步。例如,等待模組122可在OpenGL情境與
OpenCL情境之間將樣本資訊緩衝區及所得紋理層緩衝區同步,以確保產生紋理樣本位置資料及紋理樣本結果資料及/或將其用於邏輯命令中。在一個實例中,同步可使用提供於例如OS X平台(OS X®,蘋果公司之商標)上之大中央調度(GCD)來完成。同步亦可使用cl_khr_gl_event擴充程式(若獲支援)來完成,以藉由連結GL圍籬連結至CL事件來將GL與CL之間的資源同步。同步可進一步使用外顯完成(explicit finish)(例如,glFinish)來完成,以將3D圖形管線112及情境管線126同步,例如在可耐受驅動器停頓之風險的情況下如此。
圖2展示根據實施例的取樣、管理故障及/或情境切換之方法200。方法200可實行為:儲存於機器或電腦可讀儲存媒體中之一組邏輯指令,該機器或電腦可讀儲存媒體諸如隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可規劃ROM(PROM)、快閃記憶體等等;儲存於使用電路技術之固定功能性邏輯硬體中之一組邏輯指令,該電路技術諸如特定應用積體電路(ASIC)、CMOS或電晶體-電晶體邏輯(TTL)技術或其任何組合。例如,進行方法200中所示的操作之電腦程式碼可以一或多種程式設計語言之任何組合寫入,該等程式設計語言包括諸如C++或類似物之物件導向程式設計語言及諸如「C」程式設計語言或類似程式設計語言之習知程序性程式設計語言。此外,方法200可使用本文提及的電路技術中之任何電路技術來實行。
所例示的處理方塊240包括經由三維(3D)圖形管
線來提供對應於紋理之紋理樣本位置資料,其中紋理之取樣在3D圖形管線外部執行。例如,3D圖形管線可包括以上論述的3D圖形管線112(圖1)。因此,處理方塊240可包括經由3D圖形管線來產生包括紋理樣本位置資料之樣本資訊緩衝區。例如,處理方塊240可包括經由3D圖形管線來支援圖形程式館(GL)3D應用程式設計介面(API),以產生包括紋理樣本位置資料之樣本資訊緩衝區,該紋理樣本位置資料諸如,例如uv坐標、梯度、紋理處置、細節層次(LOD)以及其他者,或其組合。
所例示的處理方塊242包括經由計算管線來執行利用紋理樣本位置資料之取樣。例如,計算管線可包括以上論述的計算管線126(圖1)。因此,處理方塊242可包括經由計算管線來讀取樣本資訊緩衝區,以執行取樣及/或產生包括紋理樣本結果資料之紋理層緩衝區。例如,處理方塊242可包括經由計算管線來支援計算API(例如,OpenCL API),以產生紋理層緩衝區,該紋理層緩衝區在紋理中保持將用於完成圖框之任何資料(例如,色彩資料等等)。
處理方塊242可包括經由計算管線來管理頁面故障,其中頁面故障及/或頁面故障之管理可自圖形應用程式(例如,3D圖形應用程式)隱藏。應注意,取樣可包括不受保證為處於記憶體中之紋理(例如,虛擬紋理)。因此,不同於頁入紋理之整個工作集及/或需要駐存於記憶體中之紋理子集,計算管線可頁入(例如,駐存於)實際所需要(例如,按需求)的虛擬紋理中,諸如,例如紋理中與所讀取的當前
紋理相關聯的確切部分。另外,涉及頁入渲染自例如當前紋理讀取及/或頁面故障判定的當前圖框所需要的紋理之確切部分中之紋理串流可實行來適應取樣,其中渲染所需的紋理之部分為當前實際上所需要的,及/或其中渲染所需的紋理中實際上所需要之部分駐存於相對大紋理(例如,大於專用實體記憶體)中。
處理方塊242可包括經由計算管線切換與頁面故障相關聯的計算情境,以允許執行進一步工作及/或防止回應於頁面故障之GPU裝置停頓。例如,不同於等待頁面故障獲修護(例如,頁入所需要紋理)及/或等待進行正向進展以達到當前基元之完成,計算管線可切換出故障計算情境,以允許執行另一圖形任務(例如,排程、切換入等等)。因此,GPU裝置可不回應於頁面故障而停頓,且可允許藉由其他情境進行進一步GPU工作,諸如渲染顆粒效應、渲染陰影映射等等,同時修護頁面。在用於視窗型應用程序之一個實例中,與渲染GUI之3D硬體情境相關聯的3D圖形任務可經排程以防止視窗停頓及維持回應性。計算管線亦可在頁面故障獲修護時(例如,當將要頁入紋理中對當前頁面故障尋址實際上所需要的確切部分時)排程經切換及/或故障計算情境用於回復執行。
處理方塊242可包括經由計算管線來實行細節層次(LOD)偏置及/或執行緒子集調度,以允許計算管線跟上3D圖形管線。計算管線可實行LOD偏置,以使得相對較粗糙mip映射層次係用於降低頻寬要求且相對地加速取樣。此
外,計算管線可藉由調度較小群之核心而非同時調度所有核心以不等待整個樣本資訊緩衝區完成。另外,即使存在整個位置資料,計算管線亦可調度相對小群之核心。
所例示的處理方塊244可包括經由計算管線來提供對應於紋理之紋理樣本結果資料,其中該3D圖形管線將利用紋理樣本結果資料來合成圖框。因此,處理方塊244可包括經由3D圖形管線來讀取紋理層緩衝區以合成圖框。應瞭解,處理方塊240、242及/或244可包括呈任何組合之一或多個操作。在一個實例中,當3D圖形管線在處理方塊240處提供紋理樣本位置資料時,當計算管線在處理方塊240處管理頁面故障時以及其他者或其組合,方法200可包括經由3D圖形管線來執行不涉及紋理取樣之圖形任務(例如,不涉及虛擬紋理之取樣的任務)。
在另一實例中,方法200可包括在處理方塊244處,在紋理樣本結果資料於預定時期內不可用時,經由3D圖形管線來產生替用紋理樣本結果資料以合成圖框。例如,經由3D圖形管線對紋理之駐存較粗糙mip映射取樣(例如,對應於虛擬紋理之非虛擬紋理之取樣)以產生替用紋理樣本結果資料可在處理方塊244處完成。另外,處理方塊240、242及/或244可包括等待3D圖形管線例如直至計算管線修護頁面故障以合成圖框,其中該等待將3D圖形管線與計算管線同步而無需外顯完成。
現轉向圖3,方法300展示根據實施例的取樣、管理故障及/或情境切換。方法300可使用本文提及之技術中
之任何技術來實行,該等技術諸如,例如儲存於機器或電腦可讀儲存媒體中之一組邏輯指令。所例示的處理方塊350可經由三維(3D)圖形管線來產生樣本資訊緩衝區。例如,3D圖形管線可包括以上論述的3D圖形管線112(圖1)。樣本資訊緩衝區可提供至處理方塊352,該處理方塊352可經由計算管線來讀取樣本資訊緩衝區且執行取樣。例如,計算管線可包括以上論述的計算管線126(圖1)。
在方塊354處對是否存在與經由計算管線之取樣相關聯的頁面故障做出判定。例如,頁面故障可涉及對虛擬紋理之當前紋理讀取,該虛擬紋理不受保證為駐存於記憶體中且實際上不駐存於記憶體中但與紋理讀取相關聯。若不存在頁面故障,則在處理方塊356處經由計算管線來產生包括紋理樣本結果資料(例如,色彩等等)之紋理層緩衝區。若存在與取樣相關聯的頁面故障,則處理方塊358經由計算管線管理及/或固定頁面故障。例如,處理方塊358可頁入對解決回應於例如當前紋理讀取及/或頁面故障所判定的頁面故障實際上所需要的紋理部分或確切紋理影像元件。另外,處理方塊360可經由計算管線切換與頁面故障相關聯的情境,以允許執行另一圖形任務(例如,不涉及紋理取樣的任務,與當前不等待故障之任何情境相關聯的任務等等)以防止回應於頁面故障之停頓。當解決頁面故障時,故障情境可在處理方塊362處經由計算管線切換回以回復取樣。產生的紋理樣本結果資料可保持於在處理方塊356處經由計算管線產生的紋理層緩衝區中。
同時,3D圖形任務可在處理方塊364處經由3D管線來產生。當例如計算管線管理頁面故障時,3D圖形任務可在處理方塊366處經由3D管線來執行。例如在處理方塊366處完成處理一或多個3D圖形任務之後,處理方塊368可等待3D管線。在方塊370處對是否在大於預定時段之時間將紋理層緩衝區提供至3D圖形管線做出判定。若是,則處理方塊372經由3D管線來產生替用紋理樣本結果資料及/或提供替用紋理樣本結果資料至處理方塊376,其中處理方塊376經由3D管線、使用替用紋理樣本結果資料來合成(例如,完成)圖框。若否,則處理方塊374讀取紋理層緩衝區且提供紋理樣本結果資料至處理方塊376以經由3D管線、利用紋理樣本結果資料來合成圖框。另外,替用紋理樣本結果資料及紋理樣本結果資料可藉由實行例如經由3D管線之混合操作來一起使用。
現轉向圖4,展示根據實施例的區塊操作計算系統600。計算系統600可為行動平台之部分,該行動平台諸如膝上型電腦、PDA、無線智慧型電話、媒體播放器、成像裝置、MID、遊戲控制台、隨身電腦、任何智慧型裝置(諸如,智慧型電話、智慧型平板電腦以及其他者)或其任何組合。計算系統600亦可為固定平台之部分,該固定平台諸如個人電腦(PC)、智慧型TV、伺服器、工作站等等。所例示的計算系統600包括一或多個CPU(中央處理單元)676、顯示裝置682、硬碟驅動機684及主記憶體686,該主記憶體可包括例如DDR模組。系統記憶體686之模組可併入SIMM(單
直插記憶體模組)、DIMM(雙直插記憶體模組)、SODIMM(小輪廓DIMM)以及其他者。
計算系統600可包括圖形匯流排(例如,插槽)680,其中含有圖形處理單元(GPU)678及專用圖形記憶體690之圖形卡(未展示)可耦接(例如,插入)至圖形匯流排680。例如,圖形匯流排680可包括PCI快速圖形(PEG,例如,周邊組件互連/PCI快速x16圖形150W-ATX規範1.0,PCI特別興趣群)匯流排、加速圖形埠(例如,AGP V3.0介面規範,2002年9月)匯流排,以及其他者。CPU 676可具有積體記憶體控制器(iMC)684及一或多個處理器(未展示),以執行與主機OS(作業系統)及/或應用軟體相關聯的一或多個驅動程式,其中每一核心可利用指令擷取單元、指令解碼器、一階(L1)快取記憶體、執行單元以及其他者來達成完全功能性。CPU 676可替代地經由前側匯流排與iMC 683之晶片外變化形式(亦稱為北橋)通訊。所例示的CPU 676經由集線器匯流排與輸入/輸出(I/O)模組692(亦稱為南橋)通訊。iMC 683/CPU 676及I/O模組692有時稱為為晶片組,或可一起作為系統單晶片(SoC)架構來實行。
所例示的計算系統600亦包括三維(3D)圖形管線677。例如,3D圖形管線677可包括以上論述的3D圖形管線112(圖1)。因此,3D圖形管線677可例如提供對應於紋理之紋理樣本位置資料,其中紋理之取樣在3D圖形管線外部執行。另外,計算系統600包括計算管線679。例如,計算管線679可包括以上論述的計算管線126(圖1)。因此,計算管
線679可例如利用紋理樣本位置資料來執行紋理之取樣,及/或提供對應於紋理之紋理樣本結果資料。3D圖形管線677及計算管線679可以專用圖形及/或積體圖形格式來實行。例如,3D圖形管線677、計算管線679及匯流排可為同一晶粒中呈積體圖形格式之部分。然而,3D圖形管線677及/或計算管線679之一或多個組件可遠程地定位於諸如CPU 676中。
應注意,當紋理不駐存於實體記憶體中時,諸如不駐存於主記憶體686中、專用圖形記憶體690中以及其他者中或其組合時,計算管線679可管理與紋理(例如,虛擬紋理)相關聯的頁面故障。另外,計算管線679可例如在EU指令階(例如,提供相對較精細粒度)下切換故障情境。計算管線679亦可包括及/或制衡硬體取樣器681以對紋理取樣,該等紋理可在3D圖形管線677及計算管線679中共用。因此,應用程式可不需要頁面察知及/或故障察知,其中頁面故障及/或頁面故障之管理可自應用程式隱藏。另外,頁面故障可不引起停頓,因為與頁面故障相關聯的情境(例如,故障情境)可獲切換(例如,實質上立即切換)而不等待達到當前基元之完成的足夠正向進展,從而允許執行另一圖形任務(例如,不涉及紋理取樣的任務,與當前不等待故障之任何情境相關聯的圖形任務等等)。
另外,GPU硬體之使用可允許其他取樣優點,諸如支援最接近過濾、雙線性過濾、三線性過濾、各向異性過濾以及其他者。此外,可支援梯度輸入,且可支援遺漏
紋理格式或LOD偏置。例如,tex3Dgrad可獲支援以判定用於mip映射及/或過濾之LOD。
此外,壓縮優點可包括以例如16K x 16K粒度按需求解壓縮。另外,取樣可自記憶體映射網路檔案完成,該記憶體映射網路檔案可包括局部/遠程伺服器以解壓縮相對大的紋理(例如,衛星影像)。此外,格式(例如,JPEG)可獲解壓縮且經由共用記憶體與工作群共用。若藉由以所要(例如,正常)位準來處理相對較粗糙mip層次及/或藉由保證駐存mip映射不能及時串流頁面,則LOD後降優點可包括對駐存保證頁面之後降。此外,在著色器為故障察知型的情況下,可使用非阻斷取樣指令來在取樣引起頁面故障時返回故障結果,以允許著色器嘗試相對較粗糙mip層次。串流優點可包括由於相對小的紋理預載而提供相對小的負載(例如,起動)時間。此外,可提供相對薄的客戶端(例如,對網路型應用而言),及/或在硬碟機上可不需要紋理資產。
另外,可利用webkit。例如,開放原始webkit渲染模組可允許CPU 676將圖塊直接渲染至共用記憶體,其中圖塊及影像可經由取樣器直接存取,該等取樣器諸如可為可故障的GPU硬體取樣器681。此外,在串流跟不上框速率的情況下,可藉由3D情境(或另一計算情境)而非LOD來利用棋盤框紋理。地形渲染優點可包括相對簡化的地形渲染,其藉由不需要應用程式分切可查看圖塊及更新記憶體(例如,VRAM)方式使用相對大高度的映射。
圖5例示根據實施例的系統700之實施例,該系統
700可實行三維(3D)圖形管線及計算管線。例如,3D圖形管線可包括以上論述的3D圖形管線112(圖1)及/或3D圖形管線677(圖4)。另外,計算管線可包括以上論述的計算管線126(圖1)及/或計算管線679(圖4)。在實施例中,系統700可為媒體系統,但是系統700不限於此情境。此外,系統700可併入個人電腦(PC)、膝上型電腦、超膝上型電腦、平板電腦、觸控板、可攜式電腦、手持式電腦、掌上型電腦、個人數位助理(PDA)、蜂窩式電話、組合蜂窩式電話/PDA、電視、智慧型裝置(例如,智慧型電話、智慧型平板電腦或智慧型電視)、行動網際網路裝置(MID)、通信報裝置、資料通訊裝置、遊戲控制台以及其他者中。
在實施例中,系統700包含耦接至顯示器720之平台702。平台702可自諸如內容服務裝置730或內容遞送裝置740或其他類似內容來源的內容裝置接收內容。包含一或多個導航特徵的導航控制器750可用以與例如平台702及/或顯示器720互動。以下更詳細地描述此等組件中之每一者。
在實施例中,平台702可包含晶片組705、處理器710、記憶體712、儲存器714、圖形子系統715、應用程式716及/或無線電718之任何組合。晶片組705可提供處理器710、記憶體712、儲存器714、圖形子系統715、應用程式716及/或無線電718之間的。例如,晶片組705可包括儲存器配接器(未繪示),該儲存器配接器能夠提供與儲存器714的互通。
處理器710可實行為複雜指令集電腦(CISC)或精
簡指令集電腦(RISC)處理器、x86指令集相容性處理器、多核心,或任何其他微處理器或中央處理單元(CPU)。在實施例中,處理器710可包含雙核心處理器、雙核心行動處理器以及其他者。
記憶體712可實行為依電性記憶體裝置,諸如但不限於隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)或靜態RAM(SRAM)。
儲存器714可實行為非依電性儲存裝置,諸如但不限於磁碟驅動機、光碟驅動機、磁帶驅動機、內部儲存裝置、附接儲存裝置、快閃記憶體、電池後備SDRAM(同步DRAM)及/或網路可存取儲存裝置。在實施例中,例如,在包括多個硬碟機時,儲存器714可包含增加用於有價值的數位媒體之儲存效能增強型保護的技術。
圖形子系統715可進行諸如靜態或視訊的影像之處理以用於顯示。圖形子系統715可為例如圖形處理單元(GPU)及/或視覺處理單元(VPU)。可使用類比或數位介面來通訊地耦接圖形子系統715及顯示器720。例如,介面可為高清晰度多媒體介面、顯示埠、無線HDMI及/或無線HD順應性技術中之任何技術。圖形子系統715可整合至處理器710或晶片組705中。圖形子系統715可為通訊地耦接至晶片組705之獨立卡。
本文所述的圖形及/或視訊處理技術可以各種硬體架構來實行。例如,可將圖形及/或視訊功能整合於晶片組內。或者,可使用離散圖形及/或視訊處理器。作為又一
實施例,圖形及/或視訊功能可藉由包括多核處理器之通用處理器實行。在另一實施例中,該等功能可在消費者電子裝置中實行。
無線電718可包括能夠使用各種適合的無線通訊技術來發射及接收信號的一或多個無線電。此類技術可涉及跨一或多個無線網路之通訊。示範性無線網路包括但不限於無線區域網路(WLAN)、無線個人區域網路(WPAN)、無線都會區域網路(WMAN)、胞狀網路及衛星網路。在跨此類網路通訊中,無線電718可根據呈任何型式之一或多個可應用標準來操作。
在實施例中,顯示器720可包含任何電視類型監視器或顯示器。顯示器720可包含例如電腦顯示螢幕、觸控螢幕顯示器、視訊監視器、電視類裝置及/或電視。顯示器720可為數位的及/或類比的。在實施例中,顯示器720可為全像式顯示器。此外,顯示器720可為可接收視覺投影之透明表面。此類投影可傳達各種形式之資訊、影像及/或物件。例如,此類投影可為用於行動擴增實境(MAR)應用的視覺覆蓋。在一或多個軟體應用程式716之控制下,平台702可在顯示器720上顯示使用者介面722。
在實施例中,內容服務裝置730可由任何國家服務、國際服務及/或獨立服務代管,且因此為平台702經由例如網際網路可存取的。內容服務裝置730可耦接至平台702及/或耦接至顯示器720。平台702及/或內容服務裝置730可耦接至網路760,以往返於網路760而傳達(例如,發送且
/或接收)媒體資訊。內容遞送裝置740亦可耦接至平台702及/或耦接至顯示器720。
在實施例中,內容服務裝置730可包含電纜電視盒、個人電腦、網路、電話、能夠遞送數位資訊及/或內容之網際網路允許裝置或設備,及能夠經由網路760或直接地在內容提供者與平台702及/顯示器720之間單向地或雙向地傳達內容的任何其他類似裝置。將瞭解到,可經由網路760往返於系統700中的組件中之任一者及內容提供者而單向地及/或雙向地傳達內容。內容之實例可包括任何媒體資訊,包括例如視訊、音樂、醫學及遊戲資訊以及其他者。
內容服務裝置730接收諸如包括媒體資訊、數位資訊的電纜電視規劃的內容及/或其他內容。內容提供者之實例可包括任何電纜或衛星電視或無線電或網際網路內容提供者。所提供實例不意欲限制本發明之實施例。
在實施例中,平台702可自導航控制器750接收控制信號,該導航控制器具有一或多個導航特徵。控制器750之導航特徵可用以例如與使用者介面722互動。在實施例中,導航控制器750可為指向裝置,該指向裝置可為電腦硬體組件(具體而言,為人性化介面裝置),該電腦硬體組件允許使用者將空間(例如,連續的及多維的)資料輸入至電腦中。諸如圖形使用者介面(GUI)及電視以及監視器之許多系統允許使用者使用身體手勢來控制且提供資料至電腦或電視。
可藉由指針、遊標、聚焦環或顯示在顯示器上的
其他視覺指示器之移動來在顯示器(例如,顯示器720)上複製控制器750之導航特徵之移動。例如,在軟體應用程式716之控制下,可將位於導航控制器750上的導航特徵映射至例如顯示在使用者介面722上的虛擬導航特徵。在實施例中,控制器750可並非單獨組件,而是可整合至平台702及/或顯示器720中。然而,實施例並不限於本文所示或所述的元件或情境。
在實施例中,例如,在啟用時,驅動器(未展示)可包含用以在初始啟動之後允許使用者以觸摸按鈕來立刻打開及關閉如電視的平台702的技術。當平台「關閉」時,程式邏輯亦可允許平台702使內容串流至媒體配接器或其他內容服務裝置730或內容遞送裝置740。另外,晶片組705可包含用於例如5.1環繞聲音訊及/或高清晰度7.1環繞聲音訊的硬體及/或軟體支援件。驅動器可包括用於積體圖形平台的圖形驅動器。在實施例中,圖形驅動器可包含周邊組件互連(PCI)快速圖形卡。
在各種實施例中,系統700中所示的組件中之任何一或多者可為整合式的。例如,平台702及內容服務裝置730可為整合式的,或平台702及內容遞送裝置740可為整合式的,或例如平台702、內容服務裝置730及內容遞送裝置740可為整合式的。在各種實施例中,平台702及顯示器720可為整合式單元。例如,顯示器720及內容服務裝置730可為整合式的,或顯示器720及內容遞送裝置740可為整合式的。此等實例並非意欲限制本發明。
在各種實施例中,系統700可實行為無線系統、有線系統或兩者之組合。當實行為無線系統時,系統700可包括適合於經由無線共用媒體通訊的組件及介面,諸如一或多個天線、發射器、接收器、收發器、放大器、濾波器、控制邏輯以及其他者。無線共用媒體之實例可包括無線頻譜之部分,諸如RF頻譜以及其他光譜。當實施為有線系統時,系統700可包括適合於經由有線通訊媒體通訊的組件及介面,諸如輸入/輸出(I/O)配接器、用以連接I/O配接器與對應有線通訊媒體的實體連接器、網路介面卡(NIC)、碟片控制器、視訊控制器、音訊控制器以及其他者。有線通訊介質之實例可包括導線、電纜、金屬引線、印刷電路板(PCB)、底板、開關組構、半導體材料、雙絞線導線、同軸電纜、纖維光學等等。
平台702可建立一或多個邏輯通道或實體通道以傳達資訊。資訊可包括媒體資訊及控制資訊。媒體資訊可指代表示意欲用於使用者之內容的任何資料。內容之實例可包括例如來自語音對話、視訊會議、串流視訊、電子郵件(「email」)訊息、語音郵件訊息、文數字符號、圖形、影像、視訊、本文以及其他者之資料。來自語音對話之資料可為例如語言資訊、靜默時間、背景雜訊、舒適雜訊、音調以及其他者。控制資訊可指代表示意欲用於自動系統之命令、指令或控制字的任何資料。例如,控制資訊可用以經由系統安排路由傳遞媒體資訊,或指示節點以預定方式來處理媒體資訊。然而,實施例不限於圖5中所示或所述
的元件或情境。
如上所述,系統700可以變化實體樣式或形狀因子來具體化。圖6例示可具體化系統700的小形狀因子裝置800之實施例。在實施例中,例如,裝置800可實行為具有無線能力之行動計算裝置。例如,行動計算裝置可指代具有處理系統及行動電源或電源供應(諸如一或多個電池)的任何裝置。
如上所述,行動計算裝置之實例可包括個人電腦(PC)、膝上型電腦、超膝上型電腦、平板電腦、觸控板、可攜式電腦、手持式電腦、掌上型電腦、個人數位助理(PDA)、蜂窩式電話、組合蜂窩式電話/PDA、電視、智慧型裝置(例如,智慧型電話、智慧型平板電腦或智慧型電視)、行動網際網路裝置(MID)、通信報裝置、資料通訊裝置以及其他者。
行動計算裝置之實例亦可包括經佈置以由個人佩戴的電腦,諸如,手腕電腦、手指電腦、戒指電腦、眼鏡電腦、皮帶扣電腦、臂章電腦、鞋子電腦、服裝電腦及其他隨身電腦。例如,在實施例中,行動計算裝置可實行為能夠執行電腦應用程式以及語音通訊及/或資料通訊之智慧型電話。雖然一些實施例可藉由實例之方式使用實施為智慧型電話的行動計算裝置來描述,但是可瞭解,亦可使用其他無線行動計算裝置來實行其他實施例。實施例在此情境中不受限制。
如圖6中所示,裝置800可包含外殼802、顯示器
804、輸入/輸出(I/O)裝置806及天線808。裝置800亦可包含導航特徵812。顯示器804可包含用於顯示適於行動計算裝置的資訊的任何適合的顯示單元。I/O裝置806可包含用於將資訊輸入至行動計算裝置中的任何適合的I/O裝置。I/O裝置806之實例可包括文數字鍵盤、數字小鍵盤、觸控板、輸入鍵、按鈕、開關、搖桿開關、麥克風、揚聲器、語音識別裝置及軟體,以及其他者。資訊可亦藉助於麥克風輸入裝置800中。此種資訊可藉由語音識別裝置來數位化。實施例在此情境中不受限制。
附注及實例:
實例可包括根據本文所述的實施例及實例對紋理取樣、管理故障及/或情境切換之標的,該標的諸如:方法;用於進行方法之動作的手段;至少一種機器可讀媒體,其包括在藉由機器進行時引起機器進行方法之動作的指令;或設備或系統。
實例1可包括一種設備,其包括一或多個處理器,該等處理器可包括一或多個管線。該設備可包括三維(3D)圖形管線,該三維(3D)圖形管線包括紋理樣本位置模組以提供對應於紋理之紋理樣本位置資料,其中紋理之取樣將在3D圖形管線外部執行。該設備可包括計算管線,該計算管線包括紋理樣本結果模組以利用紋理樣本位置資料來執行紋理之取樣及/或提供對應於紋理之紋理樣本結果資料,其中3D圖形管線之渲染模組將利用紋理樣本結果資料來合成圖框,及/或其中該圖框將藉由顯示器來顯示。
實例2可包括實例1之標的且可進一步任擇地包括紋理樣本位置模組以產生包括紋理樣本位置資料之樣本資訊緩衝區,其中紋理樣本結果模組將讀取樣本資訊緩衝區以執行取樣及/或將產生包括紋理樣本結果資料之紋理層緩衝區,及/或其中渲染模組將讀取紋理層緩衝區來合成圖框。
實例3可包括實例1至實例2中任何實例之標的且可進一步任擇地包括3D圖形管線,以支援圖形程式館(GL)3D應用程式設計介面(API)來產生樣本資訊緩衝區,該樣本資訊緩衝區包括以下一或多者:uv坐標、梯度及/或紋理處置,及/或其中計算管線將支援計算API以執行取樣及/或產生包括色彩資料之紋理層緩衝區。
實例4可包括實例1至實例3中任何實例之標的且可進一步任擇地包括計算管線,該計算管線包括故障管理模組以管理頁面故障,其中頁面故障及/或頁面故障之管理中之一或多者將自圖形應用程式隱藏。
實例5可包括實例1至實例4中任何實例之標的且可進一步任擇地包括計算管線,該計算管線包括情境切換模組以切換與頁面故障相關聯的計算情境,以允許執行不與頁面故障相關聯的圖形任務及/或防止回應於頁面故障之停頓。
實例6可包括實例1至實例5中任何實例之標的且可進一步任擇地包括3D圖形管線,該3D圖形管線包括3D情境圖形任務模組以在故障管理模組將管理頁面故障時執行
不與頁面故障相關聯的3D圖形任務。
實例7可包括實例1至實例6中任何實例之標的且可進一步任擇地包括3D圖形管線,該3D圖形管線包括替用紋理樣本結果模組以在紋理樣本返回資料在預定時期內不可用時,產生替用紋理樣本結果資料以合成圖框。
實例8可包括實例1至實例7中任何實例之標的且可進一步任擇地包括替用紋理樣本結果模組,以執行紋理之駐存相對較粗糙mip映射之取樣,以便產生替用紋理樣本結果資料。
實例9可包括實例1至實例8中任何實例之標的且可進一步任擇地包括3D圖形管線,該3D圖形管線包括等待模組以等待3D圖形管線直至故障管理模組將修護頁面故障來合成圖框,其中該等待將3D圖形管線與計算管線同步而無需外顯完成。
實例10可包括實例1至實例9中任何實例之標的且可進一步任擇地包括計算管線,以實行以下一或多者:細節層次(LOD)偏置及/或執行緒子集調度,以便允許計算管線跟上3D圖形管線。
實例11可包括根據本文所述的實施例及實例對紋理取樣、管理故障及/或情境切換之方法。該方法可包括經由三維(3D)圖形管線提供對應於紋理之紋理樣本位置資料,其中紋理之取樣在3D圖形管線外部執行。該方法可包括經由計算管線執行利用紋理樣本位置資料之取樣。該方法可包括經由計算管線提供對應於紋理之紋理樣本結果
資料,其中3D圖形管線將利用紋理樣本結果資料來合成圖框。
實例12可包括實例11之標的且可進一步任擇地包括經由3D圖形管線產生包括紋理樣本位置資料之樣本資訊緩衝區,經由計算管線讀取樣本資訊緩衝區,以執行取樣及/或產生包括紋理樣本結果資料之紋理層緩衝區,及/或經由3D圖形管線讀取紋理層緩衝區以合成圖框。
實例13可包括實例11至實例12中任何實例之標的且可進一步任擇地包括經由3D圖形管線支援圖形程式館(GL)3D應用程式設計介面(API)以產生樣本資訊緩衝區,該樣本資訊緩衝區包括以下一或多者:uv坐標、梯度及/或紋理處置,及/或經由計算管線支援計算API以產生包括色彩資料之紋理層緩衝區。
實例14可包括實例11至實例13中任何實例之標的且可進一步任擇地包括經由計算管線管理頁面故障,其中頁面故障及/或頁面故障之管理中之一或多者自圖形應用程式隱藏。
實例15可包括實例11至實例14中任何實例之標的且可進一步任擇地包括經由計算管線切換與頁面故障相關聯的計算情境,以允許執行不與頁面故障相關聯的圖形任務及/或防止回應於頁面故障之停頓。
實例16可包括實例11至實例15中任何實例之標的且可進一步任擇地包括當計算管線管理頁面故障時,經由3D圖形管線執行不與頁面故障相關聯的3D圖形任務。
實例17可包括實例11至實例16中任何實例之標的且可進一步任擇地包括在紋理樣本結果資料在預定時期內不可用時,經由3D圖形管線產生替用紋理樣本結果資料以合成圖框。
實例18可包括實例11至實例17中任何實例之標的且可進一步任擇地包括執行紋理之駐存相對較粗糙mip映射之取樣,以產生替用紋理樣本結果資料。
實例19可包括實例11至實例18中任何實例之標的且可進一步任擇地包括等待3D圖形管線直至頁面故障獲修護以合成圖框,其中該等待將3D圖形管線與計算管線同步而無需外顯完成。
實例20可包括實例11至實例19中任何實例之標的且可進一步任擇地包括經由計算管線實行以下一或多者:細節層次(LCID)偏置及/或執行緒子集調度,以便允許計算管線跟上3D圖形管線。
實例21可包括至少一種電腦可讀儲存媒體,該電腦可讀儲存媒體包含一或多個指令,當在計算裝置上執行該等指令時,引起計算裝置經由三維(3D)圖形管線提供對應於紋理之紋理樣本位置資料,其中紋理之取樣將在3D圖形管線外部執行;經由計算管線執行利用紋理樣本位置資料之取樣;及/或經由計算管線提供對應於紋理之紋理樣本結果資料,其中3D圖形管線將利用紋理樣本結果資料來合成圖框。
實例22可包括實例21之標的且可進一步任擇地
包括當執行一或多個指令時引起計算裝置經由3D圖形管線產生包括紋理樣本位置資料之樣本資訊緩衝區,經由計算管線讀取樣本資訊緩衝區以執行取樣,及/或產生包括紋理樣本結果資料之紋理層緩衝區,及/或經由3D圖形管線讀取紋理層緩衝區以合成圖框。
實例23可包括實例21至實例22中任何實例之標的且可進一步任擇地包括當執行一或多個指令時引起計算裝置經由3D圖形管線支援圖形程式館(GL)3D應用程式設計介面(API)以產生樣本資訊緩衝區,該樣本資訊緩衝區包括以下一或多者:uv坐標、梯度及/或紋理處置,及/或經由計算管線支援計算API以產生包括色彩資料之紋理層緩衝區。
實例24可包括實例21至實例23中任何實例之標的且可進一步任擇地包括當執行一或多個指令時引起計算裝置經由計算管線管理頁面故障,其中頁面故障及/或頁面故障之管理中之一或多者將自圖形應用程式隱藏。
實例25可包括實例21至實例24中任何實例之標的且可進一步任擇地包括當執行一或多個指令時引起計算裝置經由計算管線切換與頁面故障相關聯的計算情境,以允許執行不與頁面故障相關聯的圖形任務及/或防止回應於頁面故障之停頓。
實例26可包括實例21至實例25中任何實例之標的且可進一步任擇地包括當執行一或多個指令時引起計算裝置當計算管線將管理頁面故障時,經由3D圖形管線執行
不與頁面故障相關聯的3D圖形任務。
實例27可包括實例21至實例26中任何實例之標的且可進一步任擇地包括當執行一或多個指令時引起計算裝置在紋理樣本結果資料在預定時期內不可用時,經由3D圖形管線產生替用紋理樣本結果資料以合成圖框。
實例28可包括實例21至實例27中任何實例之標的且可進一步任擇地包括當執行一或多個指令時引起計算裝置執行紋理之駐存相對較粗糙mip映射之取樣,以產生替用紋理樣本結果資料。
實例29可包括實例21至實例28中任何實例之標的且可進一步任擇地包括當執行一或多個指令時引起計算裝置等待3D圖形管線直至頁面故障獲修護以合成圖框,其中該等待將3D圖形管線與計算管線同步而無需外顯完成。
實例30可包括實例21至實例29中任何實例之標的且可進一步任擇地包括當執行一或多個指令時引起計算裝置經由計算管線實行以下一或多者:細節層次(LOD)偏置及/或執行緒子集調度,以便允許計算管線跟上3D圖形管線。
實例31可包括一種設備,其包括處理器手段,該處理器手段可包括一或多個管線。該設備可包括用於經由三維(3D)圖形管線提供對應於紋理之紋理樣本位置資料的手段,其中紋理之取樣在3D圖形管線外部執行。該設備可包括用於經由計算管線執行利用紋理樣本位置資料之取樣的手段。該設備可包括用於經由計算管線提供對應於紋理
之紋理樣本結果資料的手段,其中3D圖形管線將利用紋理樣本結果資料來合成圖框,及/或其中圖框將藉由顯示手段來顯示。
實例32可包括實例31之標的且可進一步任擇地包括用於經由3D圖形管線產生包括紋理樣本位置資料之樣本資訊緩衝區的手段,用於經由計算管線讀取樣本資訊緩衝區的手段,以執行取樣及/或產生包括紋理樣本結果資料之紋理層緩衝區,及/或用於經由3D圖形管線讀取紋理層緩衝區以合成圖框的手段。
實例33可包括實例31至實例32中任何實例之標的且可進一步任擇地包括用於經由3D圖形管線支援圖形程式館(GL)3D應用程式設計介面(API)以產生樣本資訊緩衝區的手段,該樣本資訊緩衝區包括以下一或多者:uv坐標、梯度及/或紋理處置,及/或用於經由計算管線支援計算API以產生包括色彩資料之紋理層緩衝區的手段。
實例34可包括實例31至實例33中任何實例之標的且可進一步任擇地包括用於經由計算管線管理頁面故障的手段,其中頁面故障及/或頁面故障之管理中之一或多者自圖形應用程式隱藏。
實例35可包括實例31至實例34中任何實例之標的且可進一步任擇地包括用於經由計算管線切換與頁面故障相關聯的計算情境的手段,以允許執行不與頁面故障相關聯的圖形任務及/或防止回應於頁面故障之停頓。
實例36可包括實例31至實例35中任何實例之
標的且可進一步任擇地包括用於當計算管線將管理頁面故障時,經由3D圖形管線執行不與頁面故障相關聯的3D圖形任務的手段。
實例37可包括實例31至實例36中任何實例之標的且可進一步任擇地包括用於在紋理樣本結果資料在預定時期內不可用時,經由3D圖形管線產生替用紋理樣本結果資料以合成圖框的手段。
實例38可包括實例31至實例37中任何實例之標的且可進一步任擇地包括用於執行紋理之駐存相對較粗糙mip映射之取樣的手段,以產生替用紋理樣本結果資料。
實例39可包括實例31至實例38中任何實例之標的且可進一步任擇地包括用於等待3D圖形管線直至頁面故障獲修護以合成圖框的手段,其中該等待將3D圖形管線與計算管線同步而無需外顯完成。
實例40可包括實例41至實例49中任何實例之標的且可進一步任擇地包括用於經由計算管線實行以下一或多者的手段:細節層次(LOD)偏置及/或執行緒子集調度,以便允許計算管線跟上3D圖形管線。
可使用硬體元件、軟體元件或兩者之組合來實行各種實施例。硬體元件之實例可包括處理器、微處理器、電路、電路元件(例如,電晶體、電阻器、電容器、電感器等)、積體電路、特定應用積體電路(ASIC)、可規劃邏輯裝置(PLD)、數位信號處理器(DSP)、現場可規劃閘陣列(FPGA)、邏輯閘、暫存器、半導體裝置、晶片、微晶片、
晶片組以及其他者。軟體之實例可包括軟體組件、程式、應用、電腦程式、應用程式、系統程式、機器程式、作業系統軟體、中間軟體、韌體、軟體模組、常式、次常式、函數、方法、程序、軟體介面、應用程式介面(API)、指令集、計算碼、電腦碼、碼段、電腦碼段、字、值、符號或上述各者之任何組合。判定是否使用硬體元件及/或軟體元件來實行實施例可根據各種因素來變化,諸如所要計算速率、功率位準、耐熱性、處理循環預算、輸入資料速率、輸出資料速率、記憶體資源、資料匯流排速度及其他設計或執行限制條件。
至少一個實施例之一或多個態樣可藉由儲存於機器可讀媒體上之代表性指令來實行,機器可讀媒體表示處理器內的各種邏輯,該等指令在由機器讀取時使機器製造邏輯來進行本文所述的技術。此類表示(稱為「IP核心」)可儲存於有形機器可讀媒體上,且可供應給各種消費者或製造設施以載入至實際上製造該邏輯或處理器的製造機中。
本發明之實施例適用於所有類型之半導體積體電路(「IC」)晶片。此等IC晶片之實例包括但不限於處理器、控制器、晶片組組件、可規劃邏輯陣列(PLA)、記憶體晶片、網路晶片及類似物。另外,在一些圖式中,信號導線以線條表示。一些線條可為不同的以指示更構成性信號路徑,具有數字標記以指示多個構成性信號路徑,及/或在一或多個末端處具有箭頭以指示主要資訊流動方向。然而,
此不應以限制方式來解釋。實情為,此等附加細節可結合一或多個示範性實施例來使用,以促進對電路之更容易理解。無論是否具有附加資訊,任何所表示的信號線可實際上包含一或多個信號,該等信號可在多個方向上行進且可利用任何適合類型之信號方案來實行,例如利用差分對來實行的數位或類比線、光纖線及/或單端線。
大小/模型/值/範圍之實例可已經給定,儘管本發明之實施例不限於此等實例。隨著製造技術(例如,光微影術)日漸成熟,預期可製造具有較小大小之裝置。另外,IC晶片及其他組件之熟知功率/接地連接可或可未展示於圖式中,以達例示及論述之簡單性,且因此不模糊本發明之實施例的某些態樣。另外,為避免模糊本發明之實施例,且鑒於以下事實:方塊圖佈置中就實行方案而言的特定細節高度取決於將實行實施例之平台,亦即,此等細節應完全在熟習此項技術者之技能範圍內,將各種佈置以此等方塊圖形式展示。在闡述特定細節(例如,電路)以便描述本發明之示例性實施例的情況下,熟習此項技術者應當明白:本發明之實施例可在沒有此等特定細節的情況下或在此等特定細節之變化形式的情況下實踐。描述因此係視為說明性的而非限制性的。
一些實施例可例如使用機器或有形電腦可讀媒體或物品來實行,該媒體或物品可儲存指令或指令集,該或該等指令藉由機器執行時可引起機器來進行根據實施例之方法及/或操作。此種機器可包括例如任何適合的處理平
台、計算平台、計算裝置、處理裝置、計算系統、處理系統、電腦、處理器或類似物,且可使用硬體及/或軟體之任何適合組合來實行。機器可讀媒體或物品可包括例如任何適合類型之記憶體單元、記憶體裝置、記憶體物品、記憶體媒體、儲存裝置、儲存物品、儲存媒體及/或儲存單元,例如記憶體、可移除或不可移除媒體、可抹除或不可抹除媒體、可寫入或可重寫媒體、數位或類比媒體、硬碟、軟碟、唯讀光碟記憶體(CD-ROM)、可燒錄光碟(CD-R)、可重寫光碟(CD-RW)、光碟、磁性媒體、磁光媒體、可移除記憶片或碟、各種類型之數位通用碟(DVD)、磁帶、卡式磁帶或類似物。指令可包括任何適合類型之代碼,諸如原始碼、編譯碼、解譯碼、可執行代碼、靜電碼、動態碼、加密代碼及類似物,其使用任何適合高階、低階物件導向、視覺、編譯及/或解譯程式語言來實行。
除非另外具體闡述,否則可瞭解的是,諸如「處理」、「計算(computing)」、「計算(calculating)」、「判定」等詞或類似用語指代電腦或計算系統或相似電子計算裝置之動作及/或過程,其將計算系統之暫存器及/或記憶體內表示為物理量(例如,電子量)之資料操縱及/或變換成在計算系統之記憶體、暫存器或其他此等資訊儲存器、發射或顯示裝置內類似地表示為物理量之其他資料。實施例在此情境中不受限制。
「耦接」一詞可在本文中用於指代所論述組件之間的直接或間接的任何類型之關係,且可適用於電連接、
機械連接、流體連接、光學連接、電磁連接、電機連接或其他連接。另外,「第一」、「第二」等詞可在本文中僅用於促進論述,且除非另外指示,否則不帶有特定時間或編年意義。另外,應理解,不定冠詞「一」帶有「一或多個」或「至少一個」之含義。另外,在用於本申請案及申請專利範圍中時,接合有「一或多個」及「至少一個」的項之清單可意指所列項之任何組合。例如,「A、B或C中之一或多者」或「A、B及C中之一或多者」可意指A;B;C;A及B;A及C;B及C;或A、B及C。
熟習此項技術者將自前述描述瞭解到,本發明之實施例之廣泛技術可以各種形式實行。因此,雖然本發明之實施例已結合其特定實例加以描述,但實施例之實際範疇不應受此限制,因為在研究圖式、說明書以及所附申請專利範圍之後,熟習此項技術者將明白其他修改。
100‧‧‧取樣、故障管理及/或情境切換設備/設備
110‧‧‧應用程式
112‧‧‧三維(3D)圖形管線/3D圖形管線
114‧‧‧紋理樣本位置模組
116‧‧‧渲染模組
118‧‧‧交替紋理樣本結果模組
120‧‧‧3D圖形任務模組
122‧‧‧等待模組
126‧‧‧計算管線
128‧‧‧紋理樣本結果模組
130‧‧‧故障管理模組
132‧‧‧情境切換模組
134‧‧‧GPU/計算裝置
Claims (24)
- 一種設備,其包含:包括一或多個管線之一或多個處理器,該一或多個管線包括:一三維(3D)圖形管線,其包括:用以提供對應於一紋理之紋理樣本位置資料的一紋理樣本位置模組,其中該紋理之取樣是要在該3D圖形管線之外部被執行;以及用以當對應於該紋理之紋理樣本結果資料於一預定時期內為不可用時,產生替用紋理樣本結果資料以合成一圖框的一替用紋理樣本結果模組;以及一計算管線,其包括:一紋理樣本結果模組,其用以利用該紋理樣本位置資料來執行該紋理之取樣,且用以提供對應於該紋理之該紋理樣本結果資料,其中該3D圖形管線的一渲染模組係用以利用該紋理樣本結果資料以及該替用紋理樣本結果資料之一或多者來合成該圖框;以及一故障管理模組,其用以管理一頁面故障,其中該頁面故障及該頁面故障之管理中的一或多者係用以自一圖形應用程式隱藏。
- 如請求項1之設備,其中:該紋理樣本位置模組係用以產生包括該紋理樣本位置資料之一樣本資訊緩衝區, 該紋理樣本結果模組係用以讀取該樣本資訊緩衝區以執行取樣,且用以產生包括該紋理樣本結果資料之一紋理層緩衝區;以及該渲染模組係用以讀取該紋理層緩衝區以合成該圖框。
- 如請求項2之設備,其中:該3D圖形管線係用以支援一圖形程式館(GL)3D應用程式設計介面(API)以產生該樣本資訊緩衝區,該樣本資訊緩衝區包括以下一或多者:一uv坐標、一梯度及一紋理處置;以及該計算管線係用以支援一計算API以執行該取樣並產生包括色彩資料之該紋理層緩衝區。
- 如請求項1之設備,其中該計算管線包括一情境切換模組,其用以切換與該頁面故障相關聯的一計算情境,以允許執行不與該頁面故障相關聯的一圖形任務,且防止回應於該頁面故障之一停頓。
- 如請求項1之設備,其中該3D圖形管線包括一3D圖形任務模組,以在該故障管理模組將管理該頁面故障時,執行不與該頁面故障相關聯的一3D圖形任務。
- 如請求項1之設備,其中該替用紋理樣本結果資料模組係用以執行該紋理之一駐存相對較粗糙mip映射之取樣,以便產生該替用紋理樣本結果資料。
- 如請求項1之設備,其中該3D圖形管線包括一等待模組,以等待該3D圖形管線直至該故障管理模組將修護該 頁面故障來合成該圖框,其中該等待係用以將該3D圖形管線與該計算管線同步化而無需一外顯完成。
- 如請求項1之設備,其中該計算管線將實行以下一或多者:一細節層次(LOD)偏置及一執行緒子集調度,以便允許該計算管線跟上該3D圖形管線。
- 一種方法,其包含:經由一三維(3D)圖形管線來提供對應於一紋理之紋理樣本位置資料,其中該紋理之取樣在該3D圖形管線之外部被執行;當對應於該紋理之紋理樣本結果資料於一預定時期內不可用時,經由該3D圖形管線來產生替用紋理樣本結果資料以合成一圖框;經由一計算管線來執行利用該紋理樣本位置資料之取樣;經由該計算管線來提供對應於該紋理之該紋理樣本結果資料,其中該3D圖形管線係用以利用該紋理樣本結果資料以及該替用紋理樣本結果資料之一或多者來合成該圖框;以及經由該計算管線來管理一頁面故障,其中該頁面故障及該頁面故障之管理中的一或多者係自一圖形應用程式隱藏。
- 如請求項9之方法,其進一步包括:經由該3D圖形管線來產生包括該紋理樣本位置資料之一樣本資訊緩衝區; 經由該計算管線來讀取該樣本資訊緩衝區以執行該取樣,且產生包括紋理樣本結果資料之一紋理層緩衝區;以及經由該3D圖形管線來讀取該紋理層緩衝區以合成該圖框。
- 如請求項10之方法,其進一步包括:經由該3D圖形管線來支援一圖形程式館(GL)3D應用程式設計介面(API)以產生該樣本資訊緩衝區,該樣本資訊緩衝區包括以下一或多者:一uv坐標、一梯度及一紋理處置;以及經由該計算管線來支援一計算API以產生包括色彩資料之該紋理層緩衝區。
- 如請求項9之方法,其進一步包括經由該計算管線來切換與該頁面故障相關聯的一計算情境,以允許執行不與該頁面故障相關聯的一圖形任務,且防止回應於該頁面故障一之停頓。
- 如請求項9之方法,其進一步包括當該計算管線管理該頁面故障時,經由該3D圖形管線來執行不與該頁面故障相關聯的一3D圖形任務。
- 一種包含一或多個指令的至少一非暫態電腦可讀儲存媒體,該等指令在由一計算裝置執行時會致使該計算裝置:經由一三維(3D)圖形管線來提供對應於一紋理之紋理樣本位置資料,其中該紋理之取樣將在該3D圖形 管線之外部被執行;當對應於該紋理之紋理樣本結果資料於一預定時期內不可用時,經由該3D圖形管線來產生替用紋理樣本結果資料以合成一圖框;經由一計算管線來執行利用該紋理樣本位置資料之取樣;經由該計算管線來提供對應於該紋理之該紋理樣本結果資料,其中該3D圖形管線係用以利用該紋理樣本結果資料以及該替用紋理樣本結果資料之一或多者來合成該圖框;以及經由該計算管線來管理一頁面故障,其中該頁面故障及該頁面故障之管理中的一或多者係自一圖形應用程式隱藏。
- 如請求項14之至少一種媒體,其中當執行該一或多個指令時引起該計算裝置:經由該3D圖形管線來產生包括該紋理樣本位置資料之一樣本資訊緩衝區;經由該計算管線來讀取該樣本資訊緩衝區以執行該取樣,且產生包括該紋理樣本結果資料之一紋理層緩衝區;以及經由該3D圖形管線來讀取該紋理層緩衝區以合成該圖框。
- 如請求項15之至少一種媒體,其中當執行該一或多個指令時引起該計算裝置: 經由該3D圖形管線來支援一圖形程式館(GL)3D應用程式設計介面(API)以產生該樣本資訊緩衝區,該樣本資訊緩衝區包括以下一或多者:一uv坐標、一梯度及一紋理處置;以及經由該計算管線來支援一計算API以產生包括色彩資料之該紋理層緩衝區。
- 如請求項14之至少一種媒體,其中當執行該一或多個指令時引起該計算裝置用以經由該計算管線來切換與該頁面故障相關聯的一計算情境,以允許執行不與該頁面故障相關聯的一圖形任務,且防止回應於該頁面故障一之停頓。
- 如請求項14之至少一種媒體,其中當執行該一或多個指令時引起該計算裝置用以在該計算管線要管理該頁面故障時,經由該3D圖形管線來執行不與該頁面故障相關聯的一3D圖形任務。
- 一種設備,其包含:包括一或多個管線之一或多個處理器,該一或多個管線包括:一三維(3D)圖形管線,其包括:用以提供對應於一紋理之紋理樣本位置資料的一紋理樣本位置模組,其中該紋理之取樣是要在該3D圖形管線之外部被執行;以及用以等待該3D圖形管線直到一故障管理模組修護一頁面故障來合成一圖框的一等待模組,其中該 等待是要將該3D圖形管線與一計算管線同步化而無需一外顯完成;以及該計算管線,其包括:一紋理樣本結果模組,其用以利用該紋理樣本位置資料來執行該紋理之取樣,且用以提供對應於該紋理之紋理樣本結果資料,其中該3D圖形管線的一渲染模組係用以利用該紋理樣本結果資料來合成圖框;以及該故障管理模組,其用以管理該頁面故障,其中該頁面故障及該頁面故障之管理中的一或多者係用以自一圖形應用程式隱藏。
- 一種方法,其包含:經由一三維(3D)圖形管線來提供對應於一紋理之紋理樣本位置資料,其中該紋理之取樣係在該3D圖形管線之外部被執行;等待該3D圖形管線直到一計算管線修護一頁面故障來合成一圖框,其中該等待將該3D圖形管線與計算管線同步化而無需一外顯完成;經由該計算管線來執行利用該紋理樣本位置資料之取樣;經由該計算管線來提供對應於該紋理之紋理樣本結果資料,其中該3D圖形管線係用以利用該紋理樣本結果資料來合成一圖框;以及經由該計算管線來管理該頁面故障,其中該頁面故 障及該頁面故障之管理中的一或多者係用以自一圖形應用程式隱藏。
- 一種包含一或多個指令的至少一非暫態電腦可讀儲存媒體,該等指令在由一計算裝置執行時會致使該計算裝置:經由一三維(3D)圖形管線來提供對應於一紋理之紋理樣本位置資料,其中該紋理之取樣是要在該3D圖形管線之外部被執行;等待該3D圖形管線直到一計算管線修護一頁面故障來合成一圖框,其中該等待是要將該3D圖形管線與該計算管線同步化而無需一外顯完成;經由該計算管線來執行利用該紋理樣本位置資料之取樣;經由該計算管線來提供對應於該紋理之紋理樣本結果資料,其中該3D圖形管線係用以利用該紋理樣本結果資料來合成一圖框;以及經由該計算管線來管理該頁面故障,其中該頁面故障及該頁面故障之管理中的一或多者係用以自一圖形應用程式隱藏。
- 一種設備,其包含:包括一或多個管線之一或多個處理器,該一或多個管線包括:一三維(3D)圖形管線,其包括用以提供對應於一紋理之紋理樣本位置資料的一紋理樣本位置模組,其中 該紋理之取樣是要在該3D圖形管線之外部被執行;以及一計算管線,其包括一紋理樣本結果模組,其用以利用該紋理樣本位置資料來執行該紋理之取樣,且用以提供對應於該紋理之紋理樣本結果資料,其中該計算管線將實行一細節層次(LOD)偏置及一執行緒子集調度之一或多者,以允許該計算管線跟上該3D圖形管線,且其中該3D圖形管線的一渲染模組係用以利用該紋理樣本結果資料來合成一圖框。
- 一種方法,其包含:經由一三維(3D)圖形管線來提供對應於一紋理之紋理樣本位置資料,其中該紋理之取樣是在該3D圖形管線之外部被執行;經由一計算管線來執行利用該紋理樣本位置資料之取樣;以及經由該計算管線來提供對應於該紋理之紋理樣本結果資料,其中該計算管線實行一細節層次(LOD)偏置及一執行緒子集調度之一或多者,以允許該計算管線跟上該3D圖形管線,且其中該3D圖形管線係用以利用該紋理樣本結果資料來合成一圖框。
- 一種包含一或多個指令的至少一非暫態電腦可讀儲存媒體,該等指令在由一計算裝置執行時會致使該計算裝置:經由一三維(3D)圖形管線來提供對應於一紋理之 紋理樣本位置資料,其中該紋理之取樣是要在該3D圖形管線之外部被執行;經由一計算管線來執行利用該紋理樣本位置資料之取樣;及經由該計算管線來提供對應於該紋理之紋理樣本結果資料,其中該計算管線係用以實行一細節層次(LOD)偏置及一執行緒子集調度之一或多者,以允許該計算管線跟上該3D圖形管線,且其中該3D圖形管線係用以利用該紋理樣本結果資料來合成圖框。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/318,562 US9449363B2 (en) | 2014-06-27 | 2014-06-27 | Sampling, fault management, and/or context switching via a compute pipeline |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201604831A TW201604831A (zh) | 2016-02-01 |
TWI576784B true TWI576784B (zh) | 2017-04-01 |
Family
ID=53506291
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104116809A TWI576784B (zh) | 2014-06-27 | 2015-05-26 | 經由一計算管線之取樣、故障管理及/或情境切換技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9449363B2 (zh) |
CN (1) | CN105321142B (zh) |
DE (1) | DE102015006750A1 (zh) |
GB (1) | GB2528558B (zh) |
TW (1) | TWI576784B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105957137B (zh) * | 2016-04-20 | 2018-09-21 | 上海交通大学 | 基于纹理映射的三维彩色模型图像处理方法 |
US11228754B2 (en) | 2016-05-06 | 2022-01-18 | Qualcomm Incorporated | Hybrid graphics and pixel domain architecture for 360 degree video |
US10388058B2 (en) | 2017-02-16 | 2019-08-20 | Microsoft Technology Licensing, Llc | Texture residency hardware enhancements for graphics processors |
US11609791B2 (en) | 2017-11-30 | 2023-03-21 | Advanced Micro Devices, Inc. | Precise suspend and resume of workloads in a processing unit |
CN108121566A (zh) * | 2017-12-06 | 2018-06-05 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形指令解析设计方法 |
CN111008042B (zh) * | 2019-11-22 | 2022-07-05 | 中国科学院计算技术研究所 | 基于异构流水线的高效通用处理器执行方法及系统 |
CN113760278A (zh) * | 2021-01-13 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种页面管理方法和装置 |
CN114978926B (zh) * | 2022-05-17 | 2023-09-19 | 电子科技大学 | 一种适用于确定性网络协议的仿真方法及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6297832B1 (en) * | 1999-01-04 | 2001-10-02 | Ati International Srl | Method and apparatus for memory access scheduling in a video graphics system |
TW200500944A (en) * | 2003-06-24 | 2005-01-01 | Via Tech Inc | Apparatus and method for managing a processor pipeline in response to exceptions |
TW200636565A (en) * | 2005-02-02 | 2006-10-16 | Bluestreak Technology Inc | Integer-based calculation method |
US20100079489A1 (en) * | 2008-10-01 | 2010-04-01 | Ati Technologies Ulc | System and method for efficient digital video composition |
US20100118028A1 (en) * | 2003-12-29 | 2010-05-13 | Intel Corporation | Method and Mechanism for Programmable Filtering of Texture Map Data in 3D Graphics Subsystems |
US20120229481A1 (en) * | 2010-12-13 | 2012-09-13 | Ati Technologies Ulc | Accessibility of graphics processing compute resources |
US20130100132A1 (en) * | 2011-03-31 | 2013-04-25 | Panasonic Corporation | Image rendering device, image rendering method, and image rendering program for rendering stereoscopic images |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6259460B1 (en) | 1998-03-26 | 2001-07-10 | Silicon Graphics, Inc. | Method for efficient handling of texture cache misses by recirculation |
US7274365B1 (en) * | 2003-01-31 | 2007-09-25 | Microsoft Corporation | Graphical processing of object perimeter information |
US8817035B2 (en) | 2005-12-21 | 2014-08-26 | Nvidia Corporation | Texture pipeline context switch |
US8325184B2 (en) * | 2007-09-14 | 2012-12-04 | Qualcomm Incorporated | Fragment shader bypass in a graphics processing unit, and apparatus and method thereof |
US8174534B2 (en) * | 2007-12-06 | 2012-05-08 | Via Technologies, Inc. | Shader processing systems and methods |
US9153065B2 (en) * | 2013-02-05 | 2015-10-06 | Google Technology Holdings LLC | System and method for adjusting image pixel color to create a parallax depth effect |
US9390463B2 (en) * | 2013-08-12 | 2016-07-12 | Intel Corporation | Techniques for reducing memory bandwidth for display composition |
US20150084952A1 (en) * | 2013-09-23 | 2015-03-26 | Nvidia Corporation | System, method, and computer program product for rendering a screen-aligned rectangle primitive |
-
2014
- 2014-06-27 US US14/318,562 patent/US9449363B2/en active Active
-
2015
- 2015-05-26 CN CN201510276147.8A patent/CN105321142B/zh not_active Expired - Fee Related
- 2015-05-26 DE DE102015006750.8A patent/DE102015006750A1/de not_active Withdrawn
- 2015-05-26 GB GB1508928.7A patent/GB2528558B/en not_active Expired - Fee Related
- 2015-05-26 TW TW104116809A patent/TWI576784B/zh active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6297832B1 (en) * | 1999-01-04 | 2001-10-02 | Ati International Srl | Method and apparatus for memory access scheduling in a video graphics system |
TW200500944A (en) * | 2003-06-24 | 2005-01-01 | Via Tech Inc | Apparatus and method for managing a processor pipeline in response to exceptions |
US20100118028A1 (en) * | 2003-12-29 | 2010-05-13 | Intel Corporation | Method and Mechanism for Programmable Filtering of Texture Map Data in 3D Graphics Subsystems |
TW200636565A (en) * | 2005-02-02 | 2006-10-16 | Bluestreak Technology Inc | Integer-based calculation method |
US20100079489A1 (en) * | 2008-10-01 | 2010-04-01 | Ati Technologies Ulc | System and method for efficient digital video composition |
US20120229481A1 (en) * | 2010-12-13 | 2012-09-13 | Ati Technologies Ulc | Accessibility of graphics processing compute resources |
US20130100132A1 (en) * | 2011-03-31 | 2013-04-25 | Panasonic Corporation | Image rendering device, image rendering method, and image rendering program for rendering stereoscopic images |
Also Published As
Publication number | Publication date |
---|---|
US9449363B2 (en) | 2016-09-20 |
DE102015006750A1 (de) | 2015-12-31 |
GB201508928D0 (en) | 2015-07-01 |
GB2528558B (en) | 2018-05-09 |
CN105321142A (zh) | 2016-02-10 |
GB2528558A (en) | 2016-01-27 |
TW201604831A (zh) | 2016-02-01 |
US20150379730A1 (en) | 2015-12-31 |
CN105321142B (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI576784B (zh) | 經由一計算管線之取樣、故障管理及/或情境切換技術 | |
TWI582751B (zh) | 避免發送未改變區域至顯示器之技術 | |
US9916162B2 (en) | Using a global barrier to synchronize across local thread groups in general purpose programming on GPU | |
TWI535277B (zh) | 用於深度緩衝之方法、設備及系統 | |
US9449360B2 (en) | Reducing the number of sequential operations in an application to be performed on a shared memory cell | |
US9811334B2 (en) | Block operation based acceleration | |
CN112740278B (zh) | 用于图形处理的方法及设备 | |
EP2757551B1 (en) | Serialized access to graphics resources | |
US9471323B2 (en) | System and method of using an atomic data buffer to bypass a memory location | |
US9563561B2 (en) | Initiation of cache flushes and invalidations on graphics processors | |
US20140028668A1 (en) | Multiple scissor plane registers for rendering image data | |
US11875452B2 (en) | Billboard layers in object-space rendering | |
US11893654B2 (en) | Optimization of depth and shadow pass rendering in tile based architectures | |
US9582858B2 (en) | Energy-efficient anti-aliasing |