專利名稱:監(jiān)視圖形處理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖形處理領(lǐng)域。更具體來(lái)說(shuō),本發(fā)明涉及監(jiān)視在渲染
(rendering)幀的不同區(qū)域時(shí)所:執(zhí)行的圖形處理。
背景技術(shù):
圖形處理是計(jì)算密集的任務(wù)。為了可有效地執(zhí)行這種圖形處理, 往往需要適配所扭j行的處理或者正扭J亍該處理的系統(tǒng),以1"更例如減少 性能瓶頸。引起性能瓶頸和其它操作特性的作用可能很細(xì)微,并且可 能難以識(shí)別低性能或其它問(wèn)題的原因。
已知的是為圖形處理系統(tǒng)提供監(jiān)視電路,它能夠捕捉關(guān)于所執(zhí)行 的圖形處理操作的診斷/性能信息。例如,這種信息可告訴硬件設(shè)計(jì) 人員或應(yīng)用程序作者在渲染各幀時(shí)使用圖形處理設(shè)備的多少個(gè)處理 周期。雖然這類機(jī)制在識(shí)別存在問(wèn)題方面是有用的,使得需要過(guò)多數(shù) 目的處理周期,但是在了解這類問(wèn)題的原因方面存在困難??蓭椭?解圖形處理系統(tǒng)的復(fù)雜行為以便識(shí)別其中的問(wèn)題的技術(shù)是有利的。
發(fā)明內(nèi)容
從一個(gè)方面來(lái)看,本發(fā)明提供用于渲染表示畫面的像素值的幀的 圖形處理設(shè)備,所述圖形處理設(shè)備包括
渲染電路,用于單獨(dú)渲染所述幀的不同區(qū)域;
監(jiān)視電路,與所述渲染電路耦合,對(duì)于所渲染的各區(qū)域捕捉一個(gè) 或多個(gè)參數(shù);以及
參數(shù)存儲(chǔ)器,與所述監(jiān)視電路耦合,對(duì)于各區(qū)域單獨(dú)存儲(chǔ)所述監(jiān) 視電路所捕捉的所述一個(gè)或多個(gè)參數(shù)。
6本技術(shù)認(rèn)識(shí)到,捕捉關(guān)于幀中多個(gè)單獨(dú)渲染區(qū)域的每個(gè)的參數(shù)準(zhǔn)
許更易于了解引起那些參數(shù)的作用以及它們可指明的可能問(wèn)題。例 如,指明與所渲染的幀中的特定區(qū)域關(guān)聯(lián)的過(guò)度周期數(shù)的參數(shù)將允許
用戶在識(shí)別其原因時(shí)集中于引起該過(guò)度周期數(shù)的區(qū)域特有的屬性。準(zhǔn) 許所捕捉的被監(jiān)視參數(shù)與所渲染的幀中對(duì)應(yīng)區(qū)域之間的現(xiàn)成相關(guān)極 大地幫助診斷、優(yōu)化和其它活動(dòng)。
大家會(huì)理解,圖形處理設(shè)備所執(zhí)行的渲染可采取大量不同的形 式。在一個(gè)示例中,所渲染的畫面可包括一個(gè)或多個(gè)圖元,以及該幀
由多個(gè)的像素值圖塊(tile)形成。
在上述上下文中,渲染電路可以是基于圖塊的渲染電路,它讀取 表征一個(gè)或多個(gè)圖元的數(shù)據(jù),并且渲染一 系列圖塊,以便生成整個(gè)幀, 其中對(duì)這些圖塊中的每個(gè)依次渲染被識(shí)別為可能截取該圖塊的圖元 的選擇。
這類系統(tǒng)中的各圖塊的單獨(dú)渲染極適合于單獨(dú)捕捉和存儲(chǔ)與該 渲染關(guān)聯(lián)的參數(shù)。
大家會(huì)理解,所捕捉和存儲(chǔ)的參數(shù)可具有大量形式。參數(shù)在一般 意義上可以是診斷。但是,本技術(shù)具體極適合在所監(jiān)視、捕捉和存儲(chǔ) 的參數(shù)是性能參數(shù)的情況下使用。
如果當(dāng)監(jiān)視電路的動(dòng)作沒(méi)有干擾渲染電路則這是有利的,因?yàn)檫@ 可能引起不準(zhǔn)確和/或令人誤解的捕捉參數(shù)。例如,如果捕捉和存儲(chǔ) 參數(shù)的動(dòng)作干擾渲染電路所需的存儲(chǔ)器存取,則可能觀察到性能的降 低是由于該監(jiān)視、捕捉和存儲(chǔ),而不是由于在沒(méi)有這種監(jiān)視、捕捉和 存儲(chǔ)情況下存在的缺陷。
在本發(fā)明的一些實(shí)施例中,渲染電路在完成渲染當(dāng)前活動(dòng)區(qū)域時(shí) 將該當(dāng)前活動(dòng)區(qū)域的像素值寫入幀存儲(chǔ)器。監(jiān)視電路可形成為在渲染 電路沒(méi)有將完成區(qū)域的渲染像素值寫入幀存儲(chǔ)器時(shí)將一個(gè)或多個(gè)參 數(shù)寫入?yún)?shù)存儲(chǔ)器。這樣,在渲染電路沒(méi)有嘗試執(zhí)行它自己的寫入因 此監(jiān)視電路對(duì)圖形處理設(shè)備的性能的這個(gè)方面具有低的影響時(shí)可執(zhí)行將參數(shù)寫入?yún)?shù)存儲(chǔ)器。
雖然大家理解可單獨(dú)提供參數(shù)存儲(chǔ)器和幀存儲(chǔ)器,但如果它們形 成公共共享存儲(chǔ)器的組成部分則這是便利的。提供僅由監(jiān)視電路使用
的專用參數(shù)存儲(chǔ)器是浪費(fèi),因?yàn)樵诂F(xiàn)場(chǎng)使用中,當(dāng)不需要監(jiān)視時(shí),這 種專用參數(shù)存儲(chǔ)器是放著不用的。如果參數(shù)存儲(chǔ)器形成公共共享存儲(chǔ) 器的組成部分,則該公共共享存儲(chǔ)器在不需要存儲(chǔ)監(jiān)視電路所生成的 參數(shù)時(shí)可用于其它目的,并且在可使用的參數(shù)存儲(chǔ)器的大小方面也存 在較大靈活性。
監(jiān)視電路可采取大量不同形式。提供采取與圖形處理設(shè)備中的相 應(yīng)點(diǎn)耦合以便對(duì)關(guān)聯(lián)各區(qū)域的渲染的事件進(jìn)行計(jì)數(shù)的 一個(gè)或多個(gè)計(jì) 數(shù)器的形式的監(jiān)視電路提供低開(kāi)銷監(jiān)視機(jī)制,它能夠提供大量有用參數(shù)。
通過(guò)提供與這些計(jì)數(shù)器中的一個(gè)或多個(gè)關(guān)聯(lián)并且響應(yīng)參數(shù)選擇 信號(hào)而選擇圖形處理設(shè)備中哪些點(diǎn)/事件將由所涉及的計(jì)數(shù)器進(jìn)行計(jì) 數(shù)的參數(shù)選擇電路,可改進(jìn)監(jiān)視電路的靈活性。這樣,與監(jiān)視電路關(guān) 聯(lián)的開(kāi)銷可減小,因?yàn)樾枰峁┹^少計(jì)數(shù)器,以及如果大范圍的參數(shù) 需要捕捉,則這可通過(guò)采用不同參數(shù)選擇信號(hào)再運(yùn)行相同幀的渲染、 使得計(jì)數(shù)器在不同渲染時(shí)對(duì)不同事件進(jìn)行計(jì)數(shù)來(lái)實(shí)現(xiàn)。
當(dāng)參數(shù)選擇信號(hào)是用戶可編程信號(hào)時(shí),有助于上述靈活性。 大家會(huì)理解,被監(jiān)視的參數(shù)可具有大量不同的形式。具體來(lái)說(shuō), 可監(jiān)視的有用參數(shù)包括圖形處理設(shè)備用于渲染區(qū)域的處理周期數(shù)、渲 染區(qū)域時(shí)圖形處理設(shè)備的高速緩沖存儲(chǔ)器中的高速緩存未命中
(cache miss)的數(shù)量、渲染區(qū)域時(shí)與圖形處理設(shè)備耦合的總線上的 總線事務(wù)的數(shù)量以及渲染區(qū)域時(shí)識(shí)別為可能截取被處理區(qū)域的圖元 的數(shù)量。大家會(huì)理解,在不同的實(shí)施例中,也可監(jiān)視、捕捉和存儲(chǔ)與 以上所述不同和/或備選的許多參數(shù)。本技術(shù)包含大量可被認(rèn)為在特 定圖形處理設(shè)備中是適當(dāng)/有用的不同參數(shù)。
參數(shù)可各種不同方式存儲(chǔ)在參數(shù)存儲(chǔ)器中。但便利的是,參數(shù)存儲(chǔ)在參數(shù)存儲(chǔ)器中使得在完成幀的渲染時(shí),參數(shù)存儲(chǔ)器包含與形成已 經(jīng)渲染的幀的區(qū)域的陣列對(duì)應(yīng)的參數(shù)的陣列。區(qū)域與參數(shù)陣列的元素 之間的這種——對(duì)應(yīng)有助于易于了解參數(shù)數(shù)據(jù)和該參數(shù)數(shù)據(jù)的簡(jiǎn)化 處理,以便幫助這種了解。
從另 一個(gè)方面來(lái)看,本發(fā)明提供一種為渲染表示畫面的像素值的
幀的圖形處理設(shè)備生成監(jiān)視數(shù)據(jù)的方法,所述方法包括以下步驟 單獨(dú)渲染所述幀的不同區(qū)域; 對(duì)于所渲染的各區(qū)域捕捉一個(gè)或多個(gè)參數(shù);以及 對(duì)于各區(qū)域單獨(dú)存儲(chǔ)所捕捉的所述一個(gè)或多個(gè)參數(shù)。 從又一個(gè)方面來(lái)看,本發(fā)明提供一種分析單獨(dú)渲染表示畫面的圖
像幀的不同區(qū)域的圖形處理設(shè)備的方法,所述方法包括以下步驟 讀取參數(shù)存儲(chǔ)器中存儲(chǔ)的對(duì)于所述幀的相應(yīng)區(qū)域的一個(gè)或多個(gè)
參數(shù)的陣列;以及
生成具有參數(shù)表示像素值區(qū)域的參數(shù)幀,所述參數(shù)表示像素值區(qū)
域具有根據(jù)所述圖像幀中對(duì)應(yīng)區(qū)域的至少 一個(gè)參數(shù)所選的至少 一個(gè) 3見(jiàn)覺(jué)特性。
像以上所述的對(duì)于逐個(gè)區(qū)域進(jìn)行渲染的參數(shù)數(shù)據(jù)的捕捉一樣,本 發(fā)明的一個(gè)補(bǔ)充方面提供一種分析單獨(dú)渲染表示畫面的圖像幀的不 同區(qū)域的圖形處理設(shè)備的方法,所述方法包括以下步驟
讀取參數(shù)存儲(chǔ)器中存儲(chǔ)的對(duì)于所述幀的相應(yīng)區(qū)域的一個(gè)或多個(gè) 參數(shù)的陣列;以及
生成具有參數(shù)表示像素值的區(qū)域的參數(shù)幀,所述參數(shù)表示像素值
的區(qū)域具有根據(jù)所述圖像幀中的對(duì)應(yīng)區(qū)域的至少一個(gè)參數(shù)所選的至 少一個(gè)纟見(jiàn)覺(jué)特性。
由于單獨(dú)捕捉了關(guān)于幀中單獨(dú)渲染的區(qū)域的參數(shù)數(shù)據(jù),本技術(shù)的 這個(gè)方面用于讀取這種參數(shù)陣列,并且生成參數(shù)幀供顯示,其中參數(shù) 表示像素值的區(qū)域具有根據(jù)圖像幀中的對(duì)應(yīng)區(qū)域的至少一個(gè)參數(shù)所 選的至少 一 個(gè)一見(jiàn)覺(jué)特性。這樣,能以極大地幫助了解參數(shù)數(shù)據(jù)的方式,例如通過(guò)幫助參數(shù) 幀與圖像幀之間的比較以便識(shí)別圖像幀中引起值得注意參數(shù)值的區(qū) 域,來(lái)逐個(gè)區(qū)域地顯示所捕捉參數(shù)數(shù)據(jù)為參數(shù)幀。
如前面所述,圖像幀的渲染可通過(guò)引起逐個(gè)區(qū)域處理的各種不同 方式來(lái)執(zhí)行,但是本技術(shù)具體地極適合于基于圖塊的渲染。此外,參 數(shù)存儲(chǔ)器中存儲(chǔ)的參數(shù)可具有許多不同的形式,但是本技術(shù)極適合當(dāng) 參數(shù)是性能參數(shù)時(shí)使用。
參數(shù)表示像素值的視覺(jué)特性可通過(guò)各種不同方式來(lái)選擇。在使用 參數(shù)幀準(zhǔn)許易于了解所捕捉參數(shù)數(shù)據(jù)中極為有用的 一 些視覺(jué)特性是 像素灰度值、像素亮度和/或像素顏色。
雖然有可能從所捕捉的參數(shù)值僅可生成一個(gè)參數(shù)幀,但是在一些 示例實(shí)施例中,可能有利的是,捕捉多個(gè)參數(shù)陣列(或者具有多個(gè)參 數(shù)元素的陣列),使得可對(duì)于各圖像幀生成多個(gè)參數(shù)幀,其中不同的 參數(shù)幀具有帶有取決于不同參數(shù)的像素值的區(qū)域。引起性能瓶頸等的 作用可能很細(xì)微,以及問(wèn)題有時(shí)可使用多個(gè)參數(shù)幀更易于識(shí)別,使得 可識(shí)別對(duì)于圖像幀中的特定區(qū)域的作用的組合。
大家會(huì)理解,在許多實(shí)施例中,圖形處理設(shè)備是集成電路的組成 部分,并且便利的是,上述讀取和生成的步驟采用與所涉及的集成電 路耦合的通用計(jì)算機(jī)來(lái)執(zhí)行。為了診斷/性能監(jiān)視以這種方式與集成 電路耦合的通用計(jì)算機(jī)在硬件和軟件開(kāi)發(fā)的設(shè)計(jì)和調(diào)試階段中將是 本技術(shù)領(lǐng)域的技術(shù)人員熟悉的。
本發(fā)明的另 一個(gè)方面提供一種存儲(chǔ)用于根據(jù)上述讀取和生成方 法來(lái)控制通用計(jì)算機(jī)的計(jì)算機(jī)程序的計(jì)算機(jī)程序存儲(chǔ)介質(zhì)。
結(jié)合監(jiān)視電路和參數(shù)存儲(chǔ)器的圖形處理設(shè)備可需要這類特征配 置使用。因此,本技術(shù)的另 一個(gè)方面提供一種存儲(chǔ)用于控制如上所述、 具體來(lái)說(shuō)準(zhǔn)許待捕捉的一個(gè)或多個(gè)參數(shù)的用戶選擇的圖形處理設(shè)備 的驅(qū)動(dòng)器計(jì)算機(jī)程序的計(jì)算機(jī)程序存儲(chǔ)介質(zhì)。
這種驅(qū)動(dòng)器計(jì)算機(jī)程序可由圖形處理設(shè)備形成其一部分或者在圖形處理設(shè)備形成其一部分的用戶裝置中的集成電路來(lái)運(yùn)行,例如發(fā) 起和控制圖形處理設(shè)備的驅(qū)動(dòng)器。
驅(qū)動(dòng)器程序還可準(zhǔn)許將要用作參數(shù)存儲(chǔ)器的存儲(chǔ)位置的用戶選擇。
通過(guò)以下結(jié)合附圖對(duì)說(shuō)明性實(shí)施例的詳細(xì)描述,本發(fā)明的上述和 其它目的、特征和優(yōu)點(diǎn)將會(huì)非常明顯。
圖1示意示出結(jié)合圖形處理單元并且與診斷通用計(jì)算機(jī)和LCD 顯示器耦合的芯片上系統(tǒng)(Soc)的集成電路;
圖2示意示出包含待渲染的三個(gè)圖元并且由逐個(gè)圖塊單獨(dú)渲染 的像素值的圖塊陣列組成的圖像幀;
圖3示意示出與圖2的圖像幀對(duì)應(yīng)并且表示可能與相應(yīng)圖塊相交 的圖元的數(shù)量的所捕捉參數(shù)值的性能參數(shù)陣列;
圖4示意示出從圖3的性能參數(shù)陣列所生成的性能幀,其中性能 幀中的各像素值圖塊具有與從圖3的性能參數(shù)陣列所讀取的、關(guān)聯(lián)圖 2的圖像幀中的對(duì)應(yīng)圖塊的參數(shù)值對(duì)應(yīng)的視覺(jué)特性;
圖5是示意示出圖1的圖形處理單元所執(zhí)行的、包括捕捉計(jì)數(shù)器 值以及將計(jì)數(shù)器值作為參數(shù)存儲(chǔ)到參數(shù)存儲(chǔ)器的圖塊渲染的流程圖6是示意示出可如何從例如圖3所示的性能參數(shù)陣列生成例如 圖4所示的性能幀的流程圖7示意示出驅(qū)動(dòng)器計(jì)算機(jī)程序在包括初始化監(jiān)視電路(計(jì)數(shù)器 和計(jì)數(shù)器控制器)的初始化圖形處理單元中的動(dòng)作;以及
圖8示意示出適合于執(zhí)行至少如圖6所示的處理的類型的通用計(jì) 算機(jī)。
具體實(shí)施例方式
圖1示意示出芯片上系統(tǒng)的集成電路2,其中包括全部經(jīng)由系統(tǒng) 總線14進(jìn)行耦合的中央處理單元4(例如通用ARM處理器)、圖形處
ii理單元6、存儲(chǔ)器8、顯示驅(qū)動(dòng)器10和輸入輸出電路12。在下文中 結(jié)合圖8所述的通用計(jì)算機(jī)16與輸入輸出電路12連接,以便準(zhǔn)許從 存儲(chǔ)器8讀取數(shù)據(jù)以及將數(shù)據(jù)寫入存儲(chǔ)器8。由通用計(jì)算機(jī)16從存 儲(chǔ)器8讀取的數(shù)據(jù)可包括圖像幀數(shù)據(jù)18以及性能參數(shù)數(shù)據(jù)陣列20。 通用計(jì)算機(jī)16可顯示圖像幀數(shù)據(jù)18,并且使用性能數(shù)據(jù)陣列20來(lái) 生成和顯示性能幀,以便幫助了解圖形處理單元6所執(zhí)行的處理。性 能參數(shù)數(shù)據(jù)可表示大量不同的參數(shù)。下面將論述這些參數(shù)的示例。
在正常(非診斷)操作中,圖形處理單元6生成圖像幀數(shù)據(jù)18,以 便使用顯示驅(qū)動(dòng)器IO在附連的LCD 22上顯示。圖形處理單元6執(zhí) 行三維圖形處理,例如包括ARM Limited(英國(guó)劍橋)設(shè)計(jì)的MALI圖 形處理單元所執(zhí)行的類型的基于圖塊的渲染。
圖形處理單元6包括基于圖塊的渲染電路24和圖形處理單元高 速緩存26,連同存儲(chǔ)器接口 28以連接到系統(tǒng)總線14。大家會(huì)理解, 實(shí)際上,圖形處理單元6通常將包括許多其它電路元件,但是為了清 晰起見(jiàn)從圖1中將其省略。
又如圖1所示的是監(jiān)視電路,其中包括由計(jì)數(shù)器控制器34所控 制并且經(jīng)由復(fù)用器36、 38提供有待計(jì)數(shù)的相應(yīng)信號(hào)的計(jì)數(shù)器30、 32。 每個(gè)復(fù)用器36、 38接收分別與圖形處理單元6中的不同點(diǎn)耦合的四 個(gè)輸入信號(hào),以便有選擇地監(jiān)視圖形處理單元6所使用的處理時(shí)鐘周 期數(shù)、識(shí)別為可能與基于圖塊的渲染電路24所渲染的圖塊相交的圖 元的數(shù)量、圖形處理單元高速緩存26中的未命中以及存儲(chǔ)器接口電 路28所執(zhí)行的總線事務(wù)。復(fù)用器36、 38選擇不同的事件信號(hào),以便 監(jiān)視這些并將其提供給它們相應(yīng)計(jì)數(shù)器30、 32,從而進(jìn)行計(jì)數(shù)。計(jì) 數(shù)器控制器34響應(yīng)存儲(chǔ)器映射寄存器40中的用戶可編程值而選擇復(fù) 用器36、 38傳遞給計(jì)數(shù)器30、 32的信號(hào)。因此,用戶可對(duì)寄存器 40寫入,以便選擇將要監(jiān)視哪些參數(shù),以及當(dāng)渲染圖像幀時(shí)形成性 能參數(shù)陣列。寄存器40也是用戶可編程的,以便指定存儲(chǔ)器8中將 存儲(chǔ)性能參數(shù)陣列數(shù)據(jù)20的存儲(chǔ)位置。
12計(jì)數(shù)器控制器34響應(yīng)基于圖塊的渲染電路24所生成的圖塊完成 信號(hào)而觸發(fā)計(jì)數(shù)器控制器34讀取計(jì)數(shù)器30、 32的當(dāng)前值,并且將這 些值發(fā)送給存儲(chǔ)器接口電路28,以便作為性能參數(shù)陣列數(shù)據(jù)20的一 部分寫入存儲(chǔ)器8中與引起那些計(jì)數(shù)值的所渲染的圖塊對(duì)應(yīng)的位置。 計(jì)數(shù)值每當(dāng)被讀耳又時(shí)可以累計(jì)或者可以重置,耳又決于所涉及的計(jì)數(shù)的 性質(zhì)。
存儲(chǔ)器接口電路28還負(fù)責(zé)將基于圖塊的渲染電路24所生成的所 渲染圖塊的像素值寫入存儲(chǔ)器8的圖像幀18。所渲染圖塊的像素值 的這種寫入以猝發(fā)進(jìn)行,其中當(dāng)每個(gè)圖塊完成時(shí)參數(shù)數(shù)據(jù)到性能參數(shù) 陣列20的寫入可配合到該圖塊數(shù)據(jù)的這些像素值的寫入之間的間隙 中、使得參數(shù)的寫入沒(méi)有干擾圖形處理單元6的性能。存儲(chǔ)器接口 28可設(shè)置成在來(lái)自基于圖塊的渲染電路24的寫入與來(lái)自計(jì)數(shù)器控制 器34的寫入之間進(jìn)行仲裁,使得來(lái)自基于圖塊的渲染電路24的寫入 始終具有高優(yōu)先級(jí)。
在這個(gè)示例中,基于圖塊的渲染使用包含16x16像素值的圖塊來(lái) 執(zhí)行(但是大家會(huì)理解,圖塊的其它大小和形狀是可能的)。存儲(chǔ)器8 中存儲(chǔ)的顯示列表42存儲(chǔ)可能與將由基于圖塊的渲染電路渲染的各 圖塊相交的圖元的列表。顯示列表42可由通用處理器4生成并且存 儲(chǔ)在存儲(chǔ)器8中。圖形處理單元6用于通過(guò)讀取顯示列表42,然后 根據(jù)標(biāo)識(shí)可能與所涉及的圖塊相交的圖元的數(shù)據(jù)來(lái)計(jì)算各像素值,并 且考慮任何紋理、陰影或者也可被使用的其它圖形控制數(shù)據(jù),來(lái)逐個(gè) 圖塊地渲染各圖塊。當(dāng)已經(jīng)生成圖塊時(shí),將16x16像素值的陣列寫入 存儲(chǔ)器8的圖像幀18中的對(duì)應(yīng)位置。這種逐個(gè)圖塊的處理不同于其 中通過(guò)逐個(gè)圖元地將各圖元依次渲染到作為整體的圖像幀18來(lái)形成 圖像的通常所說(shuō)的直接模式處理。
所監(jiān)視的參數(shù)可采取大量不同形式。具體來(lái)說(shuō),要監(jiān)視的有用參 數(shù)包括圖形處理單元6用于渲染各圖塊的處理周期數(shù)、渲染各圖塊時(shí) 圖形處理單元高速緩存26中的高速緩存未命中的數(shù)量、渲染各圖塊
13時(shí)由存儲(chǔ)器接口電路28所執(zhí)行的系統(tǒng)總線上的總線事務(wù)的數(shù)量和/ 或由基于圖塊的渲染電路24從讀取顯示列表42所識(shí)別的、識(shí)別為可 能與被在處理的圖塊相交的圖元的數(shù)量。
圖2示意示出待渲染的簡(jiǎn)單圖像幀。這個(gè)圖像幀包含采取兩個(gè)三 角形和一個(gè)正方形的形式的三個(gè)圖元。大家會(huì)看到,圖像幀由10x10 個(gè)圖塊的陣列組成,并且這些圖塊的每個(gè)包含16x16個(gè)像素值。各圖 塊由基于圖塊的渲染電路24依次渲染。當(dāng)渲染各圖塊時(shí),讀取存儲(chǔ) 器8中的顯示列表,以便識(shí)別可能與該圖塊相交的該數(shù)量的圖元。這 個(gè)數(shù)量的圖元數(shù)據(jù)由基于圖塊的渲染電路24輸出,并且這個(gè)數(shù)量在 計(jì)數(shù)器30、 32之一中被捕捉。
圖3示意示出與圖2的圖像幀對(duì)應(yīng)的性能參數(shù)陣列,其中已經(jīng)捕 捉和存儲(chǔ)可能與陣列中的各圖塊相交的圖元的數(shù)量。大家會(huì)看到,存 在表示關(guān)于圖像幀中各圖塊所存儲(chǔ)的圖元的數(shù)量的參數(shù)值。這個(gè)示例 中,在圖2的圖像幀的圖塊與圖3的性能參數(shù)陣列中存儲(chǔ)的參數(shù)值之 間存在——對(duì)應(yīng)。大家會(huì)理解,圖3的性能參數(shù)陣列中的各條目可包 括與同一圖塊相關(guān)的多個(gè)不同參數(shù),例如圖元數(shù)量計(jì)數(shù)、周期計(jì)數(shù)、 高速緩存未命中計(jì)數(shù)、存儲(chǔ)器事務(wù)數(shù)量計(jì)數(shù)等。作為替代,可關(guān)于被 監(jiān)視和捕捉的不同性能參數(shù)保持單獨(dú)的性能參數(shù)陣列。從圖3觀察 到,即使與各圖塊關(guān)聯(lián)的圖元數(shù)量是捕捉和計(jì)數(shù)的比較直接的參數(shù), 但是圖3所示的數(shù)據(jù)陣列的解釋不是直接的,即使在圖3中以二維陣 列形式示出。
圖4示出如何可從圖3的性能參數(shù)陣列生成性能幀,以便幫助了 解和解釋已經(jīng)捕捉的性能參數(shù)。圖4的性能幀采用與圖2的圖像幀的 圖塊——對(duì)應(yīng)的圖塊和圖3的性 能參數(shù)陣列中存儲(chǔ)的數(shù)據(jù)值來(lái)形成。 為了便于說(shuō)明,性能幀中的圖塊可具有與圖2的圖像幀中的圖塊相同 的大小,即,由16xl6個(gè)具有根據(jù)圖3的性能參數(shù)陣列中的對(duì)應(yīng)參數(shù) 值所選的至少一個(gè)視覺(jué)特性的參數(shù)表示像素值形成。從圖3的性能參 數(shù)陣列看到,任何圖塊的最大圖元數(shù)量為3,以及最小數(shù)量為0。最大和最小值可在性能參數(shù)陣列中搜索,并且用于有效地選擇參數(shù)與圖4的性能幀中的參數(shù)表示像素值的視覺(jué)特性之間的映射。另一種方式是允許用戶手動(dòng)選擇待使用的映射,例如手動(dòng)選擇最小和最大值以及它們對(duì)應(yīng)的哪些視覺(jué)特性,其中視覺(jué)特性按照這些最小和最大值之間的參數(shù)值以預(yù)定方式變化。最小和最大值可根據(jù)單個(gè)性能參數(shù)陣列來(lái)確定,或者它們可根據(jù)對(duì)于同 一個(gè)參數(shù)的多個(gè)性能參數(shù)陣列來(lái)確定??紤]對(duì)于同 一個(gè)參數(shù)所捕捉的多個(gè)陣列的參數(shù)值來(lái)設(shè)置映射可是優(yōu)
選的,因?yàn)樗筛子谠试S識(shí)別各個(gè)性能幀中的不尋常參數(shù)值。圖4
所示的示例將實(shí)線陰影與其中三個(gè)圖元可能相交的圖塊關(guān)聯(lián),將交叉陰影與其中是兩個(gè)圖元的圖塊關(guān)聯(lián),將對(duì)角線陰影與一個(gè)圖元的圖塊關(guān)聯(lián),將無(wú)陰影與其中零圖元的圖塊關(guān)聯(lián)。這樣,對(duì)于其要求考慮最大數(shù)量的圖元的圖塊可易于識(shí)別,以及如果這種大數(shù)量的圖元被認(rèn)為
是問(wèn)題,則可與圖2的圖像幀進(jìn)行視覺(jué)比較。然后可根據(jù)需要來(lái)適配《1起這種大數(shù)量的圖元的圖像幀的性質(zhì)。
大家會(huì)理解,以上只是可如何形成性能幀的一個(gè)示例。根據(jù)參數(shù)值改變的視覺(jué)特性可具有大量不同的形式。作為一個(gè)示例,視覺(jué)特性可以是像素灰度值、像素亮度和/或像素顏色。其它視覺(jué)特性(例如超過(guò)某個(gè)參數(shù)值時(shí)閃爍)也可根據(jù)需要來(lái)設(shè)想和使用。
圖5示意示出與基于圖塊的渲染電路24所執(zhí)行的處理對(duì)應(yīng)的流程圖。在步驟44,選擇待渲染的第一圖塊。在步驟46,讀取顯示列表42,以便識(shí)別可能與當(dāng)前圖塊相交的圖元。步驟48使用所讀取的圖元來(lái)渲染圖塊,并且還根據(jù)被監(jiān)視的當(dāng)前所選參數(shù)來(lái)更新計(jì)數(shù)器30、 32。在步驟50,將所湟染的像素值的陣列寫入存儲(chǔ)器8中的圖像幀18。在步驟52,來(lái)自計(jì)數(shù)器30、 32的對(duì)于剛渲染的圖塊的性能計(jì)數(shù)器值由計(jì)數(shù)器控制器34經(jīng)由存儲(chǔ)器接口電路28寫入性能參數(shù)陣列20。步驟54識(shí)別當(dāng)前圖塊是否為圖像幀中的最后一個(gè)圖塊。如果當(dāng)前圖塊不是最后一個(gè)圖塊,則步驟56選擇下一個(gè)圖塊,并且處理返回到步驟46,否則圖像幀的圖塊渲染已經(jīng)完成。
15圖6是示意示出從例如圖3所示的參數(shù)值陣列生成例如圖4所示的性能幀的流程圖。圖6所示的處理可由圖1的診斷計(jì)算機(jī)16來(lái)執(zhí)行,診斷計(jì)算機(jī)16經(jīng)由輸入輸出單元12從存儲(chǔ)器8讀取了性能數(shù)據(jù)陣列20。在步驟58,如前面所述計(jì)算或者選擇性能參數(shù)值與視覺(jué)特性之間的映射。在步驟60,選擇性能參數(shù)陣列中的第一個(gè)值。步驟62生成相應(yīng)的具有取決于在步驟60從陣列所讀取的性能參數(shù)的視覺(jué)特性的性能表示像素值圖塊。在步驟64,將性能表示像素值圖塊寫入圖4的性能幀。步驟66確定陣列中的當(dāng)前參數(shù)值是否為最后一個(gè)陣列值。如果當(dāng)前參數(shù)值不是最后一個(gè)陣列值,則步驟68選擇下一個(gè)陣列值,并且處理返回到步驟62。如果所有陣列值已經(jīng)映射到性能表示像素值,使得已經(jīng)生成圖4的全性能幀,則處理進(jìn)入步驟70,其中在診斷計(jì)算機(jī)16上顯示性能幀。圖6所示的處理可在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)、如磁盤存儲(chǔ)器等所存儲(chǔ)的計(jì)算機(jī)程序控制下由診斷計(jì)算機(jī)16來(lái)執(zhí)行。
圖7是示意示出驅(qū)動(dòng)器計(jì)算機(jī)程序在初始化圖1的圖形處理單元6中的動(dòng)作的流程圖。驅(qū)動(dòng)器計(jì)算機(jī)程序可由圖l的通用處理器4來(lái)運(yùn)行,并且可存儲(chǔ)在存儲(chǔ)器8中。在步驟72,除了關(guān)于本技術(shù)所涉及的其診斷能力,初始化圖形處理單元6。在步驟74,確定是否需要運(yùn)行診斷。如果不需要診斷,則處理進(jìn)入步驟76,其中啟動(dòng)圖形處理單元6。
如果需要診斷,則步驟78讀取指定將要監(jiān)視哪些參數(shù)的用戶輸入。這個(gè)用戶輸入可經(jīng)由診斷計(jì)算機(jī)16進(jìn)行。用戶輸入也可通過(guò)許多其它方式進(jìn)行,例如經(jīng)由與芯片上系統(tǒng)的集成電路2完成其 一 部分的設(shè)備關(guān)聯(lián)的輸入裝置。指定要監(jiān)視哪些參數(shù)的用戶輸入寫入計(jì)數(shù)器控制器34中的寄存器40,相應(yīng)地生成對(duì)于復(fù)用器36、 38的對(duì)應(yīng)控制信號(hào),如前面所述。將參數(shù)選擇值寫入計(jì)數(shù)器控制器34在步驟18進(jìn)行。在步驟82,讀取另一個(gè)用戶輸入,它指定哪一個(gè)存儲(chǔ)器存儲(chǔ)位置將用于性能參數(shù)陣列20。當(dāng)接收到這個(gè)用戶輸入時(shí),步驟84將這個(gè)存儲(chǔ)器存儲(chǔ)位置指定信息寫入計(jì)數(shù)器控制器34的寄存器40,使得計(jì)數(shù)器控制器34生成關(guān)于在各圖塊完成時(shí)將要寫入性能參數(shù)陣列20的參數(shù)數(shù)據(jù)的到存儲(chǔ)器8的適當(dāng)尋址的存儲(chǔ)器事務(wù)。然后,處理進(jìn)入步驟76,其中啟動(dòng)圖形處理單元6。
圖8示意示出可用于實(shí)現(xiàn)上述技術(shù)的類型的通用計(jì)算機(jī)200。通用計(jì)算機(jī)200包括全部經(jīng)由公共總線222進(jìn)行連接的中央處理單元202、隨機(jī)存取存儲(chǔ)器204、只讀存儲(chǔ)器206、網(wǎng)絡(luò)接口卡208、硬盤驅(qū)動(dòng)器210、顯示器驅(qū)動(dòng)器212、監(jiān)視器214以及具有鍵盤218和鼠標(biāo)220的用戶輸入/輸出電路216。在操作中,中央處理單元202將運(yùn)行計(jì)算機(jī)程序指令,它們可存儲(chǔ)在隨機(jī)存取存儲(chǔ)器204、只讀存儲(chǔ)器206和硬盤驅(qū)動(dòng)器210的 一個(gè)或多個(gè)中或者經(jīng)由網(wǎng)絡(luò)接口卡208動(dòng)態(tài)下載。所執(zhí)行的處理的結(jié)果可經(jīng)由顯示驅(qū)動(dòng)器212和監(jiān)視器214向用戶顯示。用于控制通用計(jì)算機(jī)200的操作的用戶輸入可經(jīng)由用戶輸入輸出電路216從鍵盤218或鼠標(biāo)220接收。大家會(huì)理解,計(jì)算機(jī)程序可通過(guò)各種不同的計(jì)算機(jī)語(yǔ)言來(lái)編寫。計(jì)算機(jī)程序可存儲(chǔ)和分布于記錄介質(zhì)或者動(dòng)態(tài)下載到通用計(jì)算機(jī)200 。在適當(dāng)?shù)挠?jì)算機(jī)程序控制下進(jìn)行操作時(shí),通用計(jì)算機(jī)200可執(zhí)行上述技術(shù),并且可被認(rèn)為形成用于執(zhí)行上述技術(shù)的設(shè)備。通用計(jì)算機(jī)200的體系結(jié)構(gòu)可能極大地改變,并且圖8只是一個(gè)示例。
雖然本文參照附圖詳細(xì)描述了本發(fā)明的說(shuō)明性實(shí)施例,但是大家要理解,本發(fā)明并不局限于那些確切實(shí)施例,本領(lǐng)域的技術(shù)人員可以對(duì)其進(jìn)行各種變更和修改,而沒(méi)有背離所附權(quán)利要求書所定義的本發(fā)明的范圍和精神。
權(quán)利要求
1.用于渲染表示畫面的像素值幀的圖形處理設(shè)備,所述圖形處理設(shè)備包括渲染電路,用于單獨(dú)渲染所述幀的不同區(qū)域;監(jiān)視電路,與所述渲染電路耦合,對(duì)于所渲染的各區(qū)域捕捉一個(gè)或多個(gè)參數(shù);以及參數(shù)存儲(chǔ)器,與所述監(jiān)視電路耦合,對(duì)于各區(qū)域單獨(dú)存儲(chǔ)所述監(jiān)視電路所捕捉的所述一個(gè)或多個(gè)參數(shù)。
2. 如權(quán)利要求1所述的圖形處理設(shè)備,其中,所述畫面包括一 個(gè)或多個(gè)圖元,以及所述幀由多個(gè)的像素值圖塊形成。
3. 如權(quán)利要求2所述的圖形處理設(shè)備,其中,所述渲染電路是 基于圖塊的渲染電路,它可響應(yīng)表征所述一個(gè)或多個(gè)圖元的數(shù)據(jù)而渲 染一系列所述圖塊,以便生成所述幀,其中對(duì)每個(gè)所述圖塊依次渲染 被識(shí)別為可能與所述圖塊相交的所述一個(gè)或多個(gè)圖元的選擇。
4. 如權(quán)利要求1所迷的圖形處理-沒(méi)備,其中,所述監(jiān)視電路包 括性能監(jiān)視電路,以及所述一個(gè)或多個(gè)參數(shù)包括一個(gè)或多個(gè)性能參 數(shù)。
5. 如權(quán)利要求1所述的圖形處理設(shè)備,其中所述渲染電路在完成渲染當(dāng)前活動(dòng)區(qū)域時(shí)將所述當(dāng)前活動(dòng)區(qū)域 的像素值寫入幀存儲(chǔ)器,以及所述監(jiān)視電路在所述渲染電路沒(méi)有要將完成區(qū)域的渲染像素值 寫入所述幀存儲(chǔ)器的時(shí)候?qū)⑺鲆粋€(gè)或多個(gè)參數(shù)寫入所述參數(shù)存儲(chǔ) 器。
6. 如權(quán)利要求5所述的圖形處理設(shè)備,其中,所述參數(shù)存儲(chǔ)器 和所述幀存儲(chǔ)器是公共共享存儲(chǔ)器的組成部分。
7. 如權(quán)利要求1所述的圖形處理設(shè)備,其中,所述監(jiān)視電路包 括與所述圖形處理設(shè)備中的相應(yīng)點(diǎn)耦合的一個(gè)或多個(gè)計(jì)數(shù)器,以便對(duì)關(guān)聯(lián)各區(qū)域的渲染的事件進(jìn)行計(jì)數(shù)。
8. 如權(quán)利要求7所述的圖形處理設(shè)備,其中,與所述一個(gè)或多 個(gè)計(jì)數(shù)器的至少一個(gè)關(guān)聯(lián)的參數(shù)選擇電路可響應(yīng)參數(shù)選擇信號(hào)而選 擇所述計(jì)數(shù)器耦合到所述圖形處理設(shè)備中的哪個(gè)點(diǎn)以及相應(yīng)地對(duì)哪 些事件進(jìn)行計(jì)數(shù)。
9. 如權(quán)利要求8所述的圖形處理設(shè)備,其中,所述參數(shù)選擇信 號(hào)是用戶可編程的,使得用戶可選擇將要對(duì)哪些事件進(jìn)行計(jì)數(shù)。
10. 如權(quán)利要求1所述的圖形處理設(shè)備,其中,所述一個(gè)或多個(gè) 參數(shù)包括下列一個(gè)或多個(gè)所述圖形處理設(shè)備用于渲染區(qū)域的處理周期數(shù); 渲染區(qū)域時(shí)所述圖形處理設(shè)備的高速緩沖存儲(chǔ)器中的高速緩存 未命中的數(shù)量;渲染區(qū)域時(shí)與所述圖形處理設(shè)備耦合的總線上的總線事務(wù)的數(shù) 量;以及渲染區(qū)域時(shí)被識(shí)別為可能與所處理的所述區(qū)域相交的圖元的數(shù)量。
11. 如權(quán)利要求1所述的圖形處理設(shè)備,其中,在完成渲染所述 幀時(shí),所述參數(shù)存儲(chǔ)器包含與形成所述幀的所述區(qū)域的陣列對(duì)應(yīng)的參 數(shù)陣列。
12. —種為渲染表示畫面的像素值幀的圖形處理設(shè)備生成監(jiān)視 數(shù)據(jù)的方法,所述方法包括以下步驟單獨(dú)渲染所述幀的不同區(qū)域; 對(duì)于所渲染的各區(qū)域捕捉一個(gè)或多個(gè)參數(shù);以及 對(duì)于各區(qū)域單獨(dú)存儲(chǔ)所捕捉的所述一個(gè)或多個(gè)參數(shù)。
13. 用于渲染表示畫面的像素值幀的圖形處理設(shè)備,所述圖形處 理設(shè)備包括渲染部件,用于單獨(dú)渲染所述幀的不同區(qū)域;監(jiān)視部件,與所述渲染部件耦合,對(duì)于所渲染的各區(qū)域捕捉一個(gè)或多個(gè)參數(shù);以及參數(shù)存儲(chǔ)器部件,與所述監(jiān)視部件耦合,對(duì)于各區(qū)域單獨(dú)存儲(chǔ)所 述監(jiān)視部件所捕捉的所述一個(gè)或多個(gè)參數(shù)。
14. 一種分析單獨(dú)渲染表示畫面的圖像幀的不同區(qū)域的圖形處 理設(shè)備的方法,所述方法包括以下步驟讀取參數(shù)存儲(chǔ)器中存儲(chǔ)的對(duì)于所述幀的相應(yīng)區(qū)域的一個(gè)或多個(gè) 參數(shù)的陣列;以及生成具有參數(shù)表示像素值區(qū)域的參數(shù)幀,所述參數(shù)表示像素值區(qū)域具有根據(jù)所述圖像幀中的對(duì)應(yīng)區(qū)域的至少一個(gè)參數(shù)所選的至少一 個(gè)視覺(jué)特性。
15. 如權(quán)利要求14所述的方法,其中,所述畫面包括一個(gè)或多 個(gè)圖元,以及所述幀由多個(gè)的^f象素值圖塊形成。
16. 如權(quán)利要求15所述的方法,其中,響應(yīng)表征所述一個(gè)或多 個(gè)圖元的數(shù)據(jù),將所述圖像幀作為一系列所述圖塊來(lái)渲染,對(duì)每個(gè)所 述圖塊依次渲染被識(shí)別為可能與所述圖塊相交的所述一 個(gè)或多個(gè)圖 元的選擇。
17. 如權(quán)利要求14所述的方法,其中,所述一個(gè)或多個(gè)參數(shù)包 括一個(gè)或多個(gè)性能參數(shù)。
18. 如權(quán)利要求14所述的方法,其中,所述參數(shù)幀中的各區(qū)域 具有對(duì)應(yīng)的所述圖像幀中的區(qū)域。
19. 如權(quán)利要求14所述的方法,其中,所述至少一個(gè)視覺(jué)特性 包括下列一個(gè)或多個(gè)像素灰度值; 像素亮度;以及 像素顏色。
20. 如權(quán)利要求14所述的方法,其中,對(duì)于各圖像幀生成多個(gè) 參數(shù)幀,不同的參數(shù)幀具有帶有取決于不同參數(shù)的像素值的區(qū)域。
21. 如權(quán)利要求14所述的方法,其中, 一個(gè)或多個(gè)參數(shù)的所述陣列和所述圖像幀存儲(chǔ)在公共存儲(chǔ)器中。
22. 如權(quán)利要求14所述的方法,其中,所述圖形處理設(shè)備是集 成電路的組成部分,以及所述讀取和生成步驟采用與所述集成電路耦 合的通用計(jì)算機(jī)來(lái)執(zhí)行。
23. —種計(jì)算機(jī)程序存儲(chǔ)介質(zhì),存儲(chǔ)用于控制通用計(jì)算機(jī)來(lái)執(zhí)行 如權(quán)利要求14所述的方法的計(jì)算機(jī)程序。
24. —種存儲(chǔ)用于控制如權(quán)利要求1所述的圖形處理設(shè)備的驅(qū)動(dòng) 器計(jì)算機(jī)程序的計(jì)算機(jī)程序存儲(chǔ)介質(zhì),所述驅(qū)動(dòng)器計(jì)算機(jī)程序準(zhǔn)許用 戶選擇待捕捉的所述一個(gè)或多個(gè)參數(shù)。
25. 如權(quán)利要求24所述的計(jì)算機(jī)程序存儲(chǔ)介質(zhì),其中,所述驅(qū) 動(dòng)器程序準(zhǔn)許用戶選擇將要用作所述參數(shù)存儲(chǔ)器的存儲(chǔ)位置。
全文摘要
本發(fā)明涉及監(jiān)視圖形處理。圖形處理設(shè)備6提供有渲染電路24,它單獨(dú)渲染像素值幀的不同區(qū)域。與渲染電路24耦合的監(jiān)視電路30、32、34、36、38、40對(duì)于所渲染的各區(qū)域捕捉一個(gè)或多個(gè)參數(shù),并且將這些參數(shù)存儲(chǔ)到參數(shù)存儲(chǔ)器8中??蓮乃蹲胶痛鎯?chǔ)的參數(shù)生成對(duì)于性能幀中的各區(qū)域具有性能表示像素值的性能幀,其中該各區(qū)域?qū)?yīng)于圖像幀中的區(qū)域,并且具有根據(jù)所捕捉的性能參數(shù)所選的視覺(jué)特性。視覺(jué)特性可以是像素灰度值、像素亮度或像素顏色。
文檔編號(hào)G06T1/00GK101650821SQ200910161610
公開(kāi)日2010年2月17日 申請(qǐng)日期2009年7月15日 優(yōu)先權(quán)日2008年7月16日
發(fā)明者F·K·朗廷, R·彼得森 申請(qǐng)人:Arm有限公司