KR102381945B1 - 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법 - Google Patents
그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법 Download PDFInfo
- Publication number
- KR102381945B1 KR102381945B1 KR1020150161918A KR20150161918A KR102381945B1 KR 102381945 B1 KR102381945 B1 KR 102381945B1 KR 1020150161918 A KR1020150161918 A KR 1020150161918A KR 20150161918 A KR20150161918 A KR 20150161918A KR 102381945 B1 KR102381945 B1 KR 102381945B1
- Authority
- KR
- South Korea
- Prior art keywords
- tile
- tessellation
- pipeline
- draw call
- type
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- 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
- 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
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/12—Bounding box
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
Abstract
Description
도 2는 타일 기반 렌더링(TBR)을 설명하기 위한 도면이다.
도 3 내지 도 5는 테셀레이션 파이프라인을 설명하기 위한 도면들이다.
도 6은 일 실시예에 따른 도 1의 GPU의 상세 하드웨어 구조를 도시한 블록도이다.
도 7은 일 실시예에 따른 그래픽스 파이프라인을 설명하기 위한 도면이다.
도 8은 일 실시예에 따른 비닝 파이프라인을 설명하기 위한 도면이다.
도 9는 일 실시예에 따른 바운딩 박스 비트스트림을 생성하는 방법의 흐름도이다.
도 10은 일 실시예에 따른 2×2 타일들에 의해 커버되는 드로우콜들의 예시를 도시한 도면이다.
도 11은 일 실시예에 따른 바운딩 박스의 공간과 테셀레이팅된 프리미티브들로 구성된 공간 사이의 포함 관계를 설명하기 위한 도면이다.
도 12는 일 실시예에 따라 바운딩 박스 비트스트림을 생성하는 것을 설명하기 위한 도면이다.
도 13은 일 실시예에 따라, 다양한 종류의 가시성 비트스트림들을 설명하기 위한 도면이다.
도 14는 일 실시예에 따른 렌더링 파이프라인을 설명하기 위한 도면이다.
도 15는 일 실시예에 따른 렌더링 파이프라인을 수행하는 방법의 상세 흐름도이다.
도 16은 일 실시예에 따른, 컴퓨팅 장치의 상세 하드웨어 구성을 도시한 블록도이다.
도 17은 일 실시예에 따른 그래픽스 파이프라인을 수행하는 방법의 흐름도이다.
Claims (20)
- 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법에 있어서,
비닝 파이프라인에서, 입력된 드로우콜들 각각이 테셀레이션이 필요한 제 1 타입의 드로우콜인지 또는 테셀레이션이 불필요한 제 2 타입의 드로우콜인지 여부를 판단하는 단계;
상기 비닝 파이프라인에서, 상기 제 1 타입의 드로우콜에 대응되는 바운딩 박스를 커버하는 타일 리스트를 식별하기 위한 타일 비닝을 수행하는 단계;
상기 비닝 파이프라인에서, 상기 제 1 타입의 드로우콜을 나타내는 식별 정보, 상기 제 2 타입의 드로우콜을 나타내는 식별 정보 및 상기 타일 리스트의 정보를 포함하는 바운딩 박스 비트스트림을 생성하는 단계; 및
렌더링 파이프라인에서, 테셀레이션을 수행하는 단계를 포함하고,
상기 테셀레이션을 수행하는 단계는 상기 제 1 타입의 드로우콜을 포함하는 타일들에 대해서만 상기 테셀레이션을 수행하고,
제 1 타일이 상기 제 1 타입의 드로우콜을 포함하는 경우, 상기 제 1 타일의 프리미티브들은 테셀레이팅되고, 제 2 타일이 상기 제 1 타입의 드로우콜 및 상기 제 1 타일에서와 동일한 프리미티브들을 포함하는 경우, 상기 제 2 타일은 테셀레이팅되지 않는, 방법. - 삭제
- 제 1 항에 있어서,
상기 비닝 파이프라인에서,
타일들 각각에 대하여 입력된 드로우콜들의 적어도 하나가 타일에 존재하는지 여부를 나타내는 정보를 포함하는 드로우콜 비트스트림, 및 타일들 각각에 대하여 상기 입력된 드로우콜들에 포함된 프리미티브들의 개수를 나타내는 정보를 포함하는 프리미티브 비트스트림을 생성하는 단계를 더 포함하는, 방법. - 삭제
- 제 1 항에 있어서,
상기 그래픽스 파이프라인은
상기 렌더링 파이프라인에서만 상기 테셀레이션을 수행하는, 디퍼드 테셀레이션(deferred tessellation)을 수행하는, 방법. - 삭제
- 제 1 항에 있어서,
상기 제 1 타입의 드로우콜은
테셀레이션 스테이지를 포함하는 제 1 서브 렌더링 파이프라인에 의해 처리되고,
상기 제 2 타입의 드로우콜은
테셀레이션 스테이지를 포함하지 않는 제 2 서브 렌더링 파이프라인에 의해 처리되는, 방법. - 삭제
- 제 1 항에 있어서,
상기 렌더링 파이프라인에서,
상기 바운딩 박스 비트스트림에 기초하여, 상기 바운딩 박스를 커버하는 타일에 대해 상기 바운딩 박스를 커버하지 않는 타일보다 높은 우선순위가 할당되도록, 타일들의 렌더링 순서를 스케쥴링하는 단계를 더 포함하고,
상기 렌더링 파이프라인은
상기 스케쥴링된 타일들의 렌더링 순서에 따라, 타일 단위로 상기 렌더링을 수행하는, 방법. - 제 1 항에 있어서,
상기 제 1 타입의 드로우콜에 대한 테셀레이팅된 프리미티브들이 다른 타일에서 더 이상 이용되지 않는 경우 메모리로부터 상기 테셀레이팅된 프리미티브들과 관련된 데이터를 삭제하는 단계를 더 포함하는, 방법. - 제 1 항, 제 3 항, 제 5 항, 제 7 항, 제 9 항 및 제 10 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 비일시적(non-transitory) 기록매체.
- 그래픽스 파이프라인을 수행하는 컴퓨팅 장치에 있어서,
입력된 드로우콜들 각각이 테셀레이션이 필요한 제 1 타입의 드로우콜인지 또는 테셀레이션이 불필요한 제 2 타입의 드로우콜인지 여부를 비닝 파이프라인에서 판단하고, 상기 비닝 파이프라인에서 상기 제 1 타입의 드로우콜에 대응되는 바운딩 박스를 커버하는 타일 리스트를 식별하기 위한 타일 비닝을 수행하고, 상기 비닝 파이프라인에서 상기 제 1 타입의 드로우콜을 나타내는 식별 정보, 상기 제 2 타입의 드로우콜을 나타내는 식별 정보 및 상기 타일 리스트의 정보를 포함하는 바운딩 박스 비트스트림을 생성하고, 렌더링 파이프라인에서 상기 제 1 타입의 드로우콜을 포함하는 타일들에 대해서만 테셀레이션을 수행하는 그래픽 프로세싱 장치; 및
상기 비닝 파이프라인에서 생성된 상기 바운딩 박스 비트스트림을 저장하고 상기 저장된 바운딩 박스 비트스트림을 상기 렌더링 파이프라인에 제공하는 메모리를 포함하고,
제 1 타일이 상기 제 1 타입의 드로우콜을 포함하는 경우, 상기 제 1 타일의 프리미티브들은 테셀레이팅되고, 제 2 타일이 상기 제 1 타입의 드로우콜 및 상기 제 1 타일에서와 동일한 프리미티브들을 포함하는 경우, 상기 제 2 타일은 테셀레이팅되지 않는, 컴퓨팅 장치. - 삭제
- 제 12 항에 있어서,
상기 그래픽 프로세싱 장치는
타일들 각각에 대하여 입력된 드로우콜들의 적어도 하나가 타일에 존재하는지 여부를 나타내는 정보를 포함하는 드로우콜 비트스트림, 및 타일들 각각에 대하여 상기 입력된 드로우콜들에 포함된 프리미티브들의 개수를 나타내는 정보를 포함하는 프리미티브 비트스트림을 생성하는, 컴퓨팅 장치. - 삭제
- 제 12 항에 있어서,
상기 그래픽 프로세싱 장치는
디퍼드 테셀레이션(deferred tessellation)에 기초한 상기 그래픽스 파이프라인을 수행하는, 컴퓨팅 장치. - 삭제
- 제 12 항에 있어서,
상기 제 1 타입의 드로우콜은
테셀레이션 스테이지를 포함하는 제 1 서브 렌더링 파이프라인에 의해 처리되고,
상기 제 2 타입의 드로우콜은
테셀레이션 스테이지를 포함하지 않는 제 2 서브 렌더링 파이프라인에 의해 처리되는, 컴퓨팅 장치. - 제 12 항에 있어서,
상기 그래픽 프로세싱 장치는
상기 바운딩 박스 비트스트림에 기초하여 상기 바운딩 박스를 커버하는 타일에 대해 상기 바운딩 박스를 커버하지 않는 타일보다 높은 우선순위가 할당되도록, 타일들의 렌더링 순서를 스케쥴링하고, 상기 스케쥴링된 타일들의 렌더링 순서에 따라 타일 단위로 상기 렌더링을 수행하는, 컴퓨팅 장치. - 제 12 항에 있어서,
상기 메모리는
상기 제 1 타입의 드로우콜에 대한 테셀레이팅된 프리미티브들이 다른 타일에서 더 이상 이용되지 않는 경우 상기 테셀레이팅된 프리미티브들과 관련된 데이터를 삭제하는, 컴퓨팅 장치.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150161918A KR102381945B1 (ko) | 2015-11-18 | 2015-11-18 | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법 |
US15/202,608 US10192357B2 (en) | 2015-11-18 | 2016-07-06 | Graphic processing apparatus and method of performing graphics pipeline |
EP16197336.7A EP3171336B1 (en) | 2015-11-18 | 2016-11-04 | Graphic processing apparatus and method of performing graphics pipeline |
JP2016223100A JP2017097870A (ja) | 2015-11-18 | 2016-11-16 | グラフィックス処理装置を含むコンピューティング装置、及びグラフィックス処理装置においてグラフィックスパイプラインを実行する方法 |
CN201611013541.3A CN107038740B (zh) | 2015-11-18 | 2016-11-17 | 图形处理设备和执行图形管线的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150161918A KR102381945B1 (ko) | 2015-11-18 | 2015-11-18 | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170058113A KR20170058113A (ko) | 2017-05-26 |
KR102381945B1 true KR102381945B1 (ko) | 2022-04-01 |
Family
ID=57256107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150161918A Active KR102381945B1 (ko) | 2015-11-18 | 2015-11-18 | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10192357B2 (ko) |
EP (1) | EP3171336B1 (ko) |
JP (1) | JP2017097870A (ko) |
KR (1) | KR102381945B1 (ko) |
CN (1) | CN107038740B (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9842428B2 (en) * | 2014-06-27 | 2017-12-12 | Samsung Electronics Co., Ltd. | Dynamically optimized deferred rendering pipeline |
US11080928B2 (en) * | 2019-04-01 | 2021-08-03 | Qualcomm Incorporated | Methods and apparatus for visibility stream management |
US11373020B2 (en) * | 2019-07-29 | 2022-06-28 | GM Global Technology Operations LLC | Method and system with mesh data conversion for stamping dies |
US11010862B1 (en) * | 2019-11-14 | 2021-05-18 | Advanced Micro Devices, Inc. | Reduced bandwidth tessellation factors |
US20210287418A1 (en) * | 2020-03-10 | 2021-09-16 | Advanced Micro Devices, Inc. | Graphics processing unit render mode selection system |
KR102258610B1 (ko) * | 2020-08-07 | 2021-05-31 | 대한민국 | 모바일 기기에서의 대규모 건축물의 증강현실 구현을 위한 데이터 최적화에 의한 인터페이스 향상 방법 |
US11908079B2 (en) * | 2022-04-08 | 2024-02-20 | Qualcomm Incorporated | Variable rate tessellation |
US20240005602A1 (en) * | 2022-06-30 | 2024-01-04 | Advanced Micro Devices, Inc. | Pipeline delay reduction for coarse visibility compression |
CN116912395B (zh) * | 2023-09-14 | 2024-01-12 | 武汉蜂鸟龙腾软件有限公司 | 基于OpenGL的图形混合渲染方法、装置及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130120380A1 (en) | 2011-11-16 | 2013-05-16 | Qualcomm Incorporated | Tessellation in tile-based rendering |
US20130265309A1 (en) | 2012-04-04 | 2013-10-10 | Qualcomm Incorporated | Patched shading in graphics processing |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009093956A1 (en) | 2008-01-23 | 2009-07-30 | Swiftfoot Graphics Ab | Method, apparatus, and computer program product for improved graphics performance |
GB201007348D0 (en) | 2010-04-30 | 2010-06-16 | Imagination Tech Ltd | Programmable tessellation in a tile based rendering system |
US9330495B2 (en) * | 2012-08-09 | 2016-05-03 | Qualcomm Incorporated | Extending DX11 GPU for programmable vector graphics |
US8941676B2 (en) | 2012-10-26 | 2015-01-27 | Nvidia Corporation | On-chip anti-alias resolve in a cache tiling architecture |
US9030480B2 (en) * | 2012-12-18 | 2015-05-12 | Nvidia Corporation | Triggering performance event capture via pipelined state bundles |
GB2509113B (en) | 2012-12-20 | 2017-04-26 | Imagination Tech Ltd | Tessellating patches of surface data in tile based computer graphics rendering |
US9483861B2 (en) | 2013-03-15 | 2016-11-01 | Qualcomm Incorporated | Tile-based rendering |
WO2014172687A2 (en) * | 2013-04-18 | 2014-10-23 | Massachusetts Institute Of Technology, Inc. | Methods and apparati for implementing programmable pipeline for three-dimensional printing including multi-material applications |
KR102109130B1 (ko) | 2013-08-12 | 2020-05-08 | 삼성전자주식회사 | 그래픽스 프로세싱 유닛, 이의 동작 방법, 및 이를 포함하는 장치들 |
-
2015
- 2015-11-18 KR KR1020150161918A patent/KR102381945B1/ko active Active
-
2016
- 2016-07-06 US US15/202,608 patent/US10192357B2/en active Active
- 2016-11-04 EP EP16197336.7A patent/EP3171336B1/en active Active
- 2016-11-16 JP JP2016223100A patent/JP2017097870A/ja active Pending
- 2016-11-17 CN CN201611013541.3A patent/CN107038740B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130120380A1 (en) | 2011-11-16 | 2013-05-16 | Qualcomm Incorporated | Tessellation in tile-based rendering |
US20130265309A1 (en) | 2012-04-04 | 2013-10-10 | Qualcomm Incorporated | Patched shading in graphics processing |
Also Published As
Publication number | Publication date |
---|---|
US20170140573A1 (en) | 2017-05-18 |
CN107038740A (zh) | 2017-08-11 |
US10192357B2 (en) | 2019-01-29 |
CN107038740B (zh) | 2021-09-14 |
JP2017097870A (ja) | 2017-06-01 |
KR20170058113A (ko) | 2017-05-26 |
EP3171336A1 (en) | 2017-05-24 |
EP3171336B1 (en) | 2019-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102327144B1 (ko) | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 타일 기반 그래픽스 파이프라인을 수행하는 방법 | |
KR102381945B1 (ko) | 그래픽 프로세싱 장치 및 그래픽 프로세싱 장치에서 그래픽스 파이프라인을 수행하는 방법 | |
US10049426B2 (en) | Draw call visibility stream | |
KR101563098B1 (ko) | 커맨드 프로세서를 갖는 그래픽 프로세싱 유닛 | |
KR102651126B1 (ko) | 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법 | |
JP5960368B2 (ja) | ビジビリティ情報を用いたグラフィックスデータのレンダリング | |
KR102341267B1 (ko) | 양안 시차 영상에 대한 렌더링 방법 및 장치 | |
KR101697910B1 (ko) | 그래픽 프로세싱을 위한 임의적 제어 지점들에서의 결함-허용 선점 메커니즘 | |
US9715750B2 (en) | System and method for layering using tile-based renderers | |
KR102499397B1 (ko) | 그래픽스 파이프라인을 수행하는 방법 및 장치 | |
KR20160148594A (ko) | 그래픽스 프로세싱에 있어서 렌더 타깃에 기초한 플렉스 렌더링 | |
KR102521654B1 (ko) | 컴퓨팅 시스템 및 컴퓨팅 시스템에서 타일-기반 렌더링의 그래픽스 파이프라인을 수행하는 방법 | |
JP6884766B2 (ja) | 帯域幅圧縮グラフィックスデータの記憶 | |
KR20230048441A (ko) | 그래픽스 프로세싱 유닛 하이브리드 렌더링을 위한 장치 및 방법 | |
CN104823220A (zh) | 用于图形处理的图形存储器加载掩模 | |
US10262391B2 (en) | Graphics processing devices and graphics processing methods |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20151118 |
|
PG1501 | Laying open of application | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20201118 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20151118 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20211014 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20211230 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20220329 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20220330 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20250225 Start annual number: 4 End annual number: 4 |