本發(fā)明屬于計(jì)算機(jī)圖形領(lǐng)域,涉及一種非阻塞圖形命令處理方法。
背景技術(shù):
圖形處理API命令的執(zhí)行速度直接決定圖形處理的性能,目前公開研究中的圖形API命令的處理方法均是串行執(zhí)行,數(shù)據(jù)之間的傳輸甚至無DMA,導(dǎo)致性能低下,直接制約了圖形處理器的性能發(fā)揮。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是:
本發(fā)明主要提供一種非阻塞圖形命令處理方法,提高圖形API命令的解析及處理效率。
本發(fā)明的解決方案是:
一種非阻塞圖形命令處理方法,包括:
(1)從主機(jī)獲取一條圖形API命令,對(duì)該圖形命令進(jìn)行解析;
(2)對(duì)圖形API命令所需的資源鎖進(jìn)行預(yù)判斷,若圖形API命令所需的資源鎖不處于鎖定狀態(tài),將所述圖形API命令下發(fā)執(zhí)行;否則將該圖形API命令進(jìn)行緩存至本地,然后處理下一條圖形API命令;
(3)對(duì)下發(fā)的圖形API命令進(jìn)行圖形命令功能解析,對(duì)圖形功能進(jìn)行分類處理,分為參數(shù)配置、功能操作以及DMA搬運(yùn),對(duì)參數(shù)配置及功能操作采用緩存方式,對(duì)DMA搬運(yùn)執(zhí)行發(fā)起操作;
(4)當(dāng)從主機(jī)端無命令或者本地緩沖區(qū)滿時(shí),更新資源鎖狀態(tài)。
本發(fā)明的優(yōu)點(diǎn)是:通過對(duì)圖形API命令的執(zhí)行情況進(jìn)行預(yù)判斷,根據(jù)其阻塞情況進(jìn)行處理,若阻塞將其進(jìn)行緩存,處理下一條命令,這樣就實(shí)現(xiàn)了命令的非阻塞處理,在進(jìn)行參數(shù)配置時(shí),實(shí)現(xiàn)了一種偽DMA操作,對(duì)參數(shù)的配置進(jìn)行處理,實(shí)現(xiàn)了參數(shù)配置的無縫化設(shè)置,主機(jī)及幀緩存之間的數(shù)據(jù)流動(dòng)通過DMA載體實(shí)現(xiàn),加速了指令的執(zhí)行,達(dá)到圖形API命令的優(yōu)化。
附圖說明
圖1是本發(fā)明流程圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步詳細(xì)描述。
一種非阻塞圖形命令處理方法,如圖1所示,包括:
(1)從主機(jī)獲取一條圖形API命令,對(duì)該圖形命令進(jìn)行解析;
(2)對(duì)圖形API命令所需的資源鎖進(jìn)行預(yù)判斷,若圖形API命令所需的資源鎖不處于鎖定狀態(tài),將所述圖形API命令下發(fā)執(zhí)行;否則將該圖形API命令進(jìn)行緩存至本地,然后處理下一條圖形API命令;
(3)對(duì)下發(fā)的圖形API命令進(jìn)行圖形命令功能解析,對(duì)圖形功能進(jìn)行分類處理,分為參數(shù)配置、功能操作以及DMA搬運(yùn),對(duì)參數(shù)配置及功能操作采用緩存方式,對(duì)DMA搬運(yùn)執(zhí)行發(fā)起操作;
(4)當(dāng)從主機(jī)端無命令或者本地緩沖區(qū)滿時(shí),更新資源鎖狀態(tài)。
實(shí)施例
本發(fā)明是一種非阻塞圖形命令處理方法,其特征在于,本方法包括(1)圖形指令解析方法、(2)圖形功能解析方法。
(1)圖形指令解析方法,其特征如下:
①從主機(jī)獲取一條圖形API命令,對(duì)該圖形命令進(jìn)行解析;
②對(duì)圖形API命令所需的資源鎖進(jìn)行預(yù)判斷,若圖形API命令所需的資源鎖處于鎖定狀態(tài),則將該圖形API命令進(jìn)行緩存至本地,然后處理下一條圖形API命令;
③當(dāng)從主機(jī)端無命令或者本地緩沖區(qū)滿時(shí),更新資源鎖狀態(tài)。
(2)圖形指令解析方法,其特征在于:
對(duì)圖形功能進(jìn)行分類處理,分為參數(shù)配置、功能操作以及DMA搬運(yùn),對(duì)參數(shù)配置及功能操作采用緩存方式,實(shí)現(xiàn)了三類操作的并行處理。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)地說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。