IP Library › Granted Patent US 10,332,231
Granted Patent B2
US 10,332,231 · App. 15/407,980 · Granted Jun 25, 2019

Computing system and method of performing tile-based rendering of graphics pipeline

Inventors: Sangoak Woo (Anyang-si, KR); Jongpil Son (Seongnam-si, KR); Seungcheol Baek (Seoul, KR); Soojung Ryu (Hwaseong-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06T1/20G06T1/60
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,332,231
App. No.
15/407,980
Granted
Jun 25, 2019
Kind
B2
Abstract

A computing system includes a memory device comprising a memory array and an internal processor configured to perform a first sub pipeline of a graphics pipeline for tile-based rendering by using graphics data stored in the memory array, for offload processing of the first sub pipeline from a host processor; and the host processor configured to perform a second sub pipeline of the graphics pipeline by using a result of the first sub pipeline stored in the memory array.

Claims (49)

1. A computing system comprising:

a memory device including a memory array and an internal processor; and

a host processor configured to determine whether to control the internal processor to perform offload processing,

the memory device configured such that, in response to the host processor determining to control the internal processor to perform the offload processing, the internal processor performs a first sub pipeline of a graphics pipeline for tile-based rendering by using graphics data stored in the memory array,

the host processor configured to perform a second sub pipeline of the graphics pipeline based on a result of the first sub pipeline,

wherein the first sub pipeline comprises a binning pipeline configured to generate information about a primitive list corresponding to tiles for the graphics data stored in the memory array, and

wherein the second sub pipeline comprises a rendering pipeline configured to perform rendering per tile by reading the generated information about the primitive list from the memory array.

2. The computing system of claim 1 , wherein

the memory array is configured to store the information about the primitive list corresponding to the tiles, as a result of the first sub pipeline.

3. The computing system of claim 1 , wherein

the host processor is a graphics processing unit (GPU), and

the internal processor is a processor-in-memory (PIM).

4. The computing system of claim 1 , wherein

the first sub pipeline is an input assembler stage configured to supply data of vertices based on input draw calls.

5. The computing system of claim 4 , wherein

the second sub pipeline comprises the rendering pipeline and stages of the binning pipeline excluding the input assembler stage.

6. The computing system of claim 4 , wherein the host processor is further configured such that the host processor performs the determining of whether to control the internal processor to perform the offload processing based on an efficiency of a vertex cache.

7. The computing system of claim 1 , wherein the host processor is further configured such that, in response to the host processor determining not to control the internal processor to perform the offload processing, the host processor performs the first sub pipeline.

8. A method of performing a graphics pipeline for tile-based rendering of a computing system, the method comprising:

determining, by a host processor, whether to control an internal processor of a memory device to perform offload processing; and

in response to the determining, determining to control the internal processor to perform the offload processing,

performing, by the internal processor, a first sub pipeline of a graphics pipeline for tile-based rendering by using graphics data stored in a memory array of the memory device,

storing, in the memory array, a result of the first sub pipeline processed by the internal processor, and

performing, by the host processor, a second sub pipeline using the result of the first sub pipeline stored in the memory array,

wherein the first sub pipeline comprises a binning pipeline configured to generate information about a primitive list corresponding to tiles for the graphics data stored in the memory array, and

wherein the second sub pipeline comprises a rendering pipeline configured to perform rendering per tile by reading the generated information about the primitive list from the memory array.

9. The method of claim 8 , wherein

the result of the first sub pipeline comprises the information about the primitive list corresponding to the tiles.

10. The method of claim 8 , wherein

the first sub pipeline is an input assembler stage configured to supply data of vertices based on input draw calls.

11. The method of claim 10 , wherein

the second sub pipeline comprises the rendering pipeline and stages of the binning pipeline excluding the input assembler stage.

12. The method of claim 10 , wherein the determining whether to control the internal processor of the memory device to perform the offload processing comprises:

determining, by the host processor, whether to control the internal processor to perform the offload processing based on an efficiency of a vertex cache.

13. A host processor comprising:

an offload determiner configured to select between,

an internal processor in an exterior memory device performing an offload processing of a first sub pipeline included in a graphics pipeline for tile-based rendering, and

the host processor performing the first sub pipeline; and

a graphics pipeline core configured to receive a result of the first sub pipeline and to perform a second sub pipeline following the first sub pipeline,

wherein the first sub pipeline comprises a binning pipeline configured to generate information about a primitive list corresponding to tiles for graphics data stored in a memory array in the exterior memory device, and

wherein the second sub pipeline comprises a rendering pipeline configured to perform rendering per tile by reading the generated information about the primitive list from the memory array.

14. The host processor of claim 13 , wherein

the first sub pipeline is an input assembler stage configured to supply data of vertices based on input draw calls.

15. The host processor of claim 14 , wherein

the second sub pipeline comprises the rendering pipeline and stages of the binning pipeline excluding the input assembler stage.

16. The host processor of claim 14 , wherein

the offload determiner is further configured to perform a determination of which of the exterior memory device and the graphics pipeline core is to perform the first sub pipeline based on a determined efficiency of a vertex cache.

17. The host processor of claim 13 , wherein

the offload determiner is configured to transmit a command to the internal processor of the exterior memory device to control the exterior memory device to perform the offload processing upon determination that the internal processor is configured to perform the offload processing.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2017
From: WOO, SANGOAK; SON, JONGPIL; BAEK, SEUNGCHEOL; RYU, SOOJUNG
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 040991/0913 →
Priority Claims (1)
KR 10-2016-0008906 · Jan 25, 2016 · national
Continuity (1)
Related Publication 20170213312A1 · Jul 27, 2017