KR20140005388A - 렌더링 데이터 처리 장치 및 방법 - Google Patents

렌더링 데이터 처리 장치 및 방법 Download PDF

Info

Publication number
KR20140005388A
KR20140005388A KR1020120068449A KR20120068449A KR20140005388A KR 20140005388 A KR20140005388 A KR 20140005388A KR 1020120068449 A KR1020120068449 A KR 1020120068449A KR 20120068449 A KR20120068449 A KR 20120068449A KR 20140005388 A KR20140005388 A KR 20140005388A
Authority
KR
South Korea
Prior art keywords
data
shader
vertex
fragment
rendering
Prior art date
Application number
KR1020120068449A
Other languages
English (en)
Inventor
이재돈
정민규
손민영
이시화
이승원
Original Assignee
삼성전자주식회사
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120068449A priority Critical patent/KR20140005388A/ko
Priority to US13/918,210 priority patent/US20130342549A1/en
Publication of KR20140005388A publication Critical patent/KR20140005388A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Image Generation (AREA)

Abstract

호스트 컴퓨터로부터 수신된 버텍스 데이터(vertex data)를 그룹화(grouping)하고, 하나 이상의 쉐이더 프로세싱부(shader processing unit) 중 버텍스 쉐이더(vertex shader)를 처리할 쉐이더 프로세싱부를 할당하며, 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 버텍스 데이터를 처리하는 렌더링 데이터 처리 장치 및 방법을 제공한다.

Description

