[發明專利]用于圖形處理的每個著色器的前置碼有效
| 申請號: | 201780028782.1 | 申請日: | 2017-04-10 |
| 公開(公告)號: | CN109074625B | 公開(公告)日: | 2020-04-24 |
| 發明(設計)人: | 陳林;杜云;A·E·格魯貝爾;焦國方;于春;D·R·加西亞·加西亞 | 申請(專利權)人: | 高通股份有限公司 |
| 主分類號: | G06T1/20 | 分類號: | G06T1/20 |
| 代理公司: | 北京律盟知識產權代理有限責任公司 11287 | 代理人: | 楊林勳 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 圖形 處理 每個 著色 前置 | ||
1.一種操作圖形處理單元GPU的方法,其包括:
通過所述GPU從著色器編譯程序接收包括前置碼代碼塊和主要著色器代碼塊的著色器程序,所述前置碼代碼塊包括產生一或多個結果的指令,所述一或多個結果在所述著色器程序執行期間每次執行所述指令都相同;
通過所述GPU執行所述著色器程序的多個例子,其中執行所述著色器程序的所述多個例子中的每一例子包括:
確定第一旗標是否指示已經開始執行所述前置碼代碼塊;
響應于所述第一旗標指示尚未開始執行所述前置碼代碼塊,執行所述前置碼代碼塊以產生所述一或多個結果,以及存儲所述前置碼代碼塊的所述一或多個結果;
響應于所述第一旗標指示已經開始執行所述前置碼代碼塊,不執行所述前置碼代碼塊;
確定第二旗標是否指示所述前置碼代碼塊的執行完成;
響應于所述第二旗標指示所述前置碼代碼塊的執行尚未完成,等待所述第二旗標指示所述前置碼代碼塊的執行完成;以及
響應于所述第二旗標指示所述前置碼代碼塊的執行完成,使用通過執行所述前置碼代碼塊產生的所述一或多個結果執行所述主要著色器代碼塊。
2.根據權利要求1所述的方法,其進一步包括:
通過在處理器上運行的所述著色器編譯程序識別產生在所述著色器程序執行期間每次執行所述指令都相同的所述一或多個結果的所述指令;以及
通過在所述處理器上運行的所述著色器編譯程序將所述指令分組到所述著色器程序的所述前置碼代碼塊中。
3.根據權利要求2所述的方法,其中所述識別所述指令包括識別僅使用常數的指令。
4.根據權利要求1所述的方法,其進一步包括:
基于識別著色器前置碼起點指令識別所述前置碼代碼塊。
5.根據權利要求1所述的方法,其中所述執行所述前置碼代碼塊是通過在所述GPU上的標量處理器執行的。
6.根據權利要求1所述的方法,其中所述存儲所述一或多個結果是在可寫入緩沖器管理的高速緩沖存儲器上。
7.根據權利要求1所述的方法,其中所述存儲所述一或多個結果可由著色器處理器的所有處理元件存取。
8.根據權利要求1所述的方法,其進一步包括:
通過所述GPU將來自隨機存取存儲器RAM的所述前置碼代碼塊的所述一或多個結果加載到常數存儲器中。
9.一種用于處理數據的設備,所述設備包括:
圖形處理單元GPU,所述GPU包括存儲器和著色器核心,所述著色器核心包括控制單元、多個處理元件和常數存儲器,其中所述控制單元經配置以進行以下操作:
從著色器編譯程序接收包括前置碼代碼塊和主要著色器代碼塊的著色器程序,所述前置碼代碼塊包括產生一或多個結果的指令,所述一或多個結果在所述著色器程序執行期間每次執行所述指令都相同;
執行所述著色器程序的多個例子,其中執行所述著色器程序的所述多個例子中的每一例子包括:
確定第一旗標是否指示已經開始執行所述前置碼代碼塊;
響應于所述第一旗標指示尚未開始執行所述前置碼代碼塊,引導所述多個處理元件中的至少一個執行所述前置碼代碼塊以產生所述一或多個結果,以及在所述常數存儲器中存儲所述前置碼代碼塊的所述一或多個結果;
響應于所述第一旗標指示已經開始執行所述前置碼代碼塊,不執行所述前置碼代碼塊;
確定第二旗標是否指示所述前置碼代碼塊的執行完成;
響應于所述第二旗標指示所述前置碼代碼塊的執行尚未完成,等待所述第二旗標指示所述前置碼代碼塊的執行完成;以及
響應于所述第二旗標指示所述前置碼代碼塊的執行完成,使用通過執行所述前置碼代碼塊產生的所述一或多個結果引導所述多個處理元件中的至少一個執行所述主要著色器代碼塊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于高通股份有限公司,未經高通股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201780028782.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:三維重建方法
- 下一篇:圖像處理裝置、圖像處理方法以及程序





