專利名稱:用于平板電腦和肖像顯示器的旋轉(zhuǎn)渲染和鎖定支持的制作方法
用于平板電腦和肖像顯示器的旋轉(zhuǎn)渲染和鎖定支持本申請(qǐng)是申請(qǐng)?zhí)枮?00780026261. 9 (國(guó)際申請(qǐng)?zhí)枮镻CT/US2007/072849)的中國(guó)專利申請(qǐng)的分案申請(qǐng),該中國(guó)專利申請(qǐng)的申請(qǐng)日為2007年7月5日,發(fā)明名稱為“用于平板電腦和肖像顯示器的旋轉(zhuǎn)渲染和鎖定支持”。
背景技術(shù):
一些平板顯示器和平板電腦顯示器可以在物理上進(jìn)行旋轉(zhuǎn),從而以風(fēng)景模式(landscape mode)或肖像模式(portrait mode)顯示信息。典型的顯示驅(qū)動(dòng)器通過(guò)將數(shù)據(jù)渲染到“面向風(fēng)景的”存儲(chǔ)器布局中,或者渲染到在存儲(chǔ)器中分配的“繪制表面”上以使得在該繪制表面的每一行中的像素都存儲(chǔ)在存儲(chǔ)器中同一頁(yè)面或行中,來(lái)實(shí)現(xiàn)風(fēng)景模式。這個(gè)繪制表面允許顯示引擎按行從存儲(chǔ)器讀取像素,同時(shí)僅在行之間進(jìn)行切換時(shí)才會(huì)導(dǎo)致頁(yè)面未命中。因?yàn)樵陲@示器中風(fēng)景模式是更傳統(tǒng)的,因此常規(guī)的顯示器硬件希望即使是在顯示 器在物理上是面向肖像模式的時(shí)候,也能夠接收采用符合面向風(fēng)景的繪制表面的像素行的順序而以數(shù)據(jù)流形式輸入給它的像素?cái)?shù)據(jù)。因此,如果驅(qū)動(dòng)器通過(guò)渲染到“面向肖像的”繪制表面(其將像素放置在存儲(chǔ)器的同一頁(yè)面上的每一行中)來(lái)實(shí)現(xiàn)肖像模式,則顯示引擎就會(huì)每個(gè)像素都會(huì)導(dǎo)致頁(yè)面未命中,這是因?yàn)轱@示器硬件仍希望從面向風(fēng)景的繪制表面以流形式傳送像素?cái)?shù)據(jù)。對(duì)肖像模式渲染的常見(jiàn)解決方案依賴于在存儲(chǔ)器中提供雙重繪制表面,一個(gè)面向肖像的表面用于驅(qū)動(dòng)器進(jìn)行渲染,一個(gè)旋轉(zhuǎn)的面向風(fēng)景的表面由顯示引擎進(jìn)行訪問(wèn);或者依賴于增強(qiáng)顯示引擎的線緩沖器。但產(chǎn)生雙重繪制表面使顯示緩沖的存儲(chǔ)器需求加倍,并由于用于產(chǎn)生第二個(gè)旋轉(zhuǎn)表面的復(fù)制操作而耗費(fèi)了存儲(chǔ)器帶寬??商鎿Q地,給顯示引擎路徑增加硬件線緩沖器導(dǎo)致了較大的硬件實(shí)現(xiàn)成本。
包含在該說(shuō)明書(shū)中并組成其一部分的附圖示出了符合本發(fā)明原理的一個(gè)或多個(gè)實(shí)施方式,并且附圖與本發(fā)明的說(shuō)明一起解釋這些實(shí)施方式。不應(yīng)將附圖看作是將本發(fā)明限制為在此所示的具體實(shí)施方式
,附圖也不必是按比例繪制的,也不應(yīng)將附圖認(rèn)為是窮舉性的,而是應(yīng)該將重點(diǎn)放在圖示出本發(fā)明的原理。在附圖中,圖I是示出根據(jù)本發(fā)明一些實(shí)施方式的系統(tǒng)的框圖;圖2是示出根據(jù)本發(fā)明一些實(shí)施方式的系統(tǒng)的框圖;圖3-5是示出根據(jù)本發(fā)明一些實(shí)施方式的過(guò)程的流程圖;及圖6是示出根據(jù)本發(fā)明一些實(shí)施方式的代表性繪制表面結(jié)構(gòu)的框圖。
具體實(shí)施例方式以下說(shuō)明參考附圖。在不同附圖中,相同的參考數(shù)字標(biāo)記用于標(biāo)識(shí)相同或相似的元件。盡管以下說(shuō)明通過(guò)闡述具體細(xì)節(jié),例如具體結(jié)構(gòu)、架構(gòu)、接口、技術(shù)等,提供了所聲明的本發(fā)明的不同方面的全面理解,但此類細(xì)節(jié)是為了解釋的目的而提供的,不應(yīng)視為限制性的。而且,按照本公開(kāi)內(nèi)容,本領(lǐng)域技術(shù)人員會(huì)意識(shí)到可以在脫離這些具體細(xì)節(jié)的其它實(shí)例或?qū)嵤┓绞街袑?shí)現(xiàn)所聲明的本發(fā)明的各種方面。在以下的公開(kāi)內(nèi)容中的某些時(shí)機(jī),省略了對(duì)公知的裝置、電路和方法的說(shuō)明,以避免由于不必要的細(xì)節(jié)而使本發(fā)明的說(shuō)明不清楚。圖I示出了根據(jù)本發(fā)明一些實(shí)施方式的實(shí)例系統(tǒng)100。系統(tǒng)100包括一個(gè)或多個(gè)處理器內(nèi)核102,其耦合到圖形/存儲(chǔ)器控制器104,除了存儲(chǔ)器106(例如,動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM),諸如閃速存儲(chǔ)器之類的非易失性存儲(chǔ)器)之外,顯示控制器108和顯示器109以及輸入/輸出(I/O)控制器110都耦合到控制器104。系統(tǒng)100還包括無(wú)線發(fā)射機(jī)電路和無(wú)線接收機(jī)電路112,其耦合到I/O控制器110,并且天線114 (例如,偶極天線、窄帶曲折線天線(MLA)、寬帶MLA、倒“F”型天線、平面倒“F”型天線、Goubau天線、貼片天線(Patch antenna)等)稱合到電路112。系統(tǒng)100可以是適于處理圖形數(shù)據(jù)并以適合進(jìn)行顯示的形式提供該數(shù)據(jù)的任何系統(tǒng)。而且,系統(tǒng)100可以采取多種物理實(shí)施方式。例如,系統(tǒng)100可以在個(gè)人計(jì)算機(jī)(PC)、 聯(lián)網(wǎng)的PC、服務(wù)器計(jì)算系統(tǒng)、手持計(jì)算平臺(tái)(例如個(gè)人數(shù)字助理(PDA))、游戲系統(tǒng)(便攜式的或其它形式的)、3D蜂窩電話機(jī)等中實(shí)現(xiàn)。而且,盡管可以在單個(gè)裝置中實(shí)現(xiàn)系統(tǒng)100的所有組件,例如芯片上系統(tǒng)(SOC)集成電路(1C),但系統(tǒng)100的組件也可以分布在多個(gè)IC或裝置中。例如,可以部分地將處理器內(nèi)核102、控制器104/110、存儲(chǔ)器106、電路112和天線114實(shí)現(xiàn)為包含在單個(gè)計(jì)算平臺(tái)中的多個(gè)1C,所述計(jì)算平臺(tái)要指定幾個(gè)示例則例如為個(gè)人計(jì)算機(jī)(PC)或機(jī)頂盒(STB),而可以在分離的裝置中實(shí)現(xiàn)顯示控制器108,例如在耦合到圖形/存儲(chǔ)器控制器104的顯示器109中實(shí)現(xiàn)。明確地,許多此類配置也可以與在此所述的系統(tǒng)100的功能相符。處理器內(nèi)核102可以包括專用處理器內(nèi)核或通用處理器內(nèi)核,其包括能夠?yàn)閳D形/存儲(chǔ)器控制器104提供圖形數(shù)據(jù)和/或指令的任何控制和/或處理邏輯、硬件、軟件和/或固件。在系統(tǒng)100上執(zhí)行的軟件驅(qū)動(dòng)器可以使用處理器內(nèi)核102來(lái)執(zhí)行多種圖形計(jì)算或處理,例如渲染圖像數(shù)據(jù)等,其結(jié)果可以提供給圖形/存儲(chǔ)器控制器104,和/或可以存儲(chǔ)在存儲(chǔ)器106中以便由顯示控制器108的最終使用。處理器內(nèi)核102還能夠執(zhí)行多個(gè)任務(wù)中的任何一個(gè),這些任務(wù)支持用于平板電腦和肖像顯示器的旋轉(zhuǎn)渲染和鎖定支持。例如,這些任務(wù)可以包括將圖形或圖像數(shù)據(jù)提供給控制器104/108、將微代碼下載到控制器104/108、初始化和/或配置在控制器104/108內(nèi)的寄存器、中斷服務(wù)等,盡管本發(fā)明在這點(diǎn)上并不受到限制。雖然可以將圖I理解為將處理器內(nèi)核102和控制器104/108顯示為不同的裝置,但是本發(fā)明在這點(diǎn)上并不受到限制,本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,可以在單一 IC中實(shí)現(xiàn)處理器內(nèi)核102、控制器104/108中的一個(gè)或二者、以及系統(tǒng)100的其它可能組件。圖形/存儲(chǔ)器控制器104可以包括能夠處理或控制圖形或圖像數(shù)據(jù)的操作以及能夠控制該數(shù)據(jù)在存儲(chǔ)器106中的存儲(chǔ)的任何處理邏輯、硬件、軟件和/或固件。在一個(gè)實(shí)施方式中,可以在芯片組IC中實(shí)現(xiàn)控制器104,盡管本發(fā)明在這點(diǎn)上并不受到限制??刂破?04可以處理由處理器內(nèi)核102所提供的、保存或存儲(chǔ)在存儲(chǔ)器106中的圖形或圖像數(shù)據(jù),并可以將該數(shù)據(jù)提供給顯示控制器108。圖形處理器104還可以接收與存儲(chǔ)器106中的一個(gè)或多個(gè)物理繪制表面相關(guān)的圖形或圖像數(shù)據(jù),并可以將該數(shù)據(jù)以適合于由顯示控制器108訪問(wèn)的格式或布局存儲(chǔ)在存儲(chǔ)器106中。另外,根據(jù)本發(fā)明的一些實(shí)施方式,控制器104可以執(zhí)行一個(gè)方案,該方案用于當(dāng)已經(jīng)采用以下會(huì)詳述的方式將圖形或圖像數(shù)據(jù)渲染到肖像模式邏輯繪制表面上時(shí),通過(guò)重定向該圖形或圖像數(shù)據(jù)來(lái)將該數(shù)據(jù)放置在存儲(chǔ)器106中。顯示控制器108可以包括能夠?qū)⒂蓤D形/存儲(chǔ)器控制器104提供的圖形或圖像數(shù)據(jù)轉(zhuǎn)換為適于驅(qū)動(dòng)顯示器109的格式(即專用于顯示的數(shù)據(jù))的任何處理邏輯、硬件、軟件和/或固件。例如,盡管本發(fā)明在這點(diǎn)上并不受到限制,控制器104可以從存儲(chǔ)器106獲取圖形或圖像數(shù)據(jù),并將該數(shù)據(jù)以特定顏色格式提供給控制器108,該特定顏色格式例如是壓縮的紅-綠-藍(lán)(RGB)像素格式,并且控制器108可以例如通過(guò)產(chǎn)生相應(yīng)的液晶顯示器(IXD)驅(qū)動(dòng)數(shù)據(jù)級(jí)等等來(lái)處理該RGB數(shù)據(jù)。盡管圖I將控制器104和108顯示為不同的組件,但是本發(fā)明在這點(diǎn)上并不受到限制,本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,例如如果不是顯示控制器108的全部功能可以由控制器104來(lái)執(zhí)行,則顯示控制器108的一些功能可以由控制器104來(lái)執(zhí)行,或者反之亦然。顯示器109可以是能夠以風(fēng)景模式或肖像模式顯示信息的任何類型的顯示器。顯示器109要指定幾個(gè)示例則例如可以是IXD、或者場(chǎng)致發(fā)光(EL)顯示 器,其能夠以物理方式進(jìn)行旋轉(zhuǎn)以便以風(fēng)景模式或肖像模式顯示圖形或圖像數(shù)據(jù)。圖2示出了根據(jù)本發(fā)明的一些實(shí)施方式的系統(tǒng)200。系統(tǒng)200包括顯示驅(qū)動(dòng)器202,用于將圖像數(shù)據(jù)渲染到邏輯繪制表面203上。驅(qū)動(dòng)器202可以稱為用于渲染像素?cái)?shù)據(jù)的邏輯。系統(tǒng)200還包括導(dǎo)引(steering)模塊204,用于將圖像數(shù)據(jù)導(dǎo)引或?qū)懭氲轿锢砝L制表面205上,物理繪制表面205包括在存儲(chǔ)器206中的多個(gè)存儲(chǔ)單元。導(dǎo)引模塊204可以稱為用于映射像素?cái)?shù)據(jù)的邏輯。根據(jù)本發(fā)明的一些實(shí)施方式以及按照以下的詳細(xì)解釋,當(dāng)驅(qū)動(dòng)器202將圖像數(shù)據(jù)寫(xiě)入到邏輯表面203上或從邏輯表面203讀出圖像數(shù)據(jù)(其中,以肖像模式在表面203中組織該數(shù)據(jù))時(shí),導(dǎo)引模塊204可以將該圖像數(shù)據(jù)映射或?qū)蚧蛑匦聦?dǎo)向或以低級(jí)存儲(chǔ)器導(dǎo)引方式導(dǎo)引到物理表面205上,從而使得保存在表面205中的數(shù)據(jù)適于由顯示引擎訪問(wèn),顯示引擎將會(huì)以風(fēng)景模式來(lái)組織由表面205所保存的圖像數(shù)據(jù)。在一些實(shí)施方式中,導(dǎo)引模塊204可以包括進(jìn)行低級(jí)存儲(chǔ)器導(dǎo)引的芯片組頁(yè)面表,盡管本發(fā)明在這點(diǎn)上并不受到限制。如本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到的,盡管本發(fā)明在這點(diǎn)上并不受到限制,驅(qū)動(dòng)器202可以包括一個(gè)或多個(gè)軟件算法,這些軟件算法可以在一個(gè)或多個(gè)處理器內(nèi)核上執(zhí)行,例如圖I的一個(gè)或多個(gè)處理器內(nèi)核102。另外,盡管本發(fā)明在這點(diǎn)上并不受到限制,可以在與一個(gè)或多個(gè)處理器內(nèi)核102或控制器104相關(guān)的硬件寄存器中實(shí)現(xiàn)邏輯表面203。此外,系統(tǒng)200的多個(gè)部分可以與圖I的系統(tǒng)100的多個(gè)部分相似。例如,存儲(chǔ)器206可以是存儲(chǔ)器106。而且,本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,物理表面205可以包括顯示緩沖器,該顯示緩沖器包括存儲(chǔ)器206的存儲(chǔ)單元或地址的一個(gè)或多個(gè)連續(xù)塊。圖3-5是示出用于根據(jù)本發(fā)明的一些實(shí)施方式實(shí)現(xiàn)平板電腦和肖像顯示器的旋轉(zhuǎn)渲染和鎖定支持的各個(gè)處理過(guò)程300-500的流程圖。盡管為了易于解釋,可以針對(duì)圖I的系統(tǒng)100和/或圖2的系統(tǒng)200來(lái)說(shuō)明處理過(guò)程300-500,但本發(fā)明在這點(diǎn)上并不受到限制,根據(jù)所聲明的本發(fā)明,由適當(dāng)裝置支持的其它處理器或方案也是可能的。參考圖3,處理過(guò)程300可以開(kāi)始于產(chǎn)生用于渲染的圖像數(shù)據(jù)[動(dòng)作302]。在一些實(shí)施方式中,在系統(tǒng)100/200上執(zhí)行的顯示驅(qū)動(dòng)器202可以以包括像素的行和列的像素?cái)?shù)據(jù)形式產(chǎn)生圖像數(shù)據(jù)。例如,盡管本發(fā)明在這點(diǎn)上并不受到限制,動(dòng)作302可以包括與驅(qū)動(dòng)器202相關(guān)的軟件應(yīng)用程序,其進(jìn)行3D圖形操作,例如像素著色(shading),以產(chǎn)生包括多個(gè)像素的圖像。處理過(guò)程300隨后可以繼續(xù)進(jìn)行到確定是否以肖像模式渲染圖像數(shù)據(jù)[動(dòng)作304]。完成它的一個(gè)方式是使在動(dòng)作302中產(chǎn)生圖像數(shù)據(jù)的驅(qū)動(dòng)器進(jìn)行動(dòng)作304的確定,例如基于終端用戶指定的顯示模式進(jìn)行該確定。如果動(dòng)作304的結(jié)果是否定的,就是說(shuō),如果要以風(fēng)景模式渲染圖像數(shù)據(jù),而不是以肖像模式,那么處理過(guò)程300就可以繼續(xù)進(jìn)行到將圖像數(shù)據(jù)渲染到風(fēng)景模式邏輯表面上[動(dòng)作306]。進(jìn)行動(dòng)作306的一個(gè)方式是使驅(qū)動(dòng)器202將像素?cái)?shù)據(jù)(即像素)渲染到邏輯表面203上,其中以風(fēng)景模式、定向或方位在表面203中組織該像素?cái)?shù)據(jù)。以下會(huì)更詳細(xì)地解釋在風(fēng)景模式邏輯表面與肖像模式邏輯表面之間的不同。處理過(guò)程300隨后進(jìn)行到將圖像數(shù)據(jù)寫(xiě)入到物理表面上[動(dòng)作308]。在一些實(shí)施方式中,動(dòng)作308可以由進(jìn)行動(dòng)作302-306的同一驅(qū)動(dòng)器來(lái)進(jìn)行。如本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到的,驅(qū)動(dòng)器(例如驅(qū)動(dòng)器202)可以通過(guò)以塊的方式寫(xiě)入圖像數(shù)據(jù)的像素來(lái)進(jìn)行動(dòng)作 308,其中,驅(qū)動(dòng)器202使用模塊204來(lái)將像素?cái)?shù)據(jù)導(dǎo)引或指引到存儲(chǔ)器206中的物理表面205上,在此以風(fēng)景模式、定向或方位在表面205中組織像素?cái)?shù)據(jù)。然而,本發(fā)明在這點(diǎn)上并不受到限制,驅(qū)動(dòng)器可以通過(guò)一次一個(gè)像素地將圖像數(shù)據(jù)的像素寫(xiě)入到表面205上來(lái)進(jìn)行動(dòng)作308。為了解釋處理過(guò)程300和/或相關(guān)處理過(guò)程而提供了圖6,其示出了代表性的風(fēng)景模式邏輯表面602和代表性的肖像模式邏輯表面620。例如,邏輯表面602和620可以表不圖2的邏輯表面203的不同實(shí)施方式。此外,圖6不出了代表性的物理表面609和627,其中,根據(jù)本發(fā)明的一些實(shí)施方式,如以下會(huì)更詳細(xì)解釋的,可以將物理表面627認(rèn)為是相對(duì)于物理表面609旋轉(zhuǎn)的物理表面。例如,物理表面609和627可以表不圖2的物理表面205的不同實(shí)施方式。盡管圖6意圖幫助論述處理過(guò)程300-500,但無(wú)論如何在此所示的具體元件和布置都不應(yīng)解釋為限制所聲明的本發(fā)明。圖6示出了例如由驅(qū)動(dòng)器202以“8X6”或風(fēng)景模式組織的邏輯表面602,其包括8列和6行603-608像素值(00,01,02等),圖6還示出了以“6X8”或肖像模式組織的邏輯表面620,其包括6列621-626和8行像素值,如圖所示。然而,本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)至IJ,本發(fā)明不限于圖像數(shù)據(jù)或像素或像素值的列和行的具體數(shù)量,因此,在此針對(duì)處理過(guò)程300和/或相關(guān)處理過(guò)程所述的相同技術(shù)可以應(yīng)用于普通大小的風(fēng)景或肖像模式,其中,例如在1024X768的風(fēng)景模式邏輯表面中或在768X1024的肖像模式邏輯表面中組織圖像數(shù)據(jù)。此外,本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,如在此所用的術(shù)語(yǔ)“圖像數(shù)據(jù)”、“像素?cái)?shù)據(jù)”、“像素值”或“數(shù)據(jù)值”可以互換地使用,而不會(huì)脫離本發(fā)明的范圍。為了幫助說(shuō)明本發(fā)明的一些實(shí)施方式,繪制表面的邏輯表示可以不同于該表面的物理表示。因此,可以將繪制表面的邏輯圖像(即邏輯表面,例如表面602或620的任意一個(gè))定義為如由用于在該表面上進(jìn)行繪制或渲染的應(yīng)用程序或驅(qū)動(dòng)器所見(jiàn)到那樣的表面的視圖。例如,風(fēng)景模式邏輯表面602可以表示這樣的繪制表面的邏輯圖像即在該繪制表面中,將像素00、01、02連續(xù)地布置在存儲(chǔ)器中,在此物理表面609可以表示該表面在存儲(chǔ)器中的物理視圖。由于物理表面609是面向風(fēng)景的表面,因此由表面602提供的邏輯視圖和由表面609提供的物理視圖是相似的。然而,通過(guò)對(duì)比,盡管由邏輯表面620提供的邏輯視圖暗示了像素00,01和02都以行的方式連續(xù)地存儲(chǔ)在存儲(chǔ)器中,且像素05、15和25非連續(xù)地存儲(chǔ)在存儲(chǔ)器中,但是由這些像素的重新定向而產(chǎn)生的物理表面627顯示出實(shí)際中像素00、01和02是非連續(xù)地存儲(chǔ)在存儲(chǔ)器中的。因此,盡管由表面620提供的邏輯視圖在驅(qū)動(dòng)器在該表面上繪制或渲染時(shí)會(huì)是有用的,但是在已經(jīng)將圖像數(shù)據(jù)處理到該邏輯表面上之后,導(dǎo)引模塊204可以重新組織或重新定向該數(shù)據(jù),從而能夠?qū)⑾袼?5、15和25都連續(xù)地存儲(chǔ)在存儲(chǔ)器中,而在邏輯表面620中被連續(xù)地組織的像素00、01和02不再連續(xù)地存儲(chǔ)在存儲(chǔ)器中。在此意義上,可以將表面627描述為相對(duì)于物理表面609旋轉(zhuǎn)的物理表面。如圖6所示,物理繪制表面609和627包括6行存儲(chǔ)單元610-615,在此這些行例如可以包括存儲(chǔ)器106或存儲(chǔ)器206的存儲(chǔ)器頁(yè)面。然而,通常本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,一個(gè)存儲(chǔ)器頁(yè)面就可以完全容納物理表面609和627,但為了更明確地說(shuō)明本發(fā)明,可以將表面609和627的每一行610-615認(rèn)為是屬于不同的存儲(chǔ)器頁(yè)面。此外,本領(lǐng)域技術(shù)人員·會(huì)認(rèn)識(shí)到,可以訪問(wèn)或讀出保存或存儲(chǔ)在一行存儲(chǔ)單元(例如行610-615之一)中的數(shù)據(jù),例如像素?cái)?shù)據(jù),以使得在訪問(wèn)同一行中的像素(例如表面609的行610中的像素00-07)時(shí)不引起頁(yè)面未命中。通過(guò)對(duì)比,本領(lǐng)域技術(shù)人員還會(huì)認(rèn)識(shí)到,在訪問(wèn)或讀出存儲(chǔ)在行610-615之一中的第一像素或數(shù)據(jù)值與訪問(wèn)或讀出存儲(chǔ)在行610-615中另一行中的第二像素或數(shù)據(jù)值之間的切換導(dǎo)致了頁(yè)面未命中,從而增加了訪問(wèn)或讀出該第二像素或數(shù)據(jù)值所需的時(shí)間。本領(lǐng)域技術(shù)人員還會(huì)認(rèn)識(shí)到,在邏輯表面602中進(jìn)行組織并被渲染或?qū)懭氲轿锢肀砻?09上的數(shù)據(jù)可以由控制器104/108或顯示器109中的硬件來(lái)掃描輸出或以流方式傳送,從而可以在順序地訪問(wèn)或以流方式傳送行610中的像素時(shí),可以在不引起頁(yè)面未命中的情況下,將保存在表面609的行610中的像素00-07提供給顯示器109。類似地,可以以類似方式順序地訪問(wèn)或以流方式將保存在每一行611-615中的像素傳送到顯示器109,從而可以在其處理過(guò)程中不引起頁(yè)面未命中。根據(jù)本發(fā)明的一些實(shí)施方式,導(dǎo)引模塊204可以進(jìn)行操作,以便將對(duì)邏輯表面620的像素?cái)?shù)據(jù)寫(xiě)入重新定向或?qū)б轿锢肀砻?27,從而可以在對(duì)該像素?cái)?shù)據(jù)進(jìn)行順序地訪問(wèn)或以流方式將該像素?cái)?shù)據(jù)從物理表面627傳送到顯示器109時(shí),對(duì)于在任一列621-626中相鄰地組織或位置相鄰的任何像素值,成流(streaming)硬件都不會(huì)引起頁(yè)面未命中,這是因?yàn)樵谌我涣?21-626中的這些像素值被放置或保存在表面627的存儲(chǔ)單元的行610-615之中相應(yīng)的一行中。同時(shí)參考圖3和6,動(dòng)作306可以包括驅(qū)動(dòng)器202將像素?cái)?shù)據(jù)渲染到邏輯表面602 ;隨后動(dòng)作308可以包括驅(qū)動(dòng)器202通過(guò)使用導(dǎo)引模塊204對(duì)在邏輯表面602中組織的像素?cái)?shù)據(jù)進(jìn)行導(dǎo)引或指引或映射,來(lái)將該像素?cái)?shù)據(jù)寫(xiě)入到在存儲(chǔ)器中實(shí)現(xiàn)的面向風(fēng)景的物理表面609上,從而使邏輯表面602的每一行603-608的像素占用如圖6所不的物理表面609的行610-615中的相同一行。換句話說(shuō),當(dāng)例如在四個(gè)像素塊中進(jìn)行渲染時(shí),驅(qū)動(dòng)器202可以通過(guò)使用導(dǎo)引模塊204將行603中的像素00和01及行604中的像素10和11寫(xiě)入到表面609上以便在行610中保存像素00和01及在行611中保存像素10和11,來(lái)進(jìn)行動(dòng)作308。驅(qū)動(dòng)器202隨后可以通過(guò)使用導(dǎo)引模塊204將行603中的像素02和03及行604中的像素12和13寫(xiě)入到表面609上以便在行610中相鄰于像素00和01保存像素02和03及在行611中相鄰于像素10和11保存像素12和13,來(lái)繼續(xù)進(jìn)行動(dòng)作308。通過(guò)以這個(gè)方式繼續(xù)進(jìn)行,驅(qū)動(dòng)器202和導(dǎo)引模塊204可以進(jìn)行動(dòng)作308,直到在邏輯表面602中的全部像素?cái)?shù)據(jù)都已完全寫(xiě)入到或渲染到物理表面609上為止。如果動(dòng)作304的結(jié)果是肯定的,就是說(shuō)如果要以肖像模式渲染數(shù)據(jù),而不是以風(fēng)景模式,那么處理過(guò)程300就可以繼續(xù)進(jìn)行到將圖像數(shù)據(jù)渲染到肖像模式邏輯表面上[動(dòng)作310],隨后是圖像數(shù)據(jù)的重新定向[動(dòng)作312]和將圖像數(shù)據(jù)寫(xiě)入到旋轉(zhuǎn)的物理表面上[動(dòng)作314]。根據(jù)本發(fā)明的一些實(shí)施方式,可以通過(guò)驅(qū)動(dòng)器202將圖像數(shù)據(jù)渲染到肖像模式邏輯表面620來(lái)進(jìn)行該動(dòng)作310,同時(shí)可以通過(guò)使驅(qū)動(dòng)器202使用導(dǎo)引模塊204將表面620的圖像數(shù)據(jù)或像素寫(xiě)入到物理繪制表面627上以便肖像模式邏輯繪制表面620的每一列621-626的像素都占用旋轉(zhuǎn)的物理表面627的行610-615中相應(yīng)的同一行(如圖6所不),來(lái)進(jìn)行動(dòng)作312和314。換句話說(shuō),驅(qū)動(dòng)器202可以通過(guò)使用導(dǎo)引模塊204將列621的像素00和10及列 622的像素01和11寫(xiě)入到表面627上以便在表面627的行615中保存像素00和10及在表面627的行614中保存像素01和11,來(lái)進(jìn)行動(dòng)作312和314。驅(qū)動(dòng)器202隨后可以通過(guò)使用導(dǎo)引模塊204將列623的像素02和12及列624的像素03和13寫(xiě)入到表面627上以便像素02和12占用表面627的行613及像素03和13占用表面627的行612,來(lái)繼續(xù)進(jìn)行動(dòng)作312和314。通過(guò)以這個(gè)方式繼續(xù)進(jìn)行,驅(qū)動(dòng)器202和導(dǎo)引模塊204可以進(jìn)行動(dòng)作312和314,直到在邏輯表面620中的全部數(shù)據(jù)都已完全寫(xiě)入到或渲染到旋轉(zhuǎn)的物理表面627上為止。本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,對(duì)物理表面627的渲染請(qǐng)求不必是對(duì)于寫(xiě)入完整表面的請(qǐng)求,而是可以是對(duì)于寫(xiě)入到單個(gè)像素的隨機(jī)請(qǐng)求,并且在邏輯表面620中的每一個(gè)如此渲染的像素都可以在動(dòng)作312和314中被導(dǎo)引或重新引導(dǎo)到物理表面627中的位置上。圖4示出了用于提供對(duì)繪制表面的直接訪問(wèn)的方案400。處理過(guò)程400可以開(kāi)始于確定是否請(qǐng)求了對(duì)肖像模式繪制表面的直接訪問(wèn)[動(dòng)作401]。當(dāng)在系統(tǒng)100/200上執(zhí)行的軟件應(yīng)用程序或操作系統(tǒng)(OS)請(qǐng)求直接訪問(wèn)(即尋求“鎖定”)繪制表面(例如邏輯表面602和620中任意一個(gè))的邏輯表示時(shí),就會(huì)發(fā)生動(dòng)作401。如果應(yīng)用程序或OS請(qǐng)求對(duì)風(fēng)景模式邏輯表面的直接訪問(wèn),則可以將對(duì)該邏輯表面的像素的每一次讀出或?qū)懭攵贾苯訉?dǎo)引或映射到物理表面的相應(yīng)像素,這是因?yàn)橄鄳?yīng)物理表面的像素與邏輯表面中的像素的布局相匹配。例如,如圖6所示,風(fēng)景模式邏輯表面602的像素和物理表面609的像素具有匹配的布局樣式。因此,例如直接訪問(wèn)風(fēng)景模式邏輯表面(例如表面620)并使用指向某個(gè)具體像素(例如像素21)的指針的應(yīng)用程序或OS在該應(yīng)用程序或OS遞增該指針以產(chǎn)生下一個(gè)邏輯像素(像素22)的地址時(shí)將會(huì)訪問(wèn)像素22,因?yàn)樵谙鄳?yīng)物理表面609中以行方式相鄰于像素21的下一個(gè)像素是像素22。通過(guò)對(duì)比,如果應(yīng)用程序或OS請(qǐng)求對(duì)肖像模式邏輯表面進(jìn)行直接訪問(wèn),則對(duì)該邏輯表面的像素的每一次讀出或?qū)懭攵紩?huì)需要重新定向到物理表面的相應(yīng)像素,這是因?yàn)橄鄳?yīng)物理表面的像素具有相對(duì)于邏輯表面中的像素布局的旋轉(zhuǎn)的布局。例如,如圖6所示,肖像模式邏輯表面620的像素和物理表面627的像素不具有匹配的布局樣式。因此,在不得益于本發(fā)明的一些實(shí)施方式的情況下,直接訪問(wèn)肖像模式邏輯表面(例如表面620)并使用指向某個(gè)具體像素(例如像素21)的指針的應(yīng)用程序在該應(yīng)用程序或OS遞增該指針以產(chǎn)生下一個(gè)邏輯像素(像素22)的地址時(shí),實(shí)際上會(huì)訪問(wèn)到并非是像素22的一個(gè)像素,這是因?yàn)樵谛D(zhuǎn)的物理表面627中以行方式相鄰于像素21的下一個(gè)像素是像素31,而不是像素22。如果動(dòng)作401的結(jié)果是否定的,就是說(shuō),如果應(yīng)用程序或OS不尋求對(duì)肖像模式邏輯表面的直接訪問(wèn),那么處理過(guò)程400可以結(jié)束。另一方面,如果動(dòng)作401的結(jié)果是肯定的,就是說(shuō),如果應(yīng)用程序或OS尋求對(duì)肖像模式邏輯表面的直接訪問(wèn),那么處理過(guò)程400可以繼續(xù)進(jìn)行到將圖像數(shù)據(jù)從旋轉(zhuǎn)的物理表面復(fù)制到肖像模式邏輯表面[動(dòng)作402]。完成它的一個(gè)方式是使控制器104使用導(dǎo)引模塊204將像素?cái)?shù)據(jù)從旋轉(zhuǎn)的物理表面627復(fù)制到肖像模式邏輯表面620。就是說(shuō),參考圖6,可以將與表面627的行610的第一像素(像素05)相對(duì)應(yīng)的數(shù)據(jù)復(fù)制到表面620的列626的第一像素位置(即最上面的像素05),同時(shí)可以將與表面627的行610的第二像素(像素15)相對(duì)應(yīng)的數(shù)據(jù)復(fù)制到列626的第二像素位置(即最上面的像素15),依此類推直到將表面627的所有數(shù)據(jù)都復(fù)制到表面620上為止。然而,本發(fā)明不局限于用于在動(dòng)作402中將圖像數(shù)據(jù)從旋轉(zhuǎn)的物理表面復(fù)制到肖像模式邏輯表面上的任何具體方法或方案。另外,本發(fā)明不局限于鎖定整個(gè)邏輯表面。因此,例如應(yīng)用程序在動(dòng)作401中會(huì)僅對(duì)全部表面的一部分矩形區(qū)域請(qǐng)求鎖定,在此情況下,在動(dòng)作402中僅復(fù)制相關(guān)部分的表面數(shù)據(jù)。 處理過(guò)程400隨后可以繼續(xù)進(jìn)行到允許應(yīng)用程序或OS訪問(wèn)或鎖定肖像模式邏輯表面[動(dòng)作404]。因此,例如,一旦控制器104已經(jīng)在動(dòng)作402中從表面627將像素?cái)?shù)據(jù)復(fù)制到表面620上,就可以允許在動(dòng)作401中請(qǐng)求直接訪問(wèn)的應(yīng)用程序或OS訪問(wèn)和/或鎖定肖像模式邏輯表面620,以便應(yīng)用程序或OS可以從該邏輯表面讀出像素?cái)?shù)據(jù)和/或向該邏輯表面寫(xiě)入像素?cái)?shù)據(jù)。處理過(guò)程400隨后可以結(jié)束于將圖像數(shù)據(jù)從肖像模式邏輯表面復(fù)制到旋轉(zhuǎn)的物理表面上[動(dòng)作406]。因此,例如,一旦在動(dòng)作404中允許應(yīng)用程序或OS訪問(wèn)和/或鎖定肖像模式邏輯表面620以便應(yīng)用程序或OS可以從該邏輯表面讀出像素?cái)?shù)據(jù)和/或向該邏輯表面寫(xiě)入像素?cái)?shù)據(jù),控制器104就可以在動(dòng)作406中將表面620的像素?cái)?shù)據(jù)復(fù)制回旋轉(zhuǎn)的物理表面627。就是說(shuō),動(dòng)作406可以包括將與表面620的列626的第一像素位置(即最上面的像素05)相對(duì)應(yīng)的數(shù)據(jù)復(fù)制到表面627的行610的第一像素(像素05),隨后將與列626的第二像素位置(即最上面的像素15)相對(duì)應(yīng)的數(shù)據(jù)復(fù)制到表面627的行610的第二像素(像素15),以此類推,直到表面627的全部數(shù)據(jù)都復(fù)制到表面620上為止。圖5示出了用于提供對(duì)肖像模式繪制表面的直接訪問(wèn)的另一個(gè)方案500。處理過(guò)程500可以開(kāi)始于確定是否已經(jīng)請(qǐng)求了對(duì)肖像模式繪制表面的直接訪問(wèn)[動(dòng)作501]。動(dòng)作501類似于上述的動(dòng)作401。如果應(yīng)用程序或OS已經(jīng)請(qǐng)求訪問(wèn)肖像模式繪制表面,那么處理過(guò)程500可以繼續(xù)進(jìn)行到在存儲(chǔ)器中產(chǎn)生防護(hù)區(qū)域(fence region)[動(dòng)作502]。在本發(fā)明的一些實(shí)施方式中,這可以例如通過(guò)使控制器104在存儲(chǔ)器(例如存儲(chǔ)器106)中產(chǎn)生防護(hù)區(qū)域來(lái)完成,在此,該防護(hù)區(qū)域至少包含物理繪制表面627的多個(gè)部分。如本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到的,存儲(chǔ)器防護(hù)區(qū)域定義了用于訪問(wèn)存儲(chǔ)器的區(qū)域的特定屬性或規(guī)則。在本發(fā)明的一些實(shí)施方式中,在動(dòng)作502中建立防護(hù)區(qū)域可以包括使用邏輯來(lái)接收訪問(wèn)請(qǐng)求,并且重新映射或重新定向該請(qǐng)求,以便即使在相應(yīng)的旋轉(zhuǎn)的物理表面的布局與該邏輯表面的布局不匹配的情況下,根據(jù)肖像模式邏輯表面的布局,請(qǐng)求直接訪問(wèn)的應(yīng)用程序或OS仍可以訪問(wèn)其希望訪問(wèn)的像素。例如,動(dòng)作502可以包括使用與控制器104的導(dǎo)引模塊204相關(guān)的邏輯來(lái)識(shí)別是否針對(duì)肖像模式邏輯表面620的任何部分做出了訪問(wèn)請(qǐng)求(例如以肖像模式邏輯表面620為目標(biāo)的像素地址/數(shù)據(jù)對(duì)),如果是,則該邏輯應(yīng)該改變或重新定向或重新映射該訪問(wèn)請(qǐng)求,從而使得該訪問(wèn)請(qǐng)求會(huì)正確地訪問(wèn)該表面。處理過(guò)程500隨后可以結(jié)束于允許應(yīng)用程序或OS鎖定肖像模式邏輯表面[動(dòng)作504]。執(zhí)行動(dòng)作504的一個(gè)方式是使用導(dǎo)引模塊204中的邏輯來(lái)將指定肖像模式邏輯表面中像素位置的訪問(wèn)請(qǐng)求重新映射到旋轉(zhuǎn)的物理表面中的相應(yīng)像素?cái)?shù)據(jù)上。因此,例如,如果應(yīng)用程序或OS發(fā)出對(duì)表面620中像素05的寫(xiě)入請(qǐng)求(即,在此,該請(qǐng)求指定表面620中像素05的邏輯地址),則控制器104可以使用在導(dǎo)引模塊204中的邏輯改變或重新定向該寫(xiě)入請(qǐng)求的地址,從而使應(yīng)用程序或OS訪問(wèn)正確的像素?cái)?shù)據(jù)。例如,如果應(yīng)用程序或OS將指針從邏輯表面620中的像素21遞增到該表面中的像素22,并發(fā)出以像素22為目標(biāo)的寫(xiě)入請(qǐng)求,那么如果導(dǎo)引模塊204沒(méi)有改變或重新定向在寫(xiě)入請(qǐng)求中包含的像素22的地址,則該寫(xiě)入請(qǐng)求實(shí)際上會(huì)訪問(wèn)物理表面627的像素31,而不是所希望的像素22。另一方面,如果導(dǎo)引模塊204根據(jù)動(dòng)作502和504而改變或重新定向了在該寫(xiě)入請(qǐng)求中包含的像素22的地址,則該寫(xiě)入請(qǐng)求就會(huì)訪問(wèn)所希望的像素22。 在圖3-5中所示的各個(gè)動(dòng)作不必以所示的順序來(lái)執(zhí)行;也不必執(zhí)行全部的動(dòng)作。此外,那些不依賴于其它動(dòng)作的動(dòng)作可以與所述其它動(dòng)作并行地執(zhí)行。例如,可以并行地進(jìn)行動(dòng)作302和304。換句話說(shuō),產(chǎn)生用于渲染的圖像數(shù)據(jù)的動(dòng)作[動(dòng)作302]可以包括確定是否以肖像模式渲染該數(shù)據(jù)[動(dòng)作304]??商鎿Q地,可以在動(dòng)作302之前進(jìn)行動(dòng)作304。換句話說(shuō),確定是否以肖像模式渲染圖像數(shù)據(jù)的動(dòng)作[動(dòng)作304]可以在產(chǎn)生該用于渲染的數(shù)據(jù)[動(dòng)作302]之前發(fā)生。此外,在該圖中的至少一些動(dòng)作可以實(shí)現(xiàn)為指令或指令組,所述指令或指令組在機(jī)器可讀介質(zhì)中實(shí)現(xiàn)。根據(jù)本發(fā)明的一些實(shí)施方式,可以在硬件寄存器中產(chǎn)生邏輯繪制表面,而無(wú)需注意顯示器可訪問(wèn)的物理繪制表面的存儲(chǔ)器布局。因此,符合肖像模式或“6X8”表面的邏輯繪制表面的像素的產(chǎn)生假定了物理繪制表面也是6X8。在以3D渲染流水線進(jìn)行渲染的領(lǐng)域中的技術(shù)人會(huì)認(rèn)識(shí)到,邏輯繪制表面像素的產(chǎn)生會(huì)采用剪裁矩形(Scissor rectangle),多邊形點(diǎn)刻(Polygon Stipple)、剪切矩形(clipping rectangle),就好像所有操作都在6X8表面上進(jìn)行。然而,當(dāng)將這些像素寫(xiě)入到存儲(chǔ)器中或與存儲(chǔ)器中物理繪制表面中的像素混合時(shí),可以改變這些像素的存儲(chǔ)器地址,以對(duì)應(yīng)在兼容顯示器渲染硬件的風(fēng)景模式或“8X6”表面中所組織的實(shí)際物理繪制表面??梢圆捎米疃嘁粚?duì)乘法器和加法器來(lái)進(jìn)行新存儲(chǔ)器地址的計(jì)算。因?yàn)樾麓鎯?chǔ)器地址的計(jì)算是在全部圖形操作的末端發(fā)生的,因此其不會(huì)產(chǎn)生任何與較新的圖形特征(例如像素或頂點(diǎn)著色器)之間相互影響的問(wèn)題。這種著色器可以以(x,y)坐標(biāo)自由地工作,就好像其是一個(gè)6X8表面一只有圖形硬件的存儲(chǔ)器子系統(tǒng)才知道該低級(jí)存儲(chǔ)器導(dǎo)引。根據(jù)本發(fā)明的一些實(shí)施方式,可以通過(guò)產(chǎn)生旋轉(zhuǎn)的物理表面的未旋轉(zhuǎn)副本來(lái)支持鎖定操作,并且該鎖定操作可以使應(yīng)用程序或OS鎖定該“副本”表面??商鎿Q地,由于物理繪制表面屬于圖形引擎,并可以在芯片組頁(yè)面表中映射,因此對(duì)這個(gè)表面的所有讀/寫(xiě)操作都可以通過(guò)這個(gè)芯片組邏輯。因此,鎖定操作也可以通過(guò)定義特定的“防護(hù)區(qū)域”來(lái)支持,該防護(hù)區(qū)域?qū)⒋鎯?chǔ)器的一個(gè)區(qū)域與特定表面屬性相關(guān)聯(lián)。隨后,當(dāng)芯片組接收到對(duì)像素的存儲(chǔ)器讀/寫(xiě)請(qǐng)求時(shí),芯片組可以通過(guò)使用該防護(hù)區(qū)域?qū)傩杂?jì)算應(yīng)用程序試圖訪問(wèn)的像素的地址,來(lái)將這兩個(gè)像素的讀/寫(xiě)導(dǎo)引到兩個(gè)完全不同的地址。盡管先前針對(duì)與所聲明的本發(fā)明相一致的一個(gè)或多個(gè)示例的描述提供了對(duì)本發(fā)明的圖示說(shuō)明和描述,但其意圖不是窮舉性的或?qū)⒈景l(fā)明的范圍限制為所公開(kāi)的具體實(shí)施方式
。明確地,按照以上的教導(dǎo)或可以從本發(fā)明的各種實(shí)施方式的實(shí)現(xiàn)中得知,多種修改和變化都是可能的。例如,盡管圖2和附屬的文字可以顯示并說(shuō)明了包括一個(gè)導(dǎo)引模塊204的系統(tǒng)200,但本領(lǐng)域技術(shù)人員會(huì)認(rèn)識(shí)到,根據(jù)本發(fā)明的系統(tǒng)可以包括一個(gè)以上的并行操作的導(dǎo)引模塊。明確地,可以使用許多其它實(shí)施方式來(lái)為與所聲明的本發(fā)明相一致的平板電腦和肖像顯示器提供旋轉(zhuǎn)的渲染和鎖定支持。在本驅(qū)動(dòng)器的說(shuō)明中闡述的裝置、元件、動(dòng)作、數(shù)據(jù)類型、指令等都不應(yīng)解釋為對(duì)本發(fā)明是關(guān)鍵性或不可缺少的,除非明確表述為如此。此外,如在此所用的,冠詞“一”意圖包括一個(gè)或多個(gè)項(xiàng)目。而且,當(dāng)在此或附帶的權(quán)利要求中使用諸如“耦合的”或“響應(yīng)的”或“與……通信”之類的術(shù)語(yǔ)或短語(yǔ)時(shí),這些術(shù)語(yǔ)應(yīng)該做最大范圍的理解。例如短語(yǔ)“耦合到”可以指的是按照對(duì)于使用該短語(yǔ)的上下文而言適當(dāng)?shù)姆绞?,以可通信的方式、電氣的方式,?或可操作的方式進(jìn)行耦合。在實(shí)質(zhì)上不脫離本發(fā)明的精神和原理的情況下,可以對(duì)所 聲明的本發(fā)明的上述實(shí)施方式做出改變和修改。所有此類修改和改變都意圖包括在本公開(kāi)內(nèi)容的范圍內(nèi),并受到附帶的權(quán)利要求的保護(hù)。
權(quán)利要求
1.一種方法,包括 將圖像數(shù)據(jù)渲染到邏輯繪制表面上,所述邏輯繪制表面包括像素值的行和列;及 將所述圖像數(shù)據(jù)寫(xiě)入到物理繪制表面上,所述物理繪制表面包括存儲(chǔ)單元的行和列,其中,將所述圖像數(shù)據(jù)寫(xiě)入到所述物理繪制表面上的步驟包括將所述圖像數(shù)據(jù)寫(xiě)入到所述物理繪制表面上,從而將在所述邏輯繪制表面的一列中位置相鄰的第一和第二像素值寫(xiě)入到在所述物理繪制表面的一行中位置相鄰的存儲(chǔ)單元中。
2.如權(quán)利要求I所述的方法,其中,所述物理繪制表面包括存儲(chǔ)器。
3.如權(quán)利要求I所述的方法,其中,所述邏輯繪制表面包括處理器內(nèi)核的一個(gè)或多個(gè)寄存器。
4.如權(quán)利要求I所述的方法,進(jìn)一步包括 通過(guò)將應(yīng)用程序或OS對(duì)所述邏輯繪制表面的像素值的訪問(wèn)重新定向到所述物理繪制表面的相應(yīng)存儲(chǔ)單元,來(lái)允許該訪問(wèn)。
5.如權(quán)利要求I所述的方法,進(jìn)一步包括 從所述物理繪制表面將所述圖像數(shù)據(jù)復(fù)制回所述邏輯繪制表面,從而將存儲(chǔ)在所述物理繪制表面的一行中相鄰存儲(chǔ)單元中的第一和第二像素值復(fù)制到所述邏輯繪制表面的一列中的相鄰存儲(chǔ)單元中;及 允許應(yīng)用程序或OS訪問(wèn)所述邏輯繪制表面的像素值。
6.如權(quán)利要求I所述的方法,其中,將所述圖像數(shù)據(jù)寫(xiě)入到物理繪制表面上的步驟包括使用芯片組頁(yè)面表。
7.一種產(chǎn)品,包括機(jī)器可訪問(wèn)介質(zhì),其具有存儲(chǔ)在其上的指令,該指令當(dāng)由機(jī)器執(zhí)行時(shí),使得所述機(jī)器 將圖像數(shù)據(jù)渲染到邏輯繪制表面上,所述邏輯繪制表面包括像素值的行和列;及 將所述圖像數(shù)據(jù)寫(xiě)入到物理繪制表面上,所述物理繪制表面包括存儲(chǔ)單元的行和列,其中,將所述圖像數(shù)據(jù)寫(xiě)入到所述物理繪制表面上的步驟包括將所述圖像數(shù)據(jù)寫(xiě)入到所述物理繪制表面,從而將在所述邏輯繪制表面的一列中位置相鄰的第一和第二像素值寫(xiě)入到在所述物理繪制表面的一行中位置相鄰的存儲(chǔ)單元中。
8.如權(quán)利要求7所述產(chǎn)品,其中,所述物理繪制表面包括存儲(chǔ)器。
9.如權(quán)利要求7所述產(chǎn)品,其中,所述邏輯繪制表面包括處理器內(nèi)核的一個(gè)或多個(gè)寄存器。
10.如權(quán)利要求7所述產(chǎn)品,進(jìn)一步具有存儲(chǔ)在其上的指令,該指令當(dāng)由機(jī)器執(zhí)行時(shí),使得所述機(jī)器 通過(guò)將應(yīng)用程序或OS對(duì)所述邏輯繪制表面的像素值的訪問(wèn)重新定向到所述物理繪制表面的相應(yīng)存儲(chǔ)單元,來(lái)允許該訪問(wèn)。
11.如權(quán)利要求7所述產(chǎn)品,進(jìn)一步具有存儲(chǔ)在其上的指令,該指令當(dāng)由機(jī)器執(zhí)行時(shí),使得所述機(jī)器 從所述物理繪制表面將所述圖像數(shù)據(jù)復(fù)制回所述邏輯繪制表面,從而將存儲(chǔ)在所述物理繪制表面的一行中相鄰存儲(chǔ)單元中的第一和第二像素值復(fù)制到所述邏輯繪制表面的一列中的相鄰存儲(chǔ)單元中;及 允許應(yīng)用程序或OS訪問(wèn)所述邏輯繪制表面的像素值。
12.如權(quán)利要求7所述產(chǎn)品,其中,將所述圖像數(shù)據(jù)寫(xiě)到物理繪制表面包括使用芯片組頁(yè)面表。
13.一種裝置,包括 用于渲染像素?cái)?shù)據(jù)的邏輯,所述像素?cái)?shù)據(jù)包括像素值的行和列 '及用于將所述像素?cái)?shù)據(jù)映射到存儲(chǔ)器中的邏輯,用于映射所述像素?cái)?shù)據(jù)的所述邏輯至少能夠重新定向所述像素?cái)?shù)據(jù),從而將在所述像素?cái)?shù)據(jù)的一列中位置相鄰的多個(gè)像素值放置到所述存儲(chǔ)器的一行中位置相鄰的多個(gè)存儲(chǔ)單元中。
14.如權(quán)利要求13所述裝置,其中,用于映射所述像素?cái)?shù)據(jù)的所述邏輯包括芯片組頁(yè)面表。
15.如權(quán)利要求13所述裝置,其中,用于渲染像素?cái)?shù)據(jù)的所述邏輯將所述像素值渲染到處理器內(nèi)核的一個(gè)或多個(gè)寄存器。
16.如權(quán)利要求13所述裝置,其中,用于渲染所述像素?cái)?shù)據(jù)的所述邏輯包括顯示驅(qū)動(dòng)器。
17.—種系統(tǒng),包括 存儲(chǔ)器,所述存儲(chǔ)器包括存儲(chǔ)單元的行 '及 用于將像素?cái)?shù)據(jù)映射到所述存儲(chǔ)器中的邏輯,所述像素?cái)?shù)據(jù)包括像素值的行和列,所述邏輯至少能夠重新定向所述像素?cái)?shù)據(jù),從而將在所述像素?cái)?shù)據(jù)的一列中位置相鄰的多個(gè)像素值放置到在所述存儲(chǔ)器的一行中位置相鄰的多個(gè)存儲(chǔ)單元中。
18.如權(quán)利要求17所述系統(tǒng),其中,用于將像素?cái)?shù)據(jù)映射到存儲(chǔ)器中的所述邏輯包括芯片組頁(yè)面表。
19.如權(quán)利要求17所述系統(tǒng),其中,所述存儲(chǔ)器包括以下之一動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、或非易失性存儲(chǔ)器。
20.如權(quán)利要求17所述系統(tǒng),其中,所述像素?cái)?shù)據(jù)包括保存在處理器內(nèi)核的一個(gè)或多個(gè)寄存器中的像素值。
全文摘要
本發(fā)明公開(kāi)了用于處理面向肖像模式的顯示表面而無(wú)需顯示器子系統(tǒng)中昂貴的硬件的裝置、系統(tǒng)和方法。例如,公開(kāi)了一種裝置,以便在渲染時(shí)重新定向圖形數(shù)據(jù)到肖像模式顯示表面的渲染,從而不必在圖形適配器的顯示部分中增加復(fù)雜的硬件以便處理常規(guī)顯示—其全部都無(wú)需電路來(lái)處理本來(lái)存儲(chǔ)在肖像模式表面中的數(shù)據(jù)。另外,已說(shuō)明了一種裝置,用于通過(guò)已旋轉(zhuǎn)的表面鎖定,來(lái)處理對(duì)表面的直接表面訪問(wèn)。這可以通過(guò)表面數(shù)據(jù)的復(fù)制或通過(guò)用于刪除該復(fù)制的最佳提出的裝置來(lái)完成。還公開(kāi)了其它實(shí)施方式。
文檔編號(hào)G06T3/60GK102842112SQ20121014458
公開(kāi)日2012年12月26日 申請(qǐng)日期2007年7月5日 優(yōu)先權(quán)日2006年7月13日
發(fā)明者B·波達(dá)爾 申請(qǐng)人:英特爾公司