렌더링 데이터 처리 장치 및 방법{APPARATUS AND METHOD FOR PROCESSING RENDERING DATA}
아래의 실시예들은 렌더링 시스템에서 데이터를 그룹화 하여 처리하는 장치 및 방법에 관한 것이다.
3차원 렌더링 하드웨어(3D Rendering Hardware)는 고정 그래픽 파이프 라인을 사용하는 경우, 모든 응용을 고정된 렌더링 방식으로 처리한다.
이러한 경우, 렌더링 하드웨어는 표현상의 한계로 인하여 비슷한 화면을 보여 줄 수 밖에 없다.
렌더링 하드웨어는 고정 그래픽 파이프 라인의 일부를 응용 개발자가 만든 프로그램으로 대체할 수 있는 기능이 요구하고 있으며, 프로그래머블 쉐이더(programmable shader)를 통하여 상기 기능을 구현할 수 있다.
프로그래머블 쉐이더는 3차원 그래픽 파이프 라인에 유연성을 주기 위하여 만들어진 그래픽 파이프 라인 상의 프로그래밍 가능한 구성 요소를 통칭할 수 있다.
예를 들어, 프로그래머블 쉐이더는 버텍스 쉐이더(vertex shader), 기하학적 쉐이더(geometry shader) 또는 픽셀 쉐이더(pixel shader) 등이 있다.
프로그래머블 쉐이더를 적용한 렌더링 하드웨어가 그래픽 파이프 라인이 프로그래머블 (programmable)하기 때문에, GPU(Graphic Processing Unit)는 응용 프로그램의 요구에 따라 GPU 상에 동작하는 쉐이더 프로그램(shader program)을 변경해야 하고, 프로그램 변경 작업으로 인해 성능의 저하가 발생할 수 있다.
쉐이더 프로그램의 수는 응용 프로그램이 렌더링 하는 화면이 복잡할수록 증가할 수 있으며, GPU는 빈번한 쉐이더 프로그램 교체로 인하여 성능에 영향을 받을 수 있다.
일실시예에 따른 렌더링 데이터 처리 장치는 호스트 컴퓨터로부터 수신된 버텍스 데이터(vertex data)를 그룹화(grouping)하는 버텍스 로드부 및 하나 이상의 쉐이더 프로세싱부(shader processing unit) 중 버텍스 쉐이더(vertex shader)를 처리할 쉐이더 프로세싱부를 할당하고, 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 버텍스 데이터를 처리하는 작업 스케줄러를 포함할 수 있다.
일측에 따르면, 상기 호스트 컴퓨터는 3차원 어플리케이션의 실행 여부를 판단하는 어플리케이션 실행부 및 상기 버텍스 데이터를 상기 버텍스 로드부로 전송하는 디바이스 드라이버를 포함할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 상기 처리된 버텍스 데이터를 타일(tile) 단위로 그룹화 하는 타일 생성부를 더 포함할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 상기 타일 단위로 프리미티브 리스트(primitive list)를 읽어서 조각 데이터(fragment data)을 생성하는 조각 생성부를 더 포함할 수 있다.
일측에 따르면, 상기 조각 생성부는 화면에 출력되는 조각 데이터만 생성할 수 있다.
일측에 따르면, 상기 조각 생성부는 상기 생성된 조각 데이터를 쉐이더 프로그램(shader program)에 따라 그룹화 할 수 있다.
일측에 따르면, 상기 작업 스케줄러는 상기 하나 이상의 쉐이더 프로세싱부 중 상기 조각 데이터를 처리할 쉐이더 프로세싱부를 할당하고, 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 조각 데이터를 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 상기 처리된 조각 데이터를 이용하여 최종 출력되는 픽셀을 생성하는 래스터 연산부를 더 포함할 수 있다.
다른 실시예에 따른 렌더링 데이터 처리 장치는 호스트 컴퓨터로부터 수신되어 처리된 버텍스 데이터(vertex data)로부터 조각 데이터(fragment data)을 생성하여 그룹화 하는 조각 생성부 및 상기 하나 이상의 쉐이더 프로세싱부 중 상기 조각 데이터를 처리할 쉐이더 프로세싱부를 할당하고, 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 조각 데이터를 처리하는 작업 스케줄러를 포함할 수 있다.
일실시예에 따른 렌더링 데이터 처리 방법은 호스트 컴퓨터로부터 수신된 버텍스 데이터(vertex data)를 그룹화(grouping)하는 단계, 하나 이상의 쉐이더 프로세싱부(shader processing unit) 중 버텍스 쉐이더(vertex shader)를 처리할 쉐이더 프로세싱부를 할당하는 단계 및 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 버텍스 데이터를 처리하는 단계를 포함할 수 있다.
다른 실시예에 따른 렌더링 데이터 처리 방법은 호스트 컴퓨터로부터 수신되어 처리된 버텍스 데이터(vertex data)로부터 조각 데이터(fragment data)을 생성하여 그룹화 하는 단계, 상기 하나 이상의 쉐이더 프로세싱부 중 상기 조각 데이터를 처리할 쉐이더 프로세싱부를 할당하는 단계 및 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 조각 데이터를 처리하는 단계를 포함할 수 있다.
도 1은 일실시예에 따른 렌더링 데이터 처리 시스템의 전체 구성을 도시한 블록도이다.
도 2는 도 1의 일실시예에 따른 렌더링 데이터 처리 시스템의 상세 구성을 도시한 블록도이다.
도 3은 도 2의 일실시예에 따른 렌더링 데이터 처리 시스템의 상세 구성을 도시한 블록도이다.
도 4는 일측에 따른 작업 스케줄러로 렌더링 데이터를 처리할 프로세싱부를 할당하는 예를 도시한 도면이다.
도 5는 일측에 따른 조각 데이터를 그룹화 하는 방법을 도시한 도면이다.
도 6은 일측에 따른 버텍스 데이터를 그룹화 하는 방법을 도시한 도면이다.
도 7은 일측에 따른 렌더링 데이터 처리 장치가 픽셀 스캔라인(Pixel ScanLine) 처리하는 방법을 도시한 도면이다.
도 8은 일측에 따른 렌더링 데이터 처리 장치가 프리미티브(primitive) 단위 처리하는 방법을 도시한 도면이다.
도 9는 일측에 따른 렌더링 데이터 처리 장치가 픽셀 그룹화(Pixel grouping) 처리하는 방법을 도시한 도면이다.
도 10은 일실시예에 따른 렌더링 데이터 처리 방법을 도시한 흐름도이다.
도 11은 다른 실시예에 따른 렌더링 데이터 처리 방법을 도시한 흐름도이다.
이하 첨부 도면들 및 첨부 도면들에 기재된 내용들을 참조하여 실시예를 상세하게 설명하지만, 실시예에 의해 제한되거나 한정되는 것은 아니다.
실시예에서 사용되는 용어(terminology)들은 실시예를 적절히 표현하기 위해 사용된 용어들로서, 이는 사용자, 운용자의 의도 또는 해당 분야의 관례 등에 따라 달라질 수 있다. 따라서, 용어들에 대한 정의는 실시예 전반에 걸친 내용을 토대로 내려져야 할 것이다.
일측에 따른 렌더링 데이터 처리 장치는 3차원 렌더링 하드웨어(3D Rendering Hardware)에 적용함으로써, 프로그래머블 그래픽 파이프라인(Programmable Graphics Pipeline)의 일부를 응용 개발자가 만든 프로그램으로 대체 가능하다.
일측에 따른 렌더링 데이터 처리 장치는 3차원 그래픽 파이프라인에 유연성을 주어 프로그래머가 원하는 렌더링 작업을 수행할 수 있다.
참고적으로, 이하 기재된 프로그래머블 쉐이더(programmable shader)라 함은 그래픽 파이프라인 상의 프로그래밍 가능한 구성 요소로 통칭할 수 있다.
일측에 따르면, 프로그래머블 쉐이더는 버텍스 쉐이더(Vertex shader), 기하학적 쉐이더(Geometry shader) 또는 픽셀 쉐이더(Pixel shader)를 예로 들 수 있다.
일실시예에 따른 렌더링 데이터 처리 장치는 3차원 렌더링(3D Rendering) 과정에서 픽셀 쉐이더(Pixel shader)를 동작시키는 GPU의 콘텍스 스위치(context switch)를 줄일 수 있다.
일실시예에 따른 렌더링 데이터 처리 장치는 응용 프로그램이 입력한 버텍스 데이터(vertex data)를 동일한 버텍스 쉐이더 프로그램(vertex shader program)을 사용하는 부류끼리 그룹화 하여 처리할 수 있다.
일실시예에 따른 렌더링 데이터 처리 장치는 래스터(rasterizer)에서 생성된 조각 데이터(fragment data)를 동일한 픽셀 쉐이더 프로그램(pixel shader program)을 사용하는 부류끼리 그룹화 하여 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 호스트 컴퓨터의 디바이스 드라이버 또는 그래픽 서브시스템의 버텍스 로드부를 이용하여 버텍스 데이터를 그룹화 하고, 상기 그룹화된 버텍스 데이터를 할당된 프로세싱부를 이용하여 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 그래픽 서브시스템의 조각 생성부를 이용하여 픽셀 데이터를 그룹화 하고, 상기 그룹화된 픽셀 데이터를 할당된 프로세싱부를 이용하여 처리 할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 작업 큐를 통하여 그룹화된 버텍스 데이터 또는 그룹화된 픽셀 데이터를 처리할 수 있는 쉐이더 프로세싱부를 할당할 수 있다.
아래에서는 전술한 내용을 기반으로 각각의 도면을 참조하여 렌더링 데이터를 그룹화하여 처리하는 장치 및 방법을 설명하도록 한다.
도 1은 일실시예에 따른 렌더링 데이터 처리 시스템의 전체 구성을 도시한 블록도이다.
도 1을 참조하면, 일실시예에 따른 렌더링 데이터 처리 시스템의 그래픽 서브 시스템(120)은 호스트 컴퓨터(110)로부터 렌더링 데이터를 전달받아 동일한 쉐이더 프로그램을 처리하는 프로세싱부를 할당할 수 있다.
일측에 따른 그래픽 서브 시스템(120)은 상기 할당된 프로세싱부를 이용하여 상기 그룹화된 렌더링 데이터를 일괄 처리할 수 있다.
도 2는 도 1의 일실시예에 따른 렌더링 데이터 처리 시스템의 상세 구성을 도시한 블록도이다.
도 2를 참조하면, 호스트 컴퓨터(210)는 3차원 어플리케이션(3D application)(211)을 실행하는 경우, 렌더링(rendering) 작업을 처리하기 위하여 디바이스 드라이버(Device driver)(212)를 통해 렌더링 데이터(rendering data)를 GPU의 그래픽 서브시스템(Graphics Subsystem)(220)으로 전달하게 된다.
일측에 따른 그래픽 서브 시스템(220)은 상기 렌더링 데이터를 전달받아 동일한 쉐이더 프로그램을 처리하는 프로세싱부를 할당할 수 있으며, 상기 할당된 프로세싱부를 이용하여 상기 그룹화된 렌더링 데이터를 일괄 처리할 수 있다.
아래에서는 일측에 따른 그래픽 서브 시스템(220)을 렌더링 데이터 처리 장치로 가정하여 더욱 상세히 설명하도록 한다.
일측에 따른 렌더링 데이터 처리 장치는 GPU에서 쉐이더 프로그램(shader program)을 수행하는 프로세싱부(Processing Unit)을 스케줄링(scheduling) 할 수 있다.
도 2를 다시 참조하면, 일실시예에 따른 렌더링 데이터 처리 장치(220)는 호스트 컴퓨터(210)로부터 수신된 버텍스 데이터(vertex data)를 그룹화(grouping)하는 버텍스 로드부(221)를 포함할 수 있다.
일실시예에 따른 렌더링 데이터 처리 장치(220)는 작업 스케줄러(222)를 이용하여 하나 이상의 쉐이더 프로세싱부(shader processing unit)(223) 중 버텍스 쉐이더(vertex shader)를 처리할 쉐이더 프로세싱부를 할당할 수 있다.
일실시예에 따른 렌더링 데이터 처리 장치(220)는 작업 스케줄러(222)를 이용하여 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 버텍스 데이터를 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(220)는 응용 프로그램이 입력한 버텍스 데이터(vertex data)를 동일한 버텍스 쉐이더 프로그램(vertex shader program)을 사용하는 부류끼리 그룹화 하여 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(220)는 래스터(rasterizer)에서 생성된 조각 데이터(fragment data)를 동일한 픽셀 쉐이더 프로그램(pixel shader program)을 사용하는 부류끼리 그룹화 하여 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 호스트 컴퓨터의 디바이스 드라이버 또는 그래픽 서브시스템의 버텍스 로드부를 이용하여 버텍스 데이터를 그룹화 하고, 상기 그룹화된 버텍스 데이터를 할당된 프로세싱부를 이용하여 처리할 수 있다.
아래에서는 일측에 따른 렌더링 데이터 처리 장치(220)를 통하여 동일한 버텍스 쉐이더 프로그램(vertex shader program) 또는 동일한 픽셀 쉐이더 프로그램(pixel shader program)을 사용하는 렌더링 데이터를 그룹화 하여 처리하는 방법을 설명하도록 한다.
도 3은 도 2의 일실시예에 따른 렌더링 데이터 처리 시스템의 상세 구성을 도시한 블록도이다.
아래에서는 일측에 따른 그래픽 서브 시스템(320)을 렌더링 데이터 처리 장치로 가정하여 더욱 상세히 설명하도록 한다.
도 3을 참조하면, 일측에 따른 렌더링 데이터 처리 장치(320)는 버텍스 로드부(321)를 이용하여 호스트 컴퓨터(310)로부터 수신된 버텍스 데이터(vertex data)를 그룹화(grouping) 할 수 있다.
일측에 따르면, 호스트 컴퓨터(310)는 3차원 어플리케이션의 실행 여부를 판단하는 어플리케이션 실행부(311) 및 상기 버텍스 데이터를 상기 버텍스 로드부로 전송하는 디바이스 드라이버(Device driver)(312)를 포함할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 작업 스케줄러(322)를 이용하여 하나 이상의 쉐이더 프로세싱부(shader processing unit)(323) 중 버텍스 쉐이더(vertex shader)를 처리할 쉐이더 프로세싱부를 할당할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 작업 큐를 통하여 그룹화된 버텍스 데이터를 처리할 수 있는 쉐이더 프로세싱부를 할당할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 작업 스케줄러(322)를 이용하여 상기 할당된 쉐이더 프로세싱부(323)를 이용하여 상기 그룹화된 버텍스 데이터를 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 타일 생성부(324)를 이용하여 상기 처리된 버텍스 데이터를 타일(tile) 단위로 그룹화 할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 조각 생성부(325) 상기 타일 단위로 프리미티브 리스트(primitive list)를 읽어서 조각 데이터(fragment data)을 생성할 수 있다.
일측에 따르면, 상기 조각 데이터는 렌더링 데이터의 그래픽 픽셀 데이터에 대응될 수 있다.
일측에 따른 조각 생성부(325)는 화면에 출력되는 조각 데이터만 생성할 수 있다.
일측에 따른 조각 생성부(325)는 화면에 출력되는 픽셀 데이터만 생성할 수 있다.
일측에 따른 조각 생성부(325)는 상기 생성된 조각 데이터를 쉐이더 프로그램(shader program)에 따라 그룹화 할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 작업 스케줄러(322)를 이용하여 상기 하나 이상의 쉐이더 프로세싱부(323) 중 상기 조각 데이터를 처리할 쉐이더 프로세싱부를 할당할 수 있다.
일측에 따른 작업 스케줄러(322)는 상기 할당된 쉐이더 프로세싱부(323)를 이용하여 상기 그룹화된 조각 데이터를 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 래스터 연산부(326)를 이용하여 상기 처리된 조각 데이터를 이용하여 최종 출력되는 픽셀을 생성할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 텍스처부(texture unit)(327)를 이용하여 조각 데이터에 텍스처를 입혀 줄 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 상기 생성된 픽셀을 표시부를 통해서 출력할 수 있다.
도 4는 일측에 따른 작업 스케줄러로 렌더링 데이터를 처리할 프로세싱부를 할당하는 예를 도시한 도면이다.
도 4를 참조하면, 일측에 따른 작업 스케줄러(410)는 하나 이상의 쉐이더 프로세싱부(shader processing unit)(421~423)에 렌더링 데이터를 분배할 수 있다.
일측에 따른 작업 스케줄러(410)는 동일한 쉐이더 프로그램(shader program)을 사용하는 작업을 동일한 쉐이더 프로세싱부(421~423)에 할당할 수 있다.
도 5는 일측에 따른 조각 데이터를 그룹화 하는 방법을 도시한 도면이다.
도 5를 참조하면, 일측에 따른 조각 생성부(510)는 조각 데이터를 생성할 수 있다.
일측에 따르면, 상기 생성된 조각 데이터는 가시성 검사(visibility test)를 통하여 실제 화면에 출력될 조각 데이터만 필터링(filtering) 될 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 상기 조각 데이터를 동일한 픽셀 쉐이더 프로그램(pixel shader program)을 사용하는 부류끼리 그룹화 하여 작업 큐로 보낼 수 있다.
일측에 따른 작업 스케줄러는 해당 작업에 대응하는 쉐이더 프로세싱부를 할당하고, 픽셀 쉐이더 프로그램(pixel shader program)을 실행할 수 있다.
도 6은 일측에 따른 버텍스 데이터를 그룹화 하는 방법을 도시한 도면이다.
도 6을 참조하면, 일측에 따른 버텍스 로드부(610)는 호스트 컴퓨터로부터 전달받은 버텍스 데이터를 동일한 버텍스 쉐이더 프로그램(vertex shader program)을 사용하는 부류끼리 그룹화 하여 작업 큐로 보낼 수 있다.
일측에 따른 작업 스케줄러는 해당 작업에 대응하는 쉐이더 프로세싱부를 할당하고, 버텍스 쉐이더 프로그램(vertex shader program)를 실행할 수 있다.
일측에 따른 호스트 컴퓨터는 디바이스 드라이버를 이용하여 동일한 버텍스 쉐이더 프로그램을 사용하는 버텍스 데이터끼리 그룹화 하는 작업을 수행할 수도 있다.
일측에 따른 렌더링 데이터 처리 장치는 쉐이더 코어(Shader Core)에서 쉐이더 프로그램(Shader program)의 변경 횟수를 줄일 수 있다.
도 7은 일측에 따른 렌더링 데이터 처리 장치가 픽셀 스캔라인(Pixel ScanLine) 처리하는 방법을 도시한 도면이다.
도 8은 일측에 따른 렌더링 데이터 처리 장치가 프리미티브(primitive) 단위 처리하는 방법을 도시한 도면이다.
도 9는 일측에 따른 렌더링 데이터 처리 장치가 픽셀 그룹화(Pixel grouping) 처리하는 방법을 도시한 도면이다.
도 7 내지 도 9를 참조하면, 일측에 따른 렌더링 데이터 처리 장치는 렌더링 데이터를 픽셀 스캔라인 및 프리미티브 단위로 처리하는 경우 각각 11번 및 5번의 쉐이더 프로그램을 변경하해야 하는 반면, 픽셀 그룹화 처리하는 경우 3번의 쉐이더 프로르그램 변경만으로 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 쉐이더 프로그램(shader program)을 수행하는 프로세싱부(Processing Unit)을 스케줄링(scheduling) 하여 조각 데이터를 그룹화 하여 처리할 수 있다.
아래에서는 일측에 따라 조각 데이터를 그룹화하여 처리하는 방법을 설명하도록 한다.
도 1을 다시 참조하면, 일측에 따른 렌더링 데이터 처리 시스템의 그래픽 서브 시스템(120)은 호스트 컴퓨터(110)로부터 렌더링 데이터를 전달받을 수 있다.
일측에 따른 그래픽 서브 시스템(120)은 상기 전달된 렌더링 데이터로부터 조각 데이터를 생성하여 그룹화 하고, 동일한 쉐이더 프로그램을 처리하는 프로세싱부를 할당할 수 있다.
일측에 따른 그래픽 서브 시스템(120)은 상기 할당된 프로세싱부를 이용하여 상기 그룹화된 조각 데이터를 일괄 처리할 수 있다.
도 2를 다시 참조하면, 일실시예에 따른 렌더링 데이터 처리 장치(220)는 버텍스 로드부(221)를 이용하여 호스트 컴퓨터(210)로부터 수신된 버텍스 데이터(vertex data)를 그룹화(grouping) 할 수 있다.
일실시예에 따른 렌더링 데이터 처리 장치(220)는 작업 스케줄러(222)를 이용하여 상기 그룹화된 버텍스 데이터를 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 그래픽 서브시스템의 조각 생성부를 이용하여 픽셀 데이터를 그룹화 하고, 상기 그룹화된 픽셀 데이터를 할당된 프로세싱부를 이용하여 처리 할 수 있다.
도 3을 다시 참조하면, 일측에 따르면, 호스트 컴퓨터(310)는 3차원 어플리케이션의 실행 여부를 판단하는 어플리케이션 실행부(311) 및 상기 버텍스 데이터를 상기 버텍스 로드부로 전송하는 디바이스 드라이버(Device driver)(312)를 포함할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 타일 생성부(324)를 이용하여 호스트 컴퓨터로부터 수신되어 처리된 버텍스 데이터(vertex data)를 그룹화 할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 타일 생성부(324)를 이용하여 상기 처리된 버텍스 데이터를 타일(tile) 단위로 그룹화 할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 조각 생성부(325)를 이용하여 상기 그룹화된 버텍스 데이터를 조각 데이터(fragment data)로 생성할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 조각 생성부(325) 상기 타일 단위로 프리미티브 리스트(primitive list)를 읽어서 조각 데이터(fragment data)을 생성할 수 있다.
일측에 따른 조각 생성부(325)는 화면에 출력되는 조각 데이터만 생성할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 조각 생성부(325)를 이용하여 호스트 컴퓨터로부터 수신되어 처리된 버텍스 데이터(vertex data)로부터 조각 데이터(fragment data)을 생성하여 그룹화 할 수도 있다.
일측에 따른 조각 생성부(325)는 상기 생성된 조각 데이터를 쉐이더 프로그램(shader program)에 따라 그룹화 할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 작업 스케줄러(322)를 이용하여 상기 하나 이상의 쉐이더 프로세싱부 중 상기 조각 데이터를 처리할 쉐이더 프로세싱부를 할당할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 작업 큐를 통하여 상기 그룹화된 조각 데이터를 처리할 수 있는 쉐이더 프로세싱부를 할당할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 작업 스케줄러(322)를 이용하여 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 조각 데이터를 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 래스터 연산부(326)를 이용하여 상기 처리된 조각 데이터를 이용하여 최종 출력되는 픽셀을 생성할 수 있다.
일측에 따른 렌더링 데이터 처리 장치(320)는 상기 생성된 픽셀을 표시부를 통해서 출력할 수 있다.
도 5를 다시 참조하면, 일측에 따른 조각 생성부(510)는 조각 데이터를 생성할 수 있다.
일측에 따르면, 상기 생성된 조각 데이터는 가시성 검사(visibility test)를 통하여 실제 화면에 출력될 조각 데이터만 필터링(filtering) 될 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 상기 조각 데이터를 동일한 픽셀 쉐이더 프로그램(pixel shader program)을 사용하는 부류끼리 그룹화 하여 작업 큐로 보낼 수 있다.
일측에 따른 작업 스케줄러는 해당 작업에 대응하는 쉐이더 프로세싱부를 할당하고, 픽셀 쉐이더 프로그램(pixel shader program)을 실행할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 쉐이더 코어(Shader Core)에서 쉐이더 프로그램(Shader program)의 변경 횟수를 줄일 수 있다.
일측에 따른 렌더링 데이터 처리 방법은 3차원 렌더링(3D Rendering) 과정에서 픽셀 쉐이더(Pixel shader)를 동작시키는 GPU의 콘텍스 스위치(context switch)를 줄일 수 있다.
일측에 따른 렌더링 데이터 처리 방법은 래스터(rasterizer)에서 생성된 조각 데이터(fragment data)를 동일한 픽셀 쉐이더 프로그램(pixel shader program)을 사용하는 부류끼리 그룹화 하여 처리할 수 있다.
도 10은 일실시예에 따른 렌더링 데이터 처리 방법을 도시한 흐름도이다.
도 10을 참조하면, 일실시예에 따른 렌더링 데이터 처리 장치는 호스트 컴퓨터로부터 수신된 버텍스 데이터(vertex data)를 그룹화(grouping) 할 수 있다(1010).
일실시예에 따른 렌더링 데이터 처리 장치는 하나 이상의 쉐이더 프로세싱부(shader processing unit) 중 버텍스 쉐이더(vertex shader)를 처리할 쉐이더 프로세싱부를 할당할 수 있다(1020).
일실시예에 따른 렌더링 데이터 처리 장치는 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 버텍스 데이터를 처리할 수 있다(1030).
일실시예에 따른 렌더링 데이터 처리 장치는 상기 처리된 버텍스 데이터를 타일(tile) 단위로 그룹화 할 수 있다(1040).
일실시예에 따른 렌더링 데이터 처리 장치는 상기 타일 단위로 프리미티브 리스트(primitive list)를 읽어서 조각 데이터(fragment data)을 생성할 수 있다(1050).
일실시예에 따른 렌더링 데이터 처리 장치는 상기 생성된 조각 데이터를 쉐이더 프로그램(shader program)에 따라 그룹화 할 수 있다(1060).
일실시예에 따른 렌더링 데이터 처리 장치는 상기 하나 이상의 쉐이더 프로세싱부 중 상기 조각 데이터를 처리할 쉐이더 프로세싱부를 할당할 수 있다(1070).
일실시예에 따른 렌더링 데이터 처리 장치는 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 조각 데이터를 처리할 수 있다(1080).
일실시예에 따른 렌더링 데이터 처리 장치는 상기 처리된 조각 데이터를 이용하여 최종 출력되는 픽셀을 생성할 수 있다(1090).
일측에 따른 렌더링 데이터 처리 방법은 3차원 렌더링(3D Rendering) 과정에서 픽셀 쉐이더(Pixel shader)를 동작시키는 GPU의 콘텍스 스위치(context switch)를 줄일 수 있다.
일측에 따른 렌더링 데이터 처리 방법은 응용 프로그램이 입력한 버텍스 데이터(vertex data)를 동일한 버텍스 쉐이더 프로그램(vertex shader program)을 사용하는 부류끼리 그룹화 하여 처리할 수 있다.
도 11은 다른 실시예에 따른 렌더링 데이터 처리 방법을 도시한 흐름도이다.
도 11을 참조하면, 일측에 따른 렌더링 데이터 처리 장치는 호스트 컴퓨터로부터 수신되어 처리된 버텍스 데이터(vertex data)로부터 조각 데이터(fragment data)을 생성하여 그룹화 할 수 있다(1110).
일측에 따른 렌더링 데이터 처리 장치는 상기 하나 이상의 쉐이더 프로세싱부 중 상기 조각 데이터를 처리할 쉐이더 프로세싱부를 할당할 수 있다(1120).
일측에 따른 렌더링 데이터 처리 장치는 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 조각 데이터를 처리할 수 있다(1130).
일측에 따른 렌더링 데이터 처리 장치는 상기 처리된 조각 데이터를 이용하여 최종 출력되는 픽셀을 생성할 수 있다.
일측에 따른 렌더링 데이터 처리 방법은 3차원 렌더링(3D Rendering) 과정에서 픽셀 쉐이더(Pixel shader)를 동작시키는 GPU의 콘텍스 스위치(context switch)를 줄일 수 있다.
일측에 따른 렌더링 데이터 처리 방법은 래스터(rasterizer)에서 생성된 조각 데이터(fragment data)를 동일한 픽셀 쉐이더 프로그램(pixel shader program)을 사용하는 부류끼리 그룹화 하여 처리할 수 있다.
일측에 따른 렌더링 데이터 처리 장치는 3차원 렌더링 하드웨어(3D Rendering Hardware)에 적용함으로써, 프로그래머블 그래픽 파이프라인(Programmable Graphics Pipeline)의 일부를 응용 개발자가 만든 프로그램으로 대체 가능하다.
일측에 따른 렌더링 데이터 처리 장치는 3차원 그래픽 파이프라인에 유연성을 주어 프로그래머가 원하는 렌더링 작업을 수행할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. 
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
310: 호스트 컴퓨터 311: 3차원 어플리케이션
312: 디바이스 드라이버 320: 그래픽 서브 시스템
321: 버텍스 로드부 322: 작업 스케줄러
323: 쉐이더 프로세싱부 324: 타일 생성부
325: 조각 생성부 326: 래스터 연산부
327: 텍스처부

