JP6352546B2 - 非整列ブロック転送動作の処理 - Google Patents
非整列ブロック転送動作の処理 Download PDFInfo
- Publication number
- JP6352546B2 JP6352546B2 JP2017530746A JP2017530746A JP6352546B2 JP 6352546 B2 JP6352546 B2 JP 6352546B2 JP 2017530746 A JP2017530746 A JP 2017530746A JP 2017530746 A JP2017530746 A JP 2017530746A JP 6352546 B2 JP6352546 B2 JP 6352546B2
- Authority
- JP
- Japan
- Prior art keywords
- blt
- alignment
- region
- command
- width
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012546 transfer Methods 0.000 title claims description 21
- 238000000034 method Methods 0.000 claims description 74
- 238000004891 communication Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 62
- 101100236208 Homo sapiens LTB4R gene Proteins 0.000 description 28
- 102100033374 Leukotriene B4 receptor 1 Human genes 0.000 description 28
- 101001017969 Homo sapiens Leukotriene B4 receptor 2 Proteins 0.000 description 27
- 102100033375 Leukotriene B4 receptor 2 Human genes 0.000 description 27
- 101100437750 Schizosaccharomyces pombe (strain 972 / ATCC 24843) blt1 gene Proteins 0.000 description 27
- 238000010586 diagram Methods 0.000 description 23
- 239000000872 buffer Substances 0.000 description 22
- 238000009877 rendering Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 13
- 239000000203 mixture Substances 0.000 description 11
- 230000004044 response Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000015572 biosynthetic process Effects 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000010076 replication Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 102100036725 Epithelial discoidin domain-containing receptor 1 Human genes 0.000 description 1
- 101710131668 Epithelial discoidin domain-containing receptor 1 Proteins 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000002772 conduction electron Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000002159 nanocrystal Substances 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
- Bus Control (AREA)
- Advance Control (AREA)
- Image Processing (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
[0116]GPUドライバ28によって生成された複数のBLTコマンドは、ソースBLT領域88および宛先BLT領域90全体を集合的に処理し、それによって、単一の非整列BLTコマンドによって生成されたであろうメモリ状態と同じ結果として生じるメモリ状態を生成し得る。さらに、整列BLTコマンドの各々が、32バイトの整列仮想面(すなわち、仮想面92および94)に関して実行され、これにより、BLTコマンドを32バイトの整列制約されたGPUによって処理することが可能になる。このようにして、GPUドライバ28は、非整列BLTコマンドを整列制約されたGPUによってサービスされ得る複数の整列BLTコマンドに変換し、それによって、比較的低電力のGPU加速BLT処理の利益を取得し得る。
New SRC_SURFACE_baseは、仮想ソース面92の面ポインタに対応し、New SRC_SURFACE_WIDTHは、仮想ソース面92の面幅に対応し、New SRC_SURFACE_HEIGHTは、仮想ソース面92の高さに対応し、New DST_SURFACE_baseは、仮想宛先面94の面ポインタに対応し、New DST_SURFACE_WIDTHは、仮想宛先面94の面幅に対応し、New DST_SURFACE_HEIGHTは、仮想宛先面94の高さに対応する。
以下に本願の出願当初の特許請求の範囲に記載された発明を付記する。
[C1]
1つまたは複数のプロセッサを用いて、非整列ブロック転送(BLT)コマンドを複数の整列BLTコマンドに変換すること
を備える方法。
[C2]
前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する面のうちの少なくとも1つのための第1の面幅を指定する、ここにおいて、前記非整列BLTコマンドを変換することが、
前記第1の面幅に基づいて第2の面幅を決定することと、ここにおいて、前記第2の面幅が前記第1の面幅のN倍である、ここで、Nは、2以上の整数である、
前記複数の整列BLTコマンドの各々が、前記複数の整列BLTコマンドの各々に関連する面のうちの少なくとも1つのための前記第2の面幅を指定するように前記複数の整列BLTコマンドを生成することと
を備える、C1に記載の方法。
[C3]
前記第2の面幅を決定することが、前記第1の面幅と、前記複数の整列BLTコマンドを実行するプロセッサに関連する所定の整列幅制約とに基づいて前記第2の面幅を決定することを備える、C2に記載の方法。
[C4]
前記第1の面幅が、前記所定の整列幅制約の整数倍でない、ここにおいて、前記第1の面幅と前記所定の整列幅制約とに基づいて前記第2の面幅を決定することは、前記第2の面幅が前記所定の整列幅制約の整数倍であるように前記第2の面幅を決定することを備える、C3に記載の方法。
[C5]
Nが2に等しい、C2に記載の方法。
[C6]
前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記非整列BLTコマンドが、第1のBLT領域を指定する、ここにおいて、前記複数の整列BLTコマンドを生成することが、
前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することと、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
前記第1の整列BLTコマンドが前記第2のBLT領域を指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが前記第3のBLT領域を指定するように前記第2の整列BLTコマンドを生成することと
を備える、C2に記載の方法。
[C7]
前記第2のBLT領域が、前記第1のBLT領域の偶数線を含み、前記第3のBLT領域が、前記第1のBLT領域の奇数線を含む、C6に記載の方法。
[C8]
前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する第1の面の第1の面ポインタ値を指定する、ここにおいて、前記複数の整列BLTコマンドを生成することが、
前記複数の整列BLTコマンドの各々が、前記複数の整列BLTコマンドの各々に関連する前記面のうちの1つの前記第1の面ポインタ値を指定するように前記複数の整列BLTコマンドを生成すること
を備える、C2に記載の方法。
[C9]
前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記非整列BLTコマンドが、第1のBLT領域を指定する、ここにおいて、前記複数の整列BLTコマンドを生成することが、
前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することと、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
前記第1の整列BLTコマンドが、前記第2の面幅と、前記第1の面ポインタ値と、前記第2のBLT領域とを指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが、前記第2の面幅と、前記第1の面ポインタ値と、前記第3のBLT領域とを指定するように前記第2の整列BLTコマンドを生成することと
を備える、C8に記載の方法。
[C10]
前記第2のBLT領域が、前記第1のBLT領域の偶数線を含み、前記第3のBLT領域が、前記第1のBLT領域の奇数線を含む、C9に記載の方法。
[C11]
前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する第1の面の第1の面ポインタ値を指定する、ここにおいて、前記第1の面ポインタ値が、前記複数の整列BLTコマンドを実行するプロセッサに関連する所定の整列幅制約の整数倍ではない、ここにおいて、前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記複数の整列BLTコマンドを生成することが、
第2の面ポインタ値と第3の面ポインタ値とが前記所定の整列幅制約の異なる整数倍であるように前記第1の面ポインタ値と前記所定の整列幅制約とに基づいて前記第2の面ポインタ値と前記第3の面ポインタ値とを決定することと、
前記第1の整列BLTコマンドが、前記第1の整列BLTコマンドに関連する前記面のうちの1つの前記第2の面ポインタ値を指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが、前記第2の整列BLTコマンドに関連する前記面のうちの1つの前記第3の面ポインタ値を指定するように前記第2の整列BLTコマンドを生成することと
を備える、C2に記載の方法。
[C12]
前記第2の面ポインタ値が、前記第1の面ポインタ値よりも小さく、前記第3の面ポインタ値が、前記第1の面ポインタ値よりも大きい、C11に記載の方法。
[C13]
前記非整列BLTコマンドが、第1のBLT領域を指定する、
ここにおいて、前記複数の整列BLTコマンドを生成することが、前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することを備える、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
ここにおいて、前記第1の整列BLTコマンドを生成することは、前記第1の整列BLTコマンドが、前記第2の面幅と、前記第2の面ポインタ値と、前記第2のBLT領域とを指定するように前記第1の整列BLTコマンドを生成することを備える、
ここにおいて、前記第2の整列BLTコマンドを生成することは、前記第2の整列BLTコマンドが、前記第2の面幅と、前記第3の面ポインタ値と、前記第3のBLT領域とを指定するように前記第2の整列BLTコマンドを生成することを備える、C11に記載の方法。
[C14]
前記第2のBLT領域が、前記第1のBLT領域の偶数線を含み、前記第3のBLT領域が、前記第1のBLT領域の奇数線を含む、C13に記載の方法。
[C15]
非整列ブロック転送(BLT)コマンドを複数の整列BLTコマンドに変換するように構成された1つまたは複数のプロセッサを備えるデバイス。
[C16]
前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する面のうちの少なくとも1つのための第1の面幅を指定する、ここにおいて、前記1つまたは複数のプロセッサが、
前記第1の面幅に基づいて第2の面幅を決定することと、ここにおいて、前記第2の面幅が前記第1の面幅のN倍である、ここで、Nは、2以上の整数である、
前記複数の整列BLTコマンドの各々が、前記複数の整列BLTコマンドの各々に関連する面のうちの少なくとも1つのための前記第2の面幅を指定するように前記複数の整列BLTコマンドを生成することと
を行うようにさらに構成された、C15に記載のデバイス。
[C17]
前記1つまたは複数のプロセッサが、前記第1の面幅と、前記複数の整列BLTコマンドを実行するプロセッサに関連する所定の整列幅制約とに基づいて前記第2の面幅を決定することを行うようにさらに構成された、C16に記載のデバイス。
[C18]
前記第1の面幅が、前記所定の整列幅制約の整数倍でない、ここにおいて、前記1つまたは複数のプロセッサは、前記第2の面幅が前記所定の整列幅制約の整数倍であるように前記第2の面幅を決定することを行うようにさらに構成された、C17に記載のデバイス。
[C19]
Nが2に等しい、C16に記載のデバイス。
[C20]
前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記非整列BLTコマンドが、第1のBLT領域を指定する、ここにおいて、前記1つまたは複数のプロセッサが、
前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することと、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
前記第1の整列BLTコマンドが前記第2のBLT領域を指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが前記第3のBLT領域を指定するように前記第2の整列BLTコマンドを生成することと
を行うようにさらに構成された、C16に記載のデバイス。
[C21]
前記第2のBLT領域が、前記第1のBLT領域の偶数線を含み、前記第3のBLT領域が、前記第1のBLT領域の奇数線を含む、C20に記載のデバイス。
[C22]
前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する第1の面の第1の面ポインタ値を指定する、ここにおいて、前記1つまたは複数のプロセッサが、
前記複数の整列BLTコマンドの各々が、前記複数の整列BLTコマンドの各々に関連する前記面のうちの1つの前記第1の面ポインタ値を指定するように前記複数の整列BLTコマンドを生成すること
を行うようにさらに構成された、C16に記載のデバイス。
[C23]
前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記非整列BLTコマンドが、第1のBLT領域を指定する、ここにおいて、前記1つまたは複数のプロセッサが、
前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することと、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
前記第1の整列BLTコマンドが、前記第2の面幅と、前記第1の面ポインタ値と、前記第2のBLT領域とを指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが、前記第2の面幅と、前記第1の面ポインタ値と、前記第3のBLT領域とを指定するように前記第2の整列BLTコマンドを生成することと
を行うようにさらに構成された、C22に記載のデバイス。
[C24]
前記第2のBLT領域が、前記第1のBLT領域の偶数線を含み、前記第3のBLT領域が、前記第1のBLT領域の奇数線を含む、C23に記載のデバイス。
[C25]
前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する第1の面の第1の面ポインタ値を指定する、ここにおいて、前記第1の面ポインタ値が、前記複数の整列BLTコマンドを実行するプロセッサに関連する所定の整列幅制約の整数倍ではない、ここにおいて、前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記1つまたは複数のプロセッサが、
第2の面ポインタ値と第3の面ポインタ値とが前記所定の整列幅制約の異なる整数倍であるように前記第1の面ポインタ値と前記所定の整列幅制約とに基づいて前記第2の面ポインタ値と前記第3の面ポインタ値とを決定することと、
前記第1の整列BLTコマンドが、前記第1の整列BLTコマンドに関連する前記面のうちの1つの前記第2の面ポインタ値を指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが、前記第2の整列BLTコマンドに関連する前記面のうちの1つの前記第3の面ポインタ値を指定するように前記第2の整列BLTコマンドを生成することと
を行うようにさらに構成された、C16に記載のデバイス。
[C26]
前記第2の面ポインタ値が、前記第1の面ポインタ値よりも小さく、前記第3の面ポインタ値が、前記第1の面ポインタ値よりも大きい、C25に記載のデバイス。
[C27]
前記非整列BLTコマンドが、第1のBLT領域を指定する、ここにおいて、前記1つまたは複数のプロセッサが、
前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することと、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
前記第1の整列BLTコマンドが、前記第2の面幅と、前記第2の面ポインタ値と、前記第2のBLT領域とを指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが、前記第2の面幅と、前記第3の面ポインタ値と、前記第3のBLT領域とを指定するように前記第2の整列BLTコマンドを生成することと
を行うようにさらに構成された、C25に記載のデバイス。
[C28]
前記デバイスが、ワイヤレス通信デバイスとモバイルフォンハンドセットとのうちの少なくとも1つを備える、C15に記載のデバイス。
[C29]
非整列ブロック転送(BLT)コマンドを受信するための手段と、
前記非整列BLTコマンドを複数の整列BLTコマンドに変換するための手段と
を備える装置。
[C30]
実行されたとき、1つまたは複数のプロセッサに、
非整列ブロック転送(BLT)コマンドを複数の整列BLTコマンドに変換すること
を行わせる命令を記憶するコンピュータ可読記憶媒体。
Claims (28)
- 1つまたは複数のプロセッサを用いて、非整列ブロック転送(BLT)コマンドを複数の整列BLTコマンドに変換すること
を備え、前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する複数の面のうちの第1の面のための第1の面幅と、前記第1の面内の第1のBLT領域とを指定し、前記第1の面が、ピクセルデータの2次元アレイに対応し、前記第1の面は、前記第1の面幅を有する複数の線を含み、ここにおいて、前記非整列BLTコマンドを変換することが、
前記第1の面幅に基づいて第2の面幅を決定することと、ここにおいて、前記第2の面幅が前記第1の面幅のN倍であり、ここで、Nは、2以上の整数である、
前記複数の整列BLTコマンドの各々に関連する複数の仮想面のうちの少なくとも1つのための前記第2の面幅を前記複数の整列BLTコマンドの各々が指定するように、前記複数の整列BLTコマンドを生成することと、
を備え、前記複数の整列BLTコマンドが、
前記複数の仮想面のうちのソース仮想面および前記複数の仮想面のうちの宛先仮想面と、前記ソース仮想面および前記宛先仮想面は、それぞれ前記第2の面幅を各々指定し、前記ソース仮想面は、前記第1の面中の前記複数の線のうちのN個の線のセットを組み合わせることによって定義され、
前記ソース仮想面に関連するN個のソース領域および前記宛先仮想面に関連するN個の宛先領域と、
を指定し、
前記N個のソース領域が、前記非整列BLTコマンドに関連する前記第1のBLT領域を、前記複数の整列BLTコマンドに関連するN個の不連続の領域に分割することによって作成される、方法。 - 前記第2の面幅を決定することが、前記第1の面幅と、前記複数の整列BLTコマンドを実行するプロセッサに関連する所定の整列幅制約とに基づいて前記第2の面幅を決定することを備える、請求項1に記載の方法。
- 前記第1の面幅が、前記所定の整列幅制約の整数倍でない、ここにおいて、前記第1の面幅と前記所定の整列幅制約とに基づいて前記第2の面幅を決定することは、前記第2の面幅が前記所定の整列幅制約の整数倍であるように前記第2の面幅を決定することを備える、請求項2に記載の方法。
- Nが2に等しい、請求項1に記載の方法。
- 前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記複数の整列BLTコマンドを生成することが、
前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することと、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
前記第1の整列BLTコマンドが前記第2のBLT領域を指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが前記第3のBLT領域を指定するように前記第2の整列BLTコマンドを生成することと
を備える、請求項1に記載の方法。 - 前記第2のBLT領域が、前記第1のBLT領域の偶数線を含み、前記第3のBLT領域が、前記第1のBLT領域の奇数線を含む、請求項5に記載の方法。
- 前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する前記第1の面の第1の面ポインタ値を指定する、ここにおいて、前記複数の整列BLTコマンドを生成することが、
前記複数の整列BLTコマンドの各々が、前記複数の整列BLTコマンドの各々に関連する前記複数の仮想面のうちの1つのための前記第1の面ポインタ値を指定するように前記複数の整列BLTコマンドを生成すること
を備える、請求項1に記載の方法。 - 前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記複数の整列BLTコマンドを生成することが、
前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することと、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
前記第1の整列BLTコマンドが、前記第2の面幅と、前記第1の面ポインタ値と、前記第2のBLT領域とを指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが、前記第2の面幅と、前記第1の面ポインタ値と、前記第3のBLT領域とを指定するように前記第2の整列BLTコマンドを生成することと
を備える、請求項7に記載の方法。 - 前記第2のBLT領域が、前記第1のBLT領域の偶数線を含み、前記第3のBLT領域が、前記第1のBLT領域の奇数線を含む、請求項8に記載の方法。
- 前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する前記第1の面の第1の面ポインタ値を指定する、ここにおいて、前記第1の面ポインタ値が、前記複数の整列BLTコマンドを実行するプロセッサに関連する所定の整列幅制約の整数倍ではない、ここにおいて、前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記複数の整列BLTコマンドを生成することが、
第2の面ポインタ値と第3の面ポインタ値とが前記所定の整列幅制約の異なる整数倍であるように前記第1の面ポインタ値と前記所定の整列幅制約とに基づいて前記第2の面ポインタ値と前記第3の面ポインタ値とを決定することと、
前記第1の整列BLTコマンドが、前記第1の整列BLTコマンドに関連する前記複数の仮想面のうちの1つの前記第2の面ポインタ値を指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが、前記第2の整列BLTコマンドに関連する前記複数の仮想面のうちの1つの前記第3の面ポインタ値を指定するように前記第2の整列BLTコマンドを生成することと
を備える、請求項1に記載の方法。 - 前記第2の面ポインタ値が、前記第1の面ポインタ値よりも小さく、前記第3の面ポインタ値が、前記第1の面ポインタ値よりも大きい、請求項10に記載の方法。
- 前記複数の整列BLTコマンドを生成することが、前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することを備える、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
ここにおいて、前記第1の整列BLTコマンドを生成することは、前記第1の整列BLTコマンドが、前記第2の面幅と、前記第2の面ポインタ値と、前記第2のBLT領域とを指定するように前記第1の整列BLTコマンドを生成することを備える、
ここにおいて、前記第2の整列BLTコマンドを生成することは、前記第2の整列BLTコマンドが、前記第2の面幅と、前記第3の面ポインタ値と、前記第3のBLT領域とを指定するように前記第2の整列BLTコマンドを生成することを備える、請求項10に記載の方法。 - 前記第2のBLT領域が、前記第1のBLT領域の偶数線を含み、前記第3のBLT領域が、前記第1のBLT領域の奇数線を含む、請求項12に記載の方法。
- ブロック転送(BLT)コマンドを記憶するように構成されたメモリと、
非整列BLTコマンドを複数の整列BLTコマンドに変換することと、ここにおいて、前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する複数の面のうちの第1の面のための第1の面幅と、前記第1の面内の第1のBLT領域とを指定し、前記第1の面が、ピクセルデータの2次元アレイに対応し、前記第1の面は、前記第1の面幅を有する複数の線を含み、
前記第1の面幅に基づいて第2の面幅を決定することと、ここにおいて、前記第2の面幅が前記第1の面幅のN倍であり、ここで、Nは、2以上の整数である、
前記複数の整列BLTコマンドの各々に関連する複数の仮想面のうちの少なくとも1つのための前記第2の面幅を前記複数の整列BLTコマンドの各々が指定するように、前記複数の整列BLTコマンドを生成することと
を行うように構成された、1つまたは複数のプロセッサと
を備え、前記複数の整列BLTコマンドが、
前記複数の仮想面のうちのソース仮想面および前記複数の仮想面のうちの宛先仮想面と、前記ソース仮想面および前記宛先仮想面は、前記第2の面幅を各々指定し、前記ソース仮想面は、前記第1の面中の前記複数の線のうちのN個の線のセットを組み合わせることによって定義され、
前記ソース仮想面に関連するN個のソース領域および前記宛先仮想面に関連するN個の宛先領域と
を指定し、前記N個のソース領域が、前記非整列BLTコマンドに関連する前記第1のBLT領域を、前記複数の整列BLTコマンドに関連するN個の不連続の領域に分割することによって作成される、デバイス。 - 前記1つまたは複数のプロセッサが、前記第1の面幅と、前記複数の整列BLTコマンドを実行するプロセッサに関連する所定の整列幅制約とに基づいて前記第2の面幅を決定することを行うようにさらに構成された、請求項14に記載のデバイス。
- 前記第1の面幅が、前記所定の整列幅制約の整数倍でない、ここにおいて、前記1つまたは複数のプロセッサは、前記第2の面幅が前記所定の整列幅制約の整数倍であるように前記第2の面幅を決定することを行うようにさらに構成された、請求項15に記載のデバイス。
- Nが2に等しい、請求項14に記載のデバイス。
- 前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記1つまたは複数のプロセッサが、
前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することと、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
前記第1の整列BLTコマンドが前記第2のBLT領域を指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが前記第3のBLT領域を指定するように前記第2の整列BLTコマンドを生成することと
を行うようにさらに構成された、請求項14に記載のデバイス。 - 前記第2のBLT領域が、前記第1のBLT領域の偶数線を含み、前記第3のBLT領域が、前記第1のBLT領域の奇数線を含む、請求項18に記載のデバイス。
- 前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する前記第1の面の第1の面ポインタ値を指定する、ここにおいて、前記1つまたは複数のプロセッサが、
前記複数の整列BLTコマンドの各々が、前記複数の整列BLTコマンドの各々に関連する前記複数の仮想面のうちの1つのための前記第1の面ポインタ値を指定するように前記複数の整列BLTコマンドを生成すること
を行うようにさらに構成された、請求項14に記載のデバイス。 - 前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記1つまたは複数のプロセッサが、
前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することと、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
前記第1の整列BLTコマンドが、前記第2の面幅と、前記第1の面ポインタ値と、前記第2のBLT領域とを指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが、前記第2の面幅と、前記第1の面ポインタ値と、前記第3のBLT領域とを指定するように前記第2の整列BLTコマンドを生成することと
を行うようにさらに構成された、請求項20に記載のデバイス。 - 前記第2のBLT領域が、前記第1のBLT領域の偶数線を含み、前記第3のBLT領域が、前記第1のBLT領域の奇数線を含む、請求項21に記載のデバイス。
- 前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する前記第1の面の第1の面ポインタ値を指定する、ここにおいて、前記第1の面ポインタ値が、前記複数の整列BLTコマンドを実行するプロセッサに関連する所定の整列幅制約の整数倍ではない、ここにおいて、前記複数の整列BLTコマンドが、第1の整列BLTコマンドと第2の整列BLTコマンドとを備える、ここにおいて、前記1つまたは複数のプロセッサが、
第2の面ポインタ値と第3の面ポインタ値とが前記所定の整列幅制約の異なる整数倍であるように前記第1の面ポインタ値と前記所定の整列幅制約とに基づいて前記第2の面ポインタ値と前記第3の面ポインタ値とを決定することと、
前記第1の整列BLTコマンドが、前記第1の整列BLTコマンドに関連する前記複数の仮想面のうちの1つの前記第2の面ポインタ値を指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが、前記第2の整列BLTコマンドに関連する前記複数の仮想面のうちの1つの前記第3の面ポインタ値を指定するように前記第2の整列BLTコマンドを生成することと
を行うようにさらに構成された、請求項14に記載のデバイス。 - 前記第2の面ポインタ値が、前記第1の面ポインタ値よりも小さく、前記第3の面ポインタ値が、前記第1の面ポインタ値よりも大きい、請求項23に記載のデバイス。
- 前記1つまたは複数のプロセッサが、
前記第1のBLT領域に基づいて第2のBLT領域と第3のBLT領域とを決定することと、前記第2のBLT領域が、前記第3のBLT領域とは異なる、
前記第1の整列BLTコマンドが、前記第2の面幅と、前記第2の面ポインタ値と、前記第2のBLT領域とを指定するように前記第1の整列BLTコマンドを生成することと、
前記第2の整列BLTコマンドが、前記第2の面幅と、前記第3の面ポインタ値と、前記第3のBLT領域とを指定するように前記第2の整列BLTコマンドを生成することと
を行うようにさらに構成された、請求項23に記載のデバイス。 - 前記デバイスが、ワイヤレス通信デバイスとモバイルフォンハンドセットとのうちの少なくとも1つを備える、請求項14に記載のデバイス。
- 非整列ブロック転送(BLT)コマンドを受信するための手段と、
前記非整列BLTコマンドを複数の整列BLTコマンドに変換するための手段と、ここにおいて、前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する複数の面のうちの第1の面のための第1の面幅と、前記第1の面内の第1のBLT領域とを指定し、前記第1の面が、ピクセルデータの2次元アレイに対応し、前記第1の面は、前記第1の面幅を有する複数の線を含み、
前記第1の面幅に基づいて第2の面幅を決定するための手段と、ここにおいて、前記第2の面幅が前記第1の面幅のN倍であり、ここで、Nは、2以上の整数である、
前記複数の整列BLTコマンドの各々に関連する複数の仮想面のうちの少なくとも1つのための前記第2の面幅を前記複数の整列BLTコマンドの各々が指定するように、前記複数の整列BLTコマンドを生成するための手段と
を備え、前記複数の整列BLTコマンドが、
前記複数の仮想面のうちのソース仮想面および前記複数の仮想面のうちの宛先仮想面と、前記ソース仮想面および前記宛先仮想面は、前記第2の面幅を各々指定し、前記ソース仮想面は、前記第1の面中の前記複数の線のうちのN個の線のセットを組み合わせることによって定義され、
前記ソース仮想面に関連するN個のソース領域および前記宛先仮想面に関連するN個の宛先領域と
を指定し、前記N個のソース領域が、前記非整列BLTコマンドに関連する前記第1のBLT領域を、前記複数の整列BLTコマンドに関連するN個の不連続の領域に分割することによって作成される、装置。 - 実行されたとき、1つまたは複数のプロセッサに、
非整列ブロック転送(BLT)コマンドを複数の整列BLTコマンドに変換することと、ここにおいて、前記非整列BLTコマンドが、前記非整列BLTコマンドに関連する複数の面のうちの第1の面のための第1の面幅と、前記第1の面内の第1のBLT領域とを指定し、前記第1の面が、ピクセルデータの2次元アレイに対応し、前記第1の面は、前記第1の面幅を有する複数の線を含み、
前記第1の面幅に基づいて第2の面幅を決定することと、ここにおいて、前記第2の面幅が前記第1の面幅のN倍であり、ここで、Nは、2以上の整数である、
前記複数の整列BLTコマンドの各々に関連する複数の仮想面のうちの少なくとも1つのための前記第2の面幅を前記複数の整列BLTコマンドの各々が指定するように、前記複数の整列BLTコマンドを生成することと
を行わせる命令を記憶し、前記複数の整列BLTコマンドが、
前記複数の仮想面のうちのソース仮想面および前記複数の仮想面のうちの宛先仮想面と、前記ソース仮想面および前記宛先仮想面は、前記第2の面幅を各々指定し、前記ソース仮想面は、前記第1の面中の前記複数の線のうちのN個の線のセットを組み合わせることによって定義され、
前記ソース仮想面に関連するN個複数のソース領域および前記宛先仮想面に関連するN個の宛先領域と
を指定し、前記N個のソース領域が、前記非整列BLTコマンドに関連する前記第1のBLT領域を、前記複数の整列BLTコマンドに関連するN個の不連続の領域に分割することによって作成される、非一時的コンピュータ可読記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/566,423 US9818170B2 (en) | 2014-12-10 | 2014-12-10 | Processing unaligned block transfer operations |
US14/566,423 | 2014-12-10 | ||
PCT/US2015/059450 WO2016093990A1 (en) | 2014-12-10 | 2015-11-06 | Processing unaligned block transfer operations |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017539030A JP2017539030A (ja) | 2017-12-28 |
JP2017539030A5 JP2017539030A5 (ja) | 2018-02-15 |
JP6352546B2 true JP6352546B2 (ja) | 2018-07-04 |
Family
ID=54602040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017530746A Expired - Fee Related JP6352546B2 (ja) | 2014-12-10 | 2015-11-06 | 非整列ブロック転送動作の処理 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9818170B2 (ja) |
EP (1) | EP3230880A1 (ja) |
JP (1) | JP6352546B2 (ja) |
CN (1) | CN107003964B (ja) |
WO (1) | WO2016093990A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10180734B2 (en) | 2015-03-05 | 2019-01-15 | Magic Leap, Inc. | Systems and methods for augmented reality |
WO2016141373A1 (en) | 2015-03-05 | 2016-09-09 | Magic Leap, Inc. | Systems and methods for augmented reality |
US10838207B2 (en) | 2015-03-05 | 2020-11-17 | Magic Leap, Inc. | Systems and methods for augmented reality |
CN108604383A (zh) | 2015-12-04 | 2018-09-28 | 奇跃公司 | 重新定位系统和方法 |
US10649211B2 (en) | 2016-08-02 | 2020-05-12 | Magic Leap, Inc. | Fixed-distance virtual and augmented reality systems and methods |
US10812936B2 (en) | 2017-01-23 | 2020-10-20 | Magic Leap, Inc. | Localization determination for mixed reality systems |
EP3596705A4 (en) | 2017-03-17 | 2020-01-22 | Magic Leap, Inc. | COLOR VIRTUAL CONTENT DEFORMATION MIXED REALITY SYSTEM AND VIRTUAL CONTENT GENERATION METHOD USING THE SAME |
AU2018233733B2 (en) * | 2017-03-17 | 2021-11-11 | Magic Leap, Inc. | Mixed reality system with multi-source virtual content compositing and method of generating virtual content using same |
CA3054619C (en) | 2017-03-17 | 2024-01-30 | Magic Leap, Inc. | Mixed reality system with virtual content warping and method of generating virtual content using same |
CN112513712B (zh) | 2018-07-23 | 2023-05-09 | 奇跃公司 | 具有虚拟内容翘曲的混合现实系统和使用该系统生成虚拟内容的方法 |
US10943521B2 (en) | 2018-07-23 | 2021-03-09 | Magic Leap, Inc. | Intra-field sub code timing in field sequential displays |
CN109656477B (zh) * | 2018-12-11 | 2020-05-19 | 华中科技大学 | 一种基于STT-MRAM的非接触式智能卡SoC |
CN111126589B (zh) * | 2019-12-31 | 2022-05-20 | 昆仑芯(北京)科技有限公司 | 神经网络数据处理装置、方法和电子设备 |
CN111899150A (zh) * | 2020-08-28 | 2020-11-06 | Oppo广东移动通信有限公司 | 数据处理方法、装置、电子设备及存储介质 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2089165B (en) * | 1980-10-30 | 1985-10-09 | Canon Kk | Character and image processing |
US4903217A (en) * | 1987-02-12 | 1990-02-20 | International Business Machines Corp. | Frame buffer architecture capable of accessing a pixel aligned M by N array of pixels on the screen of an attached monitor |
US5131083A (en) | 1989-04-05 | 1992-07-14 | Intel Corporation | Method of transferring burst data in a microprocessor |
US5218674A (en) * | 1990-09-14 | 1993-06-08 | Hughes Aircraft Company | Hardware bit block transfer operator in a graphics rendering processor |
US5251298A (en) * | 1991-02-25 | 1993-10-05 | Compaq Computer Corp. | Method and apparatus for auxiliary pixel color management using monomap addresses which map to color pixel addresses |
CA2074388C (en) * | 1992-01-30 | 2003-01-14 | Jeremy E. San | Programmable graphics processor having pixel to character conversion hardware for use in a video game system or the like |
US5801717A (en) * | 1996-04-25 | 1998-09-01 | Microsoft Corporation | Method and system in display device interface for managing surface memory |
US6031550A (en) * | 1997-11-12 | 2000-02-29 | Cirrus Logic, Inc. | Pixel data X striping in a graphics processor |
WO1999034273A2 (en) | 1997-12-30 | 1999-07-08 | Lsi Logic Corporation | Automated dual scatter/gather list dma |
US6065070A (en) | 1998-03-18 | 2000-05-16 | National Semiconductor Corporation | DMA configurable channel with memory width N and with steering logic comprising N multiplexors, each multiplexor having a single one-byte input and N one-byte outputs |
US6542909B1 (en) * | 1998-06-30 | 2003-04-01 | Emc Corporation | System for determining mapping of logical objects in a computer system |
US6411302B1 (en) | 1999-01-06 | 2002-06-25 | Concise Multimedia And Communications Inc. | Method and apparatus for addressing multiple frame buffers |
US6513107B1 (en) * | 1999-08-17 | 2003-01-28 | Nec Electronics, Inc. | Vector transfer system generating address error exception when vector to be transferred does not start and end on same memory page |
JP2001111651A (ja) | 1999-10-07 | 2001-04-20 | Internatl Business Mach Corp <Ibm> | データ伝送装置およびその方法 |
US6587112B1 (en) | 2000-07-10 | 2003-07-01 | Hewlett-Packard Development Company, L.P. | Window copy-swap using multi-buffer hardware support |
US6900813B1 (en) | 2000-10-04 | 2005-05-31 | Ati International Srl | Method and apparatus for improved graphics rendering performance |
US7120317B1 (en) * | 2001-03-01 | 2006-10-10 | Silicon Motion, Inc. | Method and system for a programmable image transformation |
US7340495B2 (en) * | 2001-10-29 | 2008-03-04 | Intel Corporation | Superior misaligned memory load and copy using merge hardware |
US20110087859A1 (en) * | 2002-02-04 | 2011-04-14 | Mimar Tibet | System cycle loading and storing of misaligned vector elements in a simd processor |
US6943804B2 (en) * | 2002-10-30 | 2005-09-13 | Hewlett-Packard Development Company, L.P. | System and method for performing BLTs |
CN1795442A (zh) * | 2003-05-26 | 2006-06-28 | 皇家飞利浦电子股份有限公司 | 用于在主存储器和存储装置之间传送数据的方法和设备 |
US7308526B2 (en) * | 2004-06-02 | 2007-12-11 | Intel Corporation | Memory controller module having independent memory controllers for different memory types |
US7296108B2 (en) | 2005-05-26 | 2007-11-13 | International Business Machines Corporation | Apparatus and method for efficient transmission of unaligned data |
US8031197B1 (en) | 2006-02-03 | 2011-10-04 | Nvidia Corporation | Preprocessor for formatting video into graphics processing unit (“GPU”)-formatted data for transit directly to a graphics memory |
FR2899354A1 (fr) | 2006-03-28 | 2007-10-05 | St Microelectronics Sa | Traitement de donnees avec transfert de donnees entre memoires. |
JP5226341B2 (ja) * | 2008-02-27 | 2013-07-03 | 富士通株式会社 | チャネル装置、情報処理システム、及びデータ転送方法 |
US9245496B2 (en) * | 2012-12-21 | 2016-01-26 | Qualcomm Incorporated | Multi-mode memory access techniques for performing graphics processing unit-based memory transfer operations |
-
2014
- 2014-12-10 US US14/566,423 patent/US9818170B2/en not_active Expired - Fee Related
-
2015
- 2015-11-06 JP JP2017530746A patent/JP6352546B2/ja not_active Expired - Fee Related
- 2015-11-06 CN CN201580067163.4A patent/CN107003964B/zh not_active Expired - Fee Related
- 2015-11-06 EP EP15797535.0A patent/EP3230880A1/en not_active Withdrawn
- 2015-11-06 WO PCT/US2015/059450 patent/WO2016093990A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
EP3230880A1 (en) | 2017-10-18 |
CN107003964A (zh) | 2017-08-01 |
US9818170B2 (en) | 2017-11-14 |
CN107003964B (zh) | 2020-05-22 |
JP2017539030A (ja) | 2017-12-28 |
WO2016093990A1 (en) | 2016-06-16 |
US20160171644A1 (en) | 2016-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6352546B2 (ja) | 非整列ブロック転送動作の処理 | |
US10885607B2 (en) | Storage for foveated rendering | |
JP6009692B2 (ja) | グラフィックスプロセッシングユニットベースのメモリ転送動作を行うためのマルチモードメモリアクセス技法 | |
KR102475212B1 (ko) | 타일식 아키텍처들에서의 포비티드 렌더링 | |
JP6185211B1 (ja) | 適応的シェーディングによるテクスチャルックアップを使用した帯域幅低減 | |
JP6073533B1 (ja) | タイルベースのアーキテクチャ上での最適化されたマルチパスレンダリング | |
JP6133490B2 (ja) | タイルベースのレンダリングのためのイントラフレームタイムスタンプ | |
US10062139B2 (en) | Vertex shaders for binning based graphics processing | |
US10078883B2 (en) | Writing graphics data from local memory to system memory | |
JP2018512644A (ja) | 低品質タイルを使用してメモリ帯域幅を減らすためのシステムおよび方法 | |
US9019284B2 (en) | Input output connector for accessing graphics fixed function units in a software-defined pipeline and a method of operating a pipeline | |
US7490208B1 (en) | Architecture for compact multi-ported register file |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171221 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171221 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20171221 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20180116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180419 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180508 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180606 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6352546 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |