[發明專利]用于處理數據的方法和設備有效
| 申請號: | 201780028332.2 | 申請日: | 2017-04-10 |
| 公開(公告)號: | CN109154886B | 公開(公告)日: | 2019-08-27 |
| 發明(設計)人: | 陳林;R·哈默斯托內;劉佳吉;張弛紅;A·E·格魯貝爾;杜云 | 申請(專利權)人: | 高通股份有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41;G06T15/00 |
| 代理公司: | 北京律盟知識產權代理有限責任公司 11287 | 代理人: | 楊林勳 |
| 地址: | 美國加利*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 前同步碼 代碼塊 常數存儲器 著色器程序 識別符 存儲 圖形處理單元 通用寄存器 著色器代碼 地址空間 圖形處理 配給 分配 創建 | ||
1.一種操作圖形處理單元GPU的方法,所述方法包括:
通過所述GPU從著色器編譯器接收實例的實例識別符和著色器程序,所述著色器程序包括前同步碼代碼塊和主要著色器代碼塊,所述前同步碼代碼塊可執行以將多個實例統一體存儲在常數存儲器中;
通過所述GPU在多個波中的波的創建處將所述實例識別符指配給通用寄存器;
通過所述GPU為所述多個實例統一體分配所述常數存儲器內的地址空間;
通過所述GPU確定所述前同步碼代碼塊尚未執行且所述波是將執行的所述實例的第一波;
至少部分地基于確定所述前同步碼代碼塊尚未執行且所述波是將執行的所述第一波,通過所述GPU執行所述前同步碼代碼塊以將所述多個實例統一體存儲在所述常數存儲器中;和
至少部分地基于執行所述前同步碼代碼塊,通過所述GPU使用存儲在所述常數存儲器中的所述多個實例統一體中的至少一個執行所述多個波中的所述波的所述主要著色器代碼塊。
2.根據權利要求1所述的方法,其另外包括:
通過所述GPU在所述多個波中的第二波的創建處將所述實例識別符指配給所述通用寄存器。
3.根據權利要求2所述的方法,其另外包括:
通過所述GPU確定所述第二波不是所述第一波;
至少部分地基于確定所述第二波不是所述第一波以及確定所述前同步碼塊尚未執行,在執行所述第二波的所述主要著色器代碼塊之前等待所述前同步碼塊完成執行。
4.根據權利要求2所述的方法,其另外包括:
通過所述GPU確定所述第二波不是所述第一波;
至少部分地基于確定所述第二波不是所述第一波以及確定所述前同步碼塊已經執行,通過所述GPU使用存儲在所述常數存儲器中的實例統一體執行所述多個波中的所述第二波的所述主要著色器代碼塊。
5.根據權利要求1所述的方法,其中所述常數存儲器包括環繞式環形緩沖器,且將所述實例統一體存儲在所述常數存儲器中包括將所述實例統一體存儲在所述環繞式環形緩沖器中。
6.根據權利要求5所述的方法,其另外包括將所述環繞式環形緩沖器中的實例偏移存儲在統一通用寄存器中,所述實例偏移被配置成將所述多個實例統一體定位在所述實例的所述常數存儲器中。
7.根據權利要求1所述的方法,其中通過所述GPU執行所述前同步碼代碼塊以將所述多個實例統一體存儲在所述常數存儲器中另外包括:
基于所述實例識別符和所述實例中的編號統一體,確定統一緩沖對象中的所述多個實例統一體中的實例統一體的源地址;
確定所述常數存儲器中的所述多個實例統一體中的所述實例統一體的目的地地址;
至少部分地基于所述確定的源地址和所述確定的目的地地址,存儲所述多個實例統一體中的所述實例統一體。
8.根據權利要求1所述的方法,其中通過所述GPU確定所述前同步碼代碼塊尚未執行是基于旗標的值為假。
9.根據權利要求1所述的方法,其中執行所述前同步碼代碼塊包括:
執行被配置成劃定所述前同步碼代碼塊的起始的per_instance_preamble_start指令;和
執行被配置成劃定所述前同步碼代碼塊的結尾的per_instance_preamble_end指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于高通股份有限公司,未經高通股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201780028332.2/1.html,轉載請聲明來源鉆瓜專利網。