Claims (17)

  1. 호스트 컴퓨터로부터 수신된 버텍스 데이터(vertex data)를 그룹화(grouping)하는 버텍스 로드부; 및
    하나 이상의 쉐이더 프로세싱부(shader processing unit) 중 버텍스 쉐이더(vertex shader)를 처리할 쉐이더 프로세싱부를 할당하고, 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 버텍스 데이터를 처리하는 작업 스케줄러
    를 포함하는 렌더링 데이터 처리 장치.
  2. 제1항에 있어서,
    상기 호스트 컴퓨터는,
    3차원 어플리케이션의 실행 여부를 판단하는 어플리케이션 실행부; 및
    상기 버텍스 데이터를 상기 버텍스 로드부로 전송하는 디바이스 드라이버(Device driver)
    를 포함하는 렌더링 데이터 처리 장치.
  3. 제1항에 있어서,
    상기 처리된 버텍스 데이터를 타일(tile) 단위로 그룹화 하는 타일 생성부
    를 더 포함하는 렌더링 데이터 처리 장치.
  4. 제3항에 있어서,
    상기 타일 단위로 프리미티브 리스트(primitive list)를 읽어서 조각 데이터(fragment data)을 생성하는 조각 생성부
    를 더 포함하는 렌더링 데이터 처리 장치.
  5. 제4항에 있어서,
    상기 조각 생성부는,
    화면에 출력되는 조각 데이터만 생성하는 렌더링 데이터 처리 장치.
  6. 제4항에 있어서,
    상기 조각 생성부는,
    상기 생성된 조각 데이터를 쉐이더 프로그램(shader program)에 따라 그룹화 하는 렌더링 데이터 처리 장치.
  7. 제6항에 있어서,
    상기 작업 스케줄러는,
    상기 하나 이상의 쉐이더 프로세싱부 중 상기 조각 데이터를 처리할 쉐이더 프로세싱부를 할당하고, 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 조각 데이터를 처리하는 렌더링 데이터 처리 장치.
  8. 제7항에 있어서,
    상기 처리된 조각 데이터를 이용하여 최종 출력되는 픽셀을 생성하는 래스터 연산부
    를 더 포함하는 렌더링 데이터 처리 장치.
  9. 호스트 컴퓨터로부터 수신되어 처리된 버텍스 데이터(vertex data)로부터 조각 데이터(fragment data)을 생성하여 그룹화 하는 조각 생성부; 및
    상기 하나 이상의 쉐이더 프로세싱부 중 상기 조각 데이터를 처리할 쉐이더 프로세싱부를 할당하고, 상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 조각 데이터를 처리하는 작업 스케줄러
    를 포함하는 렌더링 데이터 처리 장치.
  10. 호스트 컴퓨터로부터 수신된 버텍스 데이터(vertex data)를 그룹화(grouping)하는 단계;
    하나 이상의 쉐이더 프로세싱부(shader processing unit) 중 버텍스 쉐이더(vertex shader)를 처리할 쉐이더 프로세싱부를 할당하는 단계; 및
    상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 버텍스 데이터를 처리하는 단계
    를 포함하는 렌더링 데이터 처리 방법.
  11. 제10항에 있어서,
    상기 처리된 버텍스 데이터를 타일(tile) 단위로 그룹화 하는 단계
    를 더 포함하는 렌더링 데이터 처리 방법.
  12. 제11항에 있어서,
    상기 타일 단위로 프리미티브 리스트(primitive list)를 읽어서 조각 데이터(fragment data)을 생성하는 단계
    를 더 포함하는 렌더링 데이터 처리 방법.
  13. 제12항에 있어서,
    상기 생성된 조각 데이터를 쉐이더 프로그램(shader program)에 따라 그룹화 하는 단계
    를 더 포함하는 렌더링 데이터 처리 방법.
  14. 제13항에 있어서,
    상기 하나 이상의 쉐이더 프로세싱부 중 상기 조각 데이터를 처리할 쉐이더 프로세싱부를 할당하는 단계; 및
    상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 조각 데이터를 처리하는 단계
    를 더 포함하는 렌더링 데이터 처리 방법.
  15. 제14항에 있어서,
    상기 처리된 조각 데이터를 이용하여 최종 출력되는 픽셀을 생성하는 단계
    를 더 포함하는 렌더링 데이터 처리 방법.
  16. 호스트 컴퓨터로부터 수신되어 처리된 버텍스 데이터(vertex data)로부터 조각 데이터(fragment data)을 생성하여 그룹화 하는 단계;
    상기 하나 이상의 쉐이더 프로세싱부 중 상기 조각 데이터를 처리할 쉐이더 프로세싱부를 할당하는 단계; 및
    상기 할당된 쉐이더 프로세싱부를 이용하여 상기 그룹화된 조각 데이터를 처리하는 단계
    를 포함하는 렌더링 데이터 처리 방법.
  17. 제10항 내지 제16항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
