[發明專利]一種基于有限狀態機的OpenGL圖形命令預譯碼方法有效
| 申請號: | 201911147526.1 | 申請日: | 2019-11-21 |
| 公開(公告)號: | CN110956573B | 公開(公告)日: | 2023-06-13 |
| 發明(設計)人: | 牛少平;鄧藝;郝沖;韓一鵬;魏艷艷 | 申請(專利權)人: | 中國航空工業集團公司西安航空計算技術研究所 |
| 主分類號: | G06T1/20 | 分類號: | G06T1/20 |
| 代理公司: | 北京清大紫荊知識產權代理有限公司 11718 | 代理人: | 李紅 |
| 地址: | 710065 陜西省*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 有限狀態機 opengl 圖形 命令 譯碼 方法 | ||
本發明屬于計算機圖形領域,涉及一種基于有限狀態機的OpenGL圖形命令預譯碼方法,本發明提出的基于有限狀態機的圖形命令預譯碼方法是命令輸入的總線接口與3D引擎之間的紐帶,在多條命令在下發至3D引擎硬件執行之前,進行預先分類的操作,將部分功能在預譯碼階段完成,并將命令下發至不同的通路中,再執行后續流程。使用硬件電路實現預譯碼操作,提升了命令分類、分發的效率。本發明使用有限狀態機的主狀態機加子狀態機電路,將每一條命令按照最復雜操作進行單一的子狀態類別劃分,提升了硬件譯碼OpenGL圖形命令的執行效率,簡化了電路設計的復雜度。
技術領域
本發明屬于計算機圖形學領域,涉及一種基于有限狀態機的OpenGL圖形命令預譯碼方法。
背景技術
圖形處理器內,在主機下發至3D引擎中執行的OpenGL命令近200種,實現不同功能的圖形繪制操作,現有技術沒有一種基于有限狀態機的OpenGL圖形命令譯碼方法來解決OpenGL命令分類問題。
發明內容
本發明的目的是:
本發明主要是提供一種基于有限狀態機的OpenGL圖形命令預譯碼電路,有利于提升圖形處理器預譯碼操作的效率,同時節省硬件資源、提升電路的時序性能。
本發明的解決方案是:
本發明提出一種基于有限狀態機的OpenGL圖形命令預譯碼方法,包括以下步驟:
1)對輸入的OpenGL圖形命令進行命令格式的正確性檢測;
2)對檢測正確的OpenGL圖形命令進行命令類型的劃分、命令執行通路分配;
3)對已分配通路的命令進行并行執行的控制邏輯;
4)對并行執行的命令進行命令執行完成的控制邏輯。
為了達到更好的技術效果,本電路由有限狀態機實現,所述有限狀態機包括:命令預譯碼開始狀態、命令格式檢錯狀態、命令類型劃分狀態、A類子狀態機劃分轉狀態、B類子狀態機劃分狀態、子狀態1—A類寄存器配置狀態、子狀態2—A類圖形繪制狀態、子狀態3—A類RISC處理狀態、子狀態4—B類程序加載狀態、子狀態5—B類列表調用狀態、子狀態6—B類列表新建狀態、子狀態7—B類命令檢錯狀態、子狀態8—B類圖形繪制狀態、子狀態9—B類頂點數組狀態、子狀態10—B類RISC處理狀態、子狀態11—B類寄存器初始化狀態、輸出通路1—寄存器通路狀態、輸出通路2—組裝模塊狀態、輸出通路3—RISC狀態、輸出通路4—統一染色陣列狀態、輸出通路5—列表存儲訪問模塊狀態、輸出通路6—狀態寄存器狀態、子狀態N的完成標志達成狀態和命令預譯碼結束狀態。
為了達到更好的技術效果,所述的命令預譯碼開始狀態在接收到OpenGL命令輸入后,命令的預譯碼階段開始執行,從轉入命令格式檢錯狀態;命令格式檢錯狀態檢錯階段檢測命令的包頭中各位段是否正確、包含命令的A、B類別信息是否正確、攜帶的地址信息是否越界和命令攜帶的功能碼是否有效等;命令類型劃分狀態按照命令包頭中的A、B類型字段進行劃分,提升子狀態類別劃分電路的效率,若屬于A類配置類命令則轉入A類子狀態機劃分狀態;若屬于B類功能類命令則轉入B類子狀態機劃分狀態;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國航空工業集團公司西安航空計算技術研究所,未經中國航空工業集團公司西安航空計算技術研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911147526.1/2.html,轉載請聲明來源鉆瓜專利網。