KR1020120068449A 2012-06-26 2012-06-26 렌더링 데이터 처리 장치 및 방법 KR20140005388A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120068449A KR20140005388A (ko) 2012-06-26 2012-06-26 렌더링 데이터 처리 장치 및 방법
US13/918,210 US20130342549A1 (en) 2012-06-26 2013-06-14 Apparatus and method for processing rendering data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120068449A KR20140005388A (ko) 2012-06-26 2012-06-26 렌더링 데이터 처리 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20140005388A true KR20140005388A (ko) 2014-01-15

Family

ID=49774054

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120068449A KR20140005388A (ko) 2012-06-26 2012-06-26 렌더링 데이터 처리 장치 및 방법

Country Status (2)

Country Link
US (1) US20130342549A1 (ko)
KR (1) KR20140005388A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160068204A (ko) 2014-12-05 2016-06-15 삼성전기주식회사 메시 지오메트리를 위한 데이터 처리 방법 및 이를 기록한 컴퓨터 판독 가능 저장 매체
CN115543158A (zh) * 2022-12-02 2022-12-30 北京麟卓信息科技有限公司 一种基于着色器的跨运行环境鼠标图层渲染优化方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2607002A (en) * 2021-05-11 2022-11-30 Advanced Risc Mach Ltd Fragment dependency management for variable rate shading

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6650327B1 (en) * 1998-06-16 2003-11-18 Silicon Graphics, Inc. Display system having floating point rasterization and floating point framebuffering
US6963347B1 (en) * 2000-08-04 2005-11-08 Ati International, Srl Vertex data processing with multiple threads of execution
GB0425204D0 (en) * 2004-11-15 2004-12-15 Falanx Microsystems As Processing of 3-dimensional graphics
US7830390B2 (en) * 2005-07-19 2010-11-09 Graphics Properties Holdings, Inc. Color computation of pixels using a plurality of vertex or fragment shader programs
US8134552B2 (en) * 2005-09-23 2012-03-13 Samsung Electronics Co., Ltd. Method, apparatus, and medium for efficiently rendering 3D object
US8077174B2 (en) * 2005-12-16 2011-12-13 Nvidia Corporation Hierarchical processor array
US7728841B1 (en) * 2005-12-19 2010-06-01 Nvidia Corporation Coherent shader output for multiple targets
US8176265B2 (en) * 2006-10-30 2012-05-08 Nvidia Corporation Shared single-access memory with management of multiple parallel requests
US7937567B1 (en) * 2006-11-01 2011-05-03 Nvidia Corporation Methods for scalably exploiting parallelism in a parallel processing system
US9589310B2 (en) * 2009-10-07 2017-03-07 Nvidia Corporation Methods to facilitate primitive batching
US8854384B2 (en) * 2010-04-06 2014-10-07 Broadcom Corporation Method and system for processing pixels utilizing scoreboarding
US20120194526A1 (en) * 2010-12-15 2012-08-02 Benjamin Thomas Sander Task Scheduling

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160068204A (ko) 2014-12-05 2016-06-15 삼성전기주식회사 메시 지오메트리를 위한 데이터 처리 방법 및 이를 기록한 컴퓨터 판독 가능 저장 매체
CN115543158A (zh) * 2022-12-02 2022-12-30 北京麟卓信息科技有限公司 一种基于着色器的跨运行环境鼠标图层渲染优化方法

Also Published As

Publication number Publication date
US20130342549A1 (en) 2013-12-26

Similar Documents

Publication Publication Date Title
KR102276909B1 (ko) 렌더링 방법 및 장치
EP2791910B1 (en) Graphics processing unit with command processor
US10026145B2 (en) Resource sharing on shader processor of GPU
US8339409B2 (en) Tile-based graphics system and method of operation of such a system
CN110032395B (zh) 用于提高资源利用率的统一寄存器文件
JP7253507B2 (ja) 仮想化アクセラレーテッド処理デバイスの早期仮想化コンテキストスイッチ
KR102631479B1 (ko) 그래픽스 처리
EP3489907A1 (en) Shader program execution techniques for use in graphics processing
US20130293546A1 (en) Dynamic load balancing apparatus and method for graphic processing unit (gpu)
US9922442B2 (en) Graphics processing unit and method for performing tessellation operations
US9558573B2 (en) Optimizing triangle topology for path rendering
KR102266962B1 (ko) 그래픽 파이프라인의 메모리 사용 감소를 위한 컴파일러 지원 기술
JP2020024716A (ja) グラフィック処理のためのパーシェーダープリアンブル
KR20200084000A (ko) 처리 유닛에서 작업로드의 정확한 일시 중지 및 재개
KR20140005388A (ko) 렌더링 데이터 처리 장치 및 방법
KR20170015231A (ko) 그래픽 처리 시스템
JP2023527322A (ja) ワークロード処理のためのタスクグラフスケジューリング
JP6309696B2 (ja) グラフィックス処理のための動的パイプライン
US11061429B2 (en) Fine-grained speed binning in an accelerated processing device
JP7245179B2 (ja) 仮想化デバイス用のファームウェアの変更
JP2022548563A (ja) フレキシブルマルチユーザグラフィックアーキテクチャ
KR102063835B1 (ko) 맵 리듀스 기반의 볼륨 렌더링 방법
Kuo et al. The design of LLVM-based shader compiler for embedded architecture
GB2615104A (en) GPU co-driver

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid