KR100301223B1 - 고성능3차원그래픽가속기를위한드로우처리기 - Google Patents

고성능3차원그래픽가속기를위한드로우처리기 Download PDF

Info

Publication number
KR100301223B1
KR100301223B1 KR1019940012656A KR19940012656A KR100301223B1 KR 100301223 B1 KR100301223 B1 KR 100301223B1 KR 1019940012656 A KR1019940012656 A KR 1019940012656A KR 19940012656 A KR19940012656 A KR 19940012656A KR 100301223 B1 KR100301223 B1 KR 100301223B1
Authority
KR
South Korea
Prior art keywords
pixel
draw
processor
function
register
Prior art date
Application number
KR1019940012656A
Other languages
English (en)
Other versions
KR950001544A (ko
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 리패치
Publication of KR950001544A publication Critical patent/KR950001544A/ko
Application granted granted Critical
Publication of KR100301223B1 publication Critical patent/KR100301223B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Abstract

드로우 패킷에 의해 정의된 3차원 기하 물체를 렌더링하기 위해 에지워킹 및 주사보간기능을 수행하는 그래픽 가속기를 위한 드로우처리기가 설명된다.
드로우처리기는 주사 라인상에서 픽셀의 서브세트를 렌더링함으로써 드로우처리기 세트가 함께 기하 물체 전체를 렌더링한다.
드로우처리기는 다중 뱅크 인터리브된 프레임버퍼의 인터리브 뱅크속으로 픽셀을 렌더링한다. 드로우처리기는 또한 직접 포트 파이프라인을 통하여 직접포트 데이타를 처리한다.

Description

고성능 3차원 그래픽 가속기를 위한 드로우처리기
제1도는 호스트 처리기, 메모리 서브시스템, 그래픽가속기 및 디스플레이 장치를 포함하는 컴퓨터 시스템의 블록도.
제2도는 명령 전처리기, 부동소숫점 처리기세트, 드로우처리기세트, 프레임버퍼, 후처리기 및 임의 액세스메모리/ 디지탈-아날로그 변환기(RAMDAC)로 구성되는 그래픽 가속기의 블록도.
제3도는 직접 포트 데이타 파이프라인과 함쩨, 3D기하 파이프라인의 재포맷팅회로를 도시하는 명령 전처리기의 블록도.
제4도는 제어저장장소(CS), 입력회로, 출력회로, 레지스터파일, 기능유니트세트, 제어회로 및 SRAM 인터페이스 회로를 포함하는 부동소숫점 처리기부의 블록도.
제5도는 3D 기하 파이프라인 ·인터페이스회로, 렌더링 회로, 직접 포토 버스 인터페이스 회로 및 메모리 제어회로를 도시하는 드로우처리기의 블록도.
제6도는 CD_ 버스를 통하여 3D 기하 파이프라인을 위한 출력 기하 패킷을 수신하는 3D기하 파이프라인 인터페이스 회로의 예시도.
제7도는 출력 기하 패킷내에 포함된 3D 기하 파이프라인 명령 포맷의 목록 및 명령 패킷내 각각의 매개변수를 위해 사용된 이중버퍼 레지스터(dbr1-dbr23)의 도시도.
제8도는 폭 버퍼로써 Z를 사용하는 히든 표면제거(HSR) 기능을 위한 Z- 버퍼링 제어필드의 코딩 도시도.
제9도는 윈도우 ID 확장으로써 Z를 사용하는 윈도우 ID(WID)기능을 위한 Z- 버퍼링 제어필드의 코딩 도시도.
제10도 내지 제13도는 드로우처리기의 픽셀동작예시도 및 프레임버퍼로 픽셀을 기록하기전에 드로우처리기에 의해 테스트된 상태의 도시도.
[발명의 배경]
[발명의 분야]
본 발명은 컴퓨터 그래픽 시스템분야에 관한 것이다.
더욱 상세히는 본발명은 컴퓨터 시스템에서 고성능 3차원 그래픽 가속기를 위한 드로우처리기에 관한 것이다.
[기술의 배경]
3 차원 그래픽 가속기는 컴퓨터 시스템을 위한 특수화된 그래픽 렌더링 서브시스템이다.
전형적으로는 컴퓨터시스템의 호스트 처리기상에서 실행하는 응용프로그램은 디스플레이장치상에서의 디스플레이를 위한 3차원 그래픽 성분을 정의하는 3차원 기하 입력 데이타를 발생시킨다. 응용프로그램은 전형적으로 기하 입력데이타를 호스트 처리기로부터 그래픽 가속기로 전송한다. 그후, 그래픽 가속기는 디스플레이 장치상에서 대응 그래픽 성분을 렌더링 한다.
고성능 3차원 그래픽 시스템구조의 설계는 역사적으로 시스템성능과 시스템단가사이의 균형을 구체화한다. 전형적인 설계의 목표는 시스템단가를 최소화하면서 시스템 성능을 증가시 키는 것이다.
그러나, 종래의 그래픽 시스템은 일반적으로 여러종류의 시스템 제약으로 인해 제한된 성능 혹은 높은 단가중의 하나를 겪는다.
예를들면, 상용 비디오 임의 액세스 메모리(VRAM)칩에 대한 최소 판독- 수정- 기록 사이클 타임이 렌더링 수행능력에 대한 기본적인 제약이기 때문에 고성능 그래픽 시스템은 전형적으로 다중 VRAM 뱅크로 구성된 인터리브된 프레임버퍼를 실시한다.
다중 인터리브된 VRAM 뱅크의 실시는 전체 렌더링 수행능력을 증가시키기 위해 프레임버퍼로 병렬 픽셀 렌더링을 가능하게 한다. 불행히도, 각각의 인터리브 VRAM릴 뱅크에 필요한 개별적인 주소지정논리는 이러한 고성능 시스템의 전력소비 및 단가를 증가시킨다.
반면에 그래픽 시스템은 단가 및 전력소비를 최소화하기 위해 단일 집적회로칩상에 렌더링 처리기를 구현할 수도 있다. 불행히도, 이러한 시스템은 단일 집적회로칩으로 이용가능한 인터페이스핀의 한정된 갯수로 인해 낮은 렌더링 수행능력을 겪는다.
인터페이스핀의 한정한 갯수는 프레임버퍼를 위한 인터리브 인자를 감소시키며, 이렇게하여 병렬처리에 의한 렌더링 수행능력의 이점을 배제시킨다.
종래의 그래픽 시스템은 흔히 그래픽 처리수행능력을 증가시키기 위해 병렬 처리 파이프라인을 사용한다. 예를들면, 그래픽 시스템에서 명암된 삼각형을 위한 주사변환(scan conversion) 은 전형적으로 에지워킹(edgewalking) 및 주사보간(scan interpolation)의 선형파이프라인에 의해 수행된다. 이러한 시스템에선, 에지워킹기능은 에지워킹처리기에 의해 수행되며, 주사보간 기능은 에지워킹처리기로부터 매개변수를 수신하는 병렬주사보간처리기 세트에 의해 수행된다.
그러나, 이러한 시스템은 모자이크형으로 된 기하에서 일반적으로 발생하는 상대적으로 가늘고 긴 삼각형의 렌더링을 할때 병렬처리속도의 이점을 얻지 못한다.
에지워킹처리기 및 주산보간처리기 사이의 매개변수 데이타 흐름은 가늘고 긴 삼각형에 대해 주사변환 수행시 매우 크게 증가한다. 불행하게도, 증가된 매개변수 데이타 흐름은 삼각형 렌더링이 느리며 그래픽 시스템 수행능력을 감소시킨다.
[발명의 요약]
3 차원 기하 물체를 렌더링하기 위해 3차원 기하 파이프라인을 통하여 에지워킹 및 주사 보간기능을 수행하며, 직접 포트 파이프라인을 통하여 픽셀 기능을 수행하는 그래픽 가속기를 위한 드로우처리기가 개시되었다. 드로우처리기는 주사선(Scan line) 에 픽셀의 서브세트를 렌더링하며, 따라서 드로우 프로세서 세트 전체가 합해서 전체 기하 물체를 렌더링한다. 드로우처리기는 픽셀을 렌더링하며 다중 뱅크 인터리브된 프레임버퍼의 인터리브 뱅크속으로 픽셀기능을 처리한다.
드로우처리기는 부동소숫점 처리기로부터 드로우 버스를 통하여 드로우 패킷을 수신하는 기하 파이프라인 인터페이스회로를 포함하며, 여기서 드로우 패킷은 기하 물체를 규정하는 기하 매개변수 세트를 가진다. 기하 파이프라인 인터페이스 회로는 드로우처리기에 대응하는 인터리브값에 따라 기하 매개변수를 조정한다.
드로우처리기는 또한 기하 파이프라인 인터페이스 회로로 부터 기하 매개변수를 수신하며, 기하 매개변수에 따른 에지워킹 및 주사보간기능의 수행에 의해 기하 물체에 대응하는 픽셀세트를 발생하는 렌더링 회로를 포함한다.
드로우처리기는 또한 명령 전처리기로부터 드로우 버스를 통하여 직접 포트 패킷을 수신하는 직접 포트 인터페이스 회로를 포함한다.
직접 포트 패킷은 드로우처리기의 적어도 하나의 픽셀기능을 제어하는 픽셀기능 매개변수 세트를 가진다
드로우처리기는 또한 직접 포트 인터페이스 회로로부터 픽셀 및 픽셀기능 매개변수를 수신하는 메모리 제어회로로 구성된다. 메모리 제어회로는 픽셀기능을 수행하면서 프레임버퍼 메모리내로 픽셀을 기록한다.
[발명의 상세한 설명]
컴퓨터 시스템에 있어서의 고성능 3차원 그래픽 가속기의 구조가 개시되었다.
특정응용의 설명을 목적으로 한 다음의 설명에서 숫자, 장치, 구성 및 회로가 본발명의 완전한 이해를 제공하기 위해 설명되었다. 그러나, 본발명의 관련 당업자에겐 이러한 특정한 상세사항없이 실행될수 있음이 명백할 것이다. 어떤 경우엔 잘 알려진 시스템들이 본발명을 불필요하게 애매하지 않도록 하기 위해 도표적으로 혹은 블록도로 도시되었다.
이제 제1도를 참조하면, 호스트 처리기(20), 메모리 서브시스템(22), 그래픽 가속기(24) 및 디스플레이장치(26)를 포함하는 컴퓨터 시스템의 블록도가 도시되어있다.
호스트처리기(20), 메모리 서브시스템(22)및 그래픽 가속기(24)는 각각 호스트 버스(28)를 통하여 통신하기 위해 연결되어 있다.
디스플레이장치(26)는 광범위한 종류의 래스터 디스플레이 모니터를 나타낸다.
호스트 처리기(20)는 광범위한 종류의 컴퓨터 처리기, 다중처리기 및 CPU 를 나타내며, 메모리 서브시스템(22)은 임의 액세스 메모리 및 대용량 저장장치를 포함하는 광범위한 종류의 메모리 서브시스템을 나타낸다. 호스트 버스(28)는 광범위한 종류의 통신 혹은 특수화된 서브시스템뿐만아니라 호스트 처리기, CPU 및 메모리 서브시스템 사이의 통신을 위한 호스트 컴퓨터 버스를 나타낸다.
호스트 처리기(20)는 호스트 버스(28)를 통해 프로그램된 입력/ 출력(I/O) 프로토콜에 따라 정보를 그래픽 가속기(24)로/ 로부터 전송한다. 또한 그래픽 가속기(24)는 직접 메모리 액세스(DMA) 프로토콜에 따라 메모리 서브시스템(22)에 액세스한다.
호스트 처리기(20)상에서 실행하는 그래픽 응용프로그램은 다스플레이장치(26)상에서의 디스플레이를 위한 이미지를 규정하는 3차원 기하 정보를 가지는 기하 데이타 어레이를 발생시킨다. 호스트 처리기(20)는 기하 데이타 어레이를 메모리 서브시스템(22)으로 전송한다. 그후, 그래픽 가속기(24)는 호스트 버스(28)를 통해 DMA 액세스 사이를을 사용하여 기하 데이타 어레이를 대체하여, 호스트 처리기(20)는 호스트 버스(28)를 통하여 프로그램된 I/O를 사용하여 그래픽 가속기(24)로 기하 데이타 어레이를 전송한다.
기하 데이타 어레이에서 3차원 기하 정보는 정점 좌표(vertex coordinates), 정점 위치(vertex position) 및 모델공간으로써 일반적으로 참조되는 3차원 공간내에서 삼각형, 벡터 및 점을 규정하는 다른 정보를 가지는 입력 정점 패킷의 흐름을 포함한다.
각각의 입력 정점 패킷은 정규정점(vertex normal), 색정점(vertex color), 정규패싯(facet normal),색패싯(facot color), 텍스처 맵 좌표(texture map coordinates), 픽-ids(pick-ids), 헤더 및 다른 정보를 포함하는 3차원 정점정보의 임의의 조합을 가질 수 있다.
헤더없는 입력 정점 패킷은 인접한 삼각형의 "지그재그" 패턴 형태로 삼각형스트립(triangle strip)을 규정할 수 있다. 헤더없는 입력 정점 패킷은 삼각형의 "스타 스트립(star strip)" 패턴형태로 삼각형 스트립을 규정할 수 있다. 부가하여 헤더없는 입력 정점 패킷은 고립된 삼각형의 스트립을 규정할 수도 있다.
헤더를 갖는 입력 정점 패킷은 각각의 삼각형에 대한 삼각형 스트립 포맷을 변화시킬수 있으며 "지그재그" 포맷 "스타" 포맷 및 고립된 삼각형 사이에 변화할 수 있다.
제2도는 그래픽 가속기(24)의 블록도이다. 그래픽 가속기(24)는 명령 전처리기(30), 부동소숫점 처리기 세트(40-43), 드로우처리기세트(50-54), 프레임버퍼(100), 후처리기(70)및 임의 액세스 메모리/ 디지탈-아날로그 변환기(RAMDAC)(72)로 구성된다.
RAMDAC(72)는 테이블조사(look-up) 기능이 실시된 상용 RAMDAC 와 유사하다.
일실시예에서, 명령 전처리기(30), 부동 소숫점 처리기(40-43), 드로우처리기(50-54) 및 후처리기(70)는 각각 개별적인 집적회로칩이다.
명령 전처리기(30)는 호스트 버스(28)를 통한 통신을 위해 연결된다.
명령 전처리기(30)는 호스트 버스(28)를 통하여 메모리 서브시스템(22)으로 부터 기하데이타 배열의 DMA 판독을 수행한다. 호스트 처리기(20)는 명령 전처리기(30)로 가상메모리 포인터를 전송한다. 가상 메모리 포인터는 메모리 서브시스템(22)내의 기하 데이타 어레이를 가리킨다 명령 전처리기(30)는 호스트 처리기(20)로부터의 중재없이 메모리 서브시스템(22)에 대한 DMA 판독을 수행하기 위해 가상메모리 포인터를 실제 메모리 주소로 변환한다.
명령 전처리기(30)는 두개의 데이타 파이프라인; 3D 기하 파이프라인 및 직접 포트 파이프라인을 실시 한다.
직접 포트 파이프라인에서 명령 전처리기(30)는 호스트 버스(28)를 통하여 직접 포트 데이타를 수신하혀, 직접 포트 패킷으로써 직접 포트 데이타를 드로우처리기(50-54) 로 명령-드로우 버스(command-to-draw bus) (CD-버스) (80)를 통해 전송한다.
직접 포트 데이타는 명령 전처리(30)가 드로우처리기(50-54) 와 공동으로 문자기록, 화면스크롤(screen scrolls)및 블록이동과 같은 Xll 기능을 수행하는 것에 의해 선택적으로 처리된다. 직접 포트 데이타는 또한 드로우처리기(50-54) 로의 레지스터기록 및 프레임버퍼(100) 로의 픽셀기록을 포함할 수 있다.
3D 기하 파이프 라인에서 명령 전처리기(30)는 기하 데이타 어레이로부터 입력 정점 패킷의 흐름을 검색하고, 입력 정점 패킷내에 포함된 정보를 재정돈하며 입력 정점 패킷내에서의 정보를 선택적으로 삭제한다. 명령 전처리기(30)는 입력 정점 패킷으로부터 표준화된 요소순서를 갖는 재포맷된 정점 패킷속으로 재정돈한다.
명령 전처리기(30)는 그후 부동 소숫점 버스에 대한 명령(CF_버스)(82) 을 통하여 부동 소숫점 처리기(40-43) 중의 하나로 출력 기하 패킷을 전송한다. 출력 기하 패킷은 선택적인 수정 및 보충데이타를 지닌 재포맷된 정점 패킷으로 구성된다.
명령 전처리기(30)는 각각의 입력 정점 패킷내의 정보가 상이한 숫자포맷을 32 비트 IEEE 부동 소숫점 숫자포맷으로 변환한다. 명령 전처리기(30)는 8비트 고정 소숫점 숫자, 16비트 고정 소숫점숫자 및 32 비트 혹은 64 비트 IEEE 부동 소숫점 숫자를 변환한다.
명령 전처리기(30)는 헤더필드를 재포맷 혹은 삽입하며, 상수를 삽입하며 순차 픽-id 를 발생 및 삽입하며 선택적으로 상수 순차 픽-id 를 삽입한다.
명령 전처리기(30)는 헤더의 연쇄비트를 검사하며 입력 정점 패킷으로부터 점, 선 및 삼각형을 포함하는 완전히 고립된 기하 프리미티브를 가지는 재포맷된 정점 패킷으로 정보를 재조합한다.
명령 전처리기(30)는 CF_버스(82)의 제어부를 통해 부동 소숫점 처리기(40-43) 로부터 제어 및 상태신호를 수신한다. 제어 및 상태신호는 출력 기하 패킷을 수신하기 위해 부동 소숫점 처리기(40-43) 내에서의 입력버퍼의 이용가능성을 나타낸다.
부동 소숫점 처리기(40-43) 는 각각 실제적으로 유사하다. 각각의 부동 소숫점 처리기(40-43) 는 병렬입력 및 출력패킷 통신하드웨어와 함께 32 비트 마이크로- 코드 구동 부동 소숫점 코어를 실시한다. 부동소숫점 처리기(40-43) 의 각각은 곱셈, ALU, 역수 평방근 및 정수연산을 포함한다. 각각의 부동 소숫점 처리기(40-43) 는 광범위한 종류의 특수화된 그래픽 명령어 및 형태를 실시한다. 각각의 부동 소숫점 처리기(40-43) 는 그래픽 가속기(24)에 의해 가장 큰 공통 3차원 그래픽 처리 마이크로코드 내부루프를 수행하기 위해 필요한 다수의 빠른 내부레지스터를 실시하기 위해 최적화된다.
일실시예에서, 각각의 부동 소숫점 처리기(40-43) 는 단일 집적회로칩상에 구현된다.
각각의 부동 소숫점 처리기(40-43) 에 필요한 지지 칩만이 제어저장장소(CS)내에 외부 마이크로코드를 제공하는 4개의 외부 SRAM 칩으로된 한 세트이다.
각각의 부동 소숫점 처리기(40-43) 는 드로우처리기(50-54) 에 의한 주사변환을 위해 삼각형 설정 기능을 실시한다. 이 삼각형 설정기능의 제1 단계는 오름차순 y 순서로 삼각형의 3정점을 정렬한다. 각각의 부동 소숫점 처리기(40-43)는 드로우 패킷을 CD_버스(80)를 통하여 모든 드로우처리기(50-54) 로 송신한다.
드로우 패킷은 삼각형, 점 및 선을 포함하는 최종 기하 프리미티브를 가진다.
드로우처리기(50-54) 는 프레임버퍼(100)를 위한 VRAM 제어칩으로서의 기능을 한다.
드로우처리기(50-54) 는 부동 소숫점 처리기(40-43) 중의 하나로부터 수신된 드로우 패킷에 따라 혹은 명령 전처리기(30)로부터 수신된 직접 포트 패킷에 따라 이미지를 프레임버퍼(100) 로 동시에 렌더링한다.
각각의 드로우처리기(50-54) 는 에지워킹기능 및 주사보간의 주사변환기능을 수행한다.
드로우처리기(50-54) 중에서 에지워킹 및 주사보간기능의 카피는 개별적인 에지워킹 및 주사보간 처리기 사이에서의 대규모 통신 통로에 대한 필요성을 제거하며, 이렇게하여 각각의 드로우처리기(50-54) 의 핀 수를 최소화하며 필요한 인쇄회로기판공간을 감소시킨다.
프레임버퍼(100) 는 5개의 VRAM 인터리브 뱅크의 세트로서 배열된다.
드로우처리기(50)는 픽셀데이타를 인터리브 뱅크_0 (61) 에 기록하며,
드로우처리기(51)는 픽셀데이타를 인터리브 뱅크_1 (62) 에 기록하며,
드로우처리기(52)는 픽셀데이타를 인터리브 뱅크_2 (63) 에 기록하며,
드로우처리기(53)는 픽셀데이타를 인터리브 뱅크_3 (64) 에 기록하며,
드로우처리기(54)는 픽셀데이타를 인터리브 뱅크_4 (65) 에 기록한다.
각각의 드로우처리기(50-54) 는 대응하는 인터리브 뱅크(61-65) 내에서만 가시 픽셀을 렌더링한다. 드로우처리기(50-54) 는 동시에 프레임버퍼(100) 에서 교정결합된 래스터화된 이미지를 산출하기 위해 드로우 패킷에 의해 정의된 삼각형 프리미티브를 렌더링한다. 각각의 처리기(50-54) 는 최종 래스터화된 이미지의 각 주사선을 따라서 매 5번째 픽셀을 래스터화 한다. 각각의 드로우처리기(50-54) 는 0,1,2,3 혹은 4 픽셀공간에 의해 오른쪽으로 바이어스된 주사라인을 개시시킨다.
각각의 드로우처리기(50-54) 는 선택적으로 깊이 큐잉(depth cueing)을 수행한다.
렌더링된 삼각형, 벡터 혹은 도트의 각 픽셀은 부동 소숫점 처리기에서 깊이 큐잉을 수행하는 종래 그래픽 시스템의 성능 패널티 없이 드로우처리기(50-54) 내에서 깊이 큐잉이 되어질 수 있다. 각각의 드로우처리기(50-54) 는 선택적으로 장방형 윈도우 클리핑, 블렌딩 및 다른 픽셀처리기능을 수행한다.
후처리기(70)는 비디오버스(84)를 통하여 프레임버퍼(100) 로부터 인터리브된 픽셀데이타를 수신한다. 후처리기(70)는 색 조사테이블 및 커서 기능을 수행한다.
RAMDAC(72)는 후처리기(70)로부터 수신된 픽셀데이타를 디스플레이장치(26)를 위한 비디오신호(73)로 변환한다.
제3도는 명령 전처리기(30)의 블록도이다.
3D 기하 파이프라인 및 직접 포트 파이프라인을 통한 통신을 위해 호스트 버스(28)에 연결된 명령 전처리기(30)가 도시되어 있다.
일실시예에서 명령 전처리기(30)는 단일 집적회로칩상에 실시되어 진다.
직접 포트 파이프라인은 입력 인터페이스(541) 및 Xll동작회로(551)를 포함한다.
입력 인터페이스(541) 는 호스트 버스(28)를 통하여 직접 포트 데이타를 수신하여 CD_버스(80)를 통하여 드로우처리기(50-54) 로 직접 포트 데이타를 전송한다.
직접 포트 데이타는 드로우처리기(50-54) 로의 레지스터기록 및 프레임버퍼(100)로의 개별적인 픽셀기록을 포함한다. 직접 포트 데이타는 드로우처리기(50-54) 와 함께 문자기록, 스크린스크롤 및 블록이동과 같은 X11기능을 수행하기 위해 X11 동작회로(551) 로 선택적으로 전송된다.
3D 기하 파이프라인은 입력인터페이스(541), 버켓 버퍼(bucket-buffer)(542), 포맷변환기(543)와, 정점 레지스터 세트(549) 및 교체튜플 레지스터(540)를 포함한 정점버퍼를 포함한다. 30 기하 파이프라인에서 포맷변환은 VCS동작회로(545) 및 변환기 시퀀서(544) 에 의해 제어된다. 출력 기하 패킷은 프리미티브 어셈블리회로(547) 및 시퀀서(548) 에 의해 조합된다. 32-16 회로(550) 는 데이타압축을 선택적으로 수행한다. 내부 레지스터세트(552) 는 호스트 버스(28)를 통하여 3D 기하 파이프라인 및 직접 포트 라인의 동작을 제어하기 위해 프로그램되어진다.
DMA 제어기(546) 는 호스트 버스(28)를 통해 버켓버퍼(542) 속으로 DMA전송을 수행한다.
입력 인터페이스(541) 는 호스트 버스(28)의 상이한 클록킹 환경과 명령 전처리기(30) 사이의 인터페이싱을 위한 버스트 버퍼(burst buffer)를 가진다.
버스트 버퍼는 버켓버퍼(542) 속으로 전송된 입력 정점 패킷을 위한 임시 유지 레지스터 세트로서의 기능을 한다.
포맷변환기회로(543) 는 버젯버퍼(542) 로부터의 입력 정점 패킷을 검색하며, 재포맷된 정점 패킷을 정점레지스터(549) 로 조합한다. 포맷변환기회로(543) 는 사전에 프로그램된 포맷변환동작에 따라 VCS 동작회로(545) 에 의해 제어된다. 포맷변환은 변환기시퀀서(544)에 의해 순서화 된다.
시퀀서(548) 의 제어하에 있는 프리미티브 어셀블리회로(547) 는 정점 레지스터(549) 로부터 재포맷된 정점 패킷을 액세스하며, CF_ 버스(82)를 통하여 출력 기하 패킷을 전송한다.
프리미티브 어셈블리회로(547) 는 교체 튜플 레지스터(540) 로부터 교체 튜플을 선택적으로 대체한다. 프리미티브 어셈블리 회로(547) 는 또한 32-16회로(550) 를 사용하여 출력 기하 패킷내 데이타에 대한 데이타 압축을 선택적으로 수행한다.
포맷변환기(543) 는 삼각형 스트립을 규정하는 입력 정점 패킷을 처리한다.
각각의 입력 정점 패킷에 있는 헤더비트는 교체유형을 지정한다.
교체유형은 삼각형 스트립내에서 다음 삼각형을 형성하기 위해 이전 입력 정점 패킷과 잇따르는 다음 입력 정점 패킷의 조합을 규정한다.
포맷변환기(543) 는 삼각형 스트립내에서의 마지막 3개 정점을 유지하는 레지스터 스택을 실시한다. 포맷변환기(543) 는 삼각형 스트립내의 마지막의 3개 정점을 최신(the newest), 중간(the middlest), 최고(the oldest) 정점으로 분류한다.
"지그- 재그" 패턴을 가진 삼각형 스트립은 교체유형 replace-oldest를 지정하는 헤더를 갖는 새로운 입력 정점 패킷에 대응한다.
교체유형 replace-oldest는 포맷변환기(543)로 하여금 상기 중간 정점에 의해 상기 최고 정점으로 교체되도록, 상기 최신 정점에 의해 중간정점으로 교체되도록 그리고 상기 최신 정점을 새로운 입력 정점 패킷내 정점으로 세트되도록 하게 한다.
상기 패턴은 PHIGS_PLUS 단순 삼각형 스트립에 대응한다.
"스타" 패턴을 지닌 삼각형 스트립은 교체유형 replace-middlest을 지정하는 헤더를 갖는 새로운 입력 정점 패킷에 대응한다. 교체 유형 replace-middlest는 포맷변환기(543)로 하여금 상기 최고 정점을 변화되지 않은 상태가 되도록, 상기 최신 정점에 의해 상기 중간 정점으로 교체되도록 그리고 상기 최신 정점을 새로운 입력 정점 패킷내 정점으로 세트되도록 하게 한다.
일반화된 삼각형 스트립을 시작하기 위해, 새로운 입력 정점 패킷은 교체유형 restart를 지정하는 헤더를 갖는다. 교체유형 restart는 포맷변환기(543) 로 하여금 최고 및 중간 정점을 무효로 표시하도록 하며, 최신 정점을 새로운 입력 정점 패킷에 정점으로 세트하도록 한다.
프리미티브 어셈블리회로(547) 는 교체동작이 정점 레지스터(549) 내의 3개의 유효 정점을 발생할때 마다 CF-버스(82)를 통하여 정점 레지스터(549) 및 교대 튜플 레지스터(540) 로부터 삼각형을 위한 출력 기하 패킷을 전송한다.
입력 정점 패킷의 헤더내 restart 교체유형은 폴리라인을 위한 이동동작에 대응한다.
restart 교체유형은 복수개의 연결되지 않은 변수길이 삼각형 스트립을 지정하기 위해 한개의 데이타구조, 메모리 서브시스템(22)내 기하 데이타 어레이를 가능하게 한다.
이러한 능력은 호스트 버스(28)를 통한 DMA 스퀀스 개시를 위해 필요한 오버헤드를 감소시킨다.
메모리 서브시스템내 기하 데이타 어레이로부터 명령 전처리기(30)에 의해 수신된 입력정점 패킷내 교체유형은 삼각형 스트립이 스트립 도중에 "지그재그" 패턴으로 부터 "스타"패턴으로 변화하는 것을 가능하게 한다. 이러한 능력은 호스트 버스(28)를 통하여 최소한의 입력데이타의 폭을 필요로 하는 반면에 간결한 데이타구조로 복잡한 기하 데이타의 표현을 가능하게 한다.
포맷변환기(543) 는 재포맷된 정점 패킷내 출력 삼각형의 페이싱을 정규화하기 위해 모든 replace-oldest 교체유형후에 정점 레지스터(549) 내 정점순서를 재배열한다.
프리미티브 어셈블리회로(547) 는 출력 삼각형의 프론트페이스가 항상 시계방향 정점순서에 의해 규정되도록 함으로써 정점이 정점 레지스터(549) 로부터 전송되도록 정점순서를 재배열한다.
입력 정점 패킷내 헤더비트는 각각의 삼각형 스트림의 초기 페이스 순서를 지정한다.
게다가, 명령 전처리(30)는 헤더내에 지정된 초기페이스 순서의 역전을 야기하는 상태비트를 지닌 레지스터를 가진다. 호스트 처리기(20)상에서 실행하는 응용프로그램은 응용프로그램에 의해 유지된 모델 매트릭스를 반영하기 위해 상태비트를 유지한다.
또한, 명령 전처리기(30)는 "지그재그" 패턴내 모든 삼각형을 위한 페이스 순서를 역전시킨다.
프리미티브 어셈블리회로(547) 는 정점 레지스터(549) 로부터 다음 이용가능한 부동 소숫점처리기(40-43) 로 각각의 재포맷된 정점 패킷을 전송한다.
다음 이용가능한 부동 소숫점 처리기(40-43) 는 CF-버스(82)의 제어부를 통하여 각각의 부동 소숫점 처리기(40-43) 의 입력버퍼상태를 탐지함으로써 결정되어진다.
명령 전처리기(30)는 부동 소숫점 처리기(40-43) 로의 각각의 출력 기하 패킷의 전송순서에 대한 기록 혹은 "스코어보드" 를 유지한다. 명령 전처리기(30)는 CD-버스(80)의 제어부를 통한 제어신호의 전송에 의해 부동 소숫점 처리기(40-43) 의 출력버퍼를 제어한다.
명령 전처리기(30)는 순차적 렌더링 순서가 요구될때 적절한 순서로 부동 소숫점 처리기(40-43) 를 통하여 출력 기하 패킷이 처리되는 것을 확실하게 한다.
만일 순차적 렌더링이 필요하지 않다면, 부동 소숫점 처리기(40-43) 의 출력에서 제1 드로우패킷이 맨처음 렌더링된다.
포맷변환기(543) 는 또한 폴리 및 폴리-폴리라인을 재포맷한다.
부가하여, 포맷변환기(543) 는 선택적으로 삼각형 스트립 데이타를 폴리라인에지로 변환한다. 이러한 능력은 삼각형에지 하이라이팅을 필요로 하는 동작 동안 삼각형 처리가 선처리와 혼합되지 않으므로 부동 소숫점 처리기(40-43) 를 위한 마이크로- 코드의 복잡도를 감소시킨다.
삼각형 스트립내에서 삼각형의 에지 하이라이팅을 처리하기 위해, 명령 전처리기(30)는 삼각형 스트립을 위한 입력 정점 패킷을 재포맷된 정점 패킷으로 조합하며, 재포맷된 정점 패킷을 출력 기하 패킷으로서 CF-BUS(82)를 통하여 부동 소숫점 처리기(40-43) 로 전달한다. 그후, 명령 전처리기(30)는 호스트 버스(28)를 통하여 오리지널 삼각형 스트립 입력 정점 패킷을 검색하며, 하이라이트된 에지를 나타내는 고립된 벡터를 가지는 재포맷된 정점 패킷으로 입력 정점 패킷을 조합한다. 따라서 명령 전처리기(30)는 부동 소숫점 처리기(40-43) 를 통하여 고립된 벡터를 처리하여 하이라이팅 기능을 수행하기 위해 드로우처리기(50-54) 를 처리한다.
일실시예에서, CF-버스(82)의 데이타부는 16 비트이며 , CD-버스(80)의 데이타부는 16 비트이다. 명령 전처리기(30)는 색 및 재포맷된 정점 패킷의 정규데이타 성분을 CF-버스(82)를 통하여 부동 소숫점 처리기(40-43) 로 출력 기하 패킷으로써 전송하기 전에 32-16회로(550)를 사용하여 선택적으로 압축한다. 32-16 회로(550) 는 색 및 정규 데이타를 32 비트 IEEE 부동 소숫점 포맷으로부터 16 비트 고정 소숫점 포맷으로 압축한다.
그후, 부동 소숫점 처리기(40-43) 는 압축된 색 및 정규데이타 성분으로 출력 기하 패킷을 수신하며, 색 및 정규데이타성분을 32 비트 IEEE 부동 소숫점 값으로 압축해제한다.
재포맷된 정점 패킷의 색 및 정규데이타 성분의 압축은 프레임버퍼(100) 내에서 8비트값으로 표현된 재포맷된 정점 패킷의 색성분때문에 그래픽 가속기(24)를 위한 최후 이미지의 질에 대해 실질적으로 영향을 미치지 않는다. 유사하게, 부호없는 16 비트 정확도를 갖는 출력 기하 패킷이 정규성분은 1마일에 대략 플러스마이너스 1인치의 선명도를 나타낸다.
반면에 색 및 재포맷된 정점 패킷의 정규데이타 성분의 데이타압축은 CF-버스(82)를 통한 데이타전송폭을 약 25% 감소시킨다.
제4도는 부동 소숫점 처리기(40)및 제어저장장소(CS)(149) 를 포함하는 부동 소숫점 처리기부(45)의 블록도이다. 부동 소숫점 처리기(40)는 입력회로(141), 출력회로(145), 레지스터화일(142), 기능유니트세트(143), 제어회로(144) 및 SRAM 인터페이스회로(146) 로 구성된다.
부동 소슷점 처리기(40)는 정수기능뿐만아니라 CS(149)로 전송하기 위한 내부서브루틴 스택및 블록로드/ 스토어(block load/store)명령어를 실시한다.
부동 소숫점 처리기(40)는 CF-버스(82)의 데이타부(181) 를 통해 출력기하 패킷을 수신한다. 명령 전처리기(30)는 입력버퍼(141) 를 인에이블 및 디스에이블시키기 위해 CF-버스(82)의 제어부(182) 를 통해 제어신호를 전송한다.
기능유니트(143) 는 부동 소숫점 승산기, 부동 소숫점 ALU, 부동 소숫점 역수연산, 역수 평방근 연산, 정수 ALU를 실시한다. 출력회로(145) 는 CD-버스(80)의 데이타부(183) 를 통하여 드로우 패킷을 전송한다. 출력회로(145) 는 또한 드로우처리기(50-54) 로 데이타전송을 동기화하기 위해 제어신호를 전송하고, 명령 전처리기(30)와 CD-버스(80)상에서 버스활동을 통합하기 위해 CD-버스(80)의 제어부(184) 를 통해 제어신호를 전송한다.
일실시예에서 입력회로(141) 및 출력회로(145) 각각은 기하데이타의 버퍼링을 위해 64개의 레지스터를 갖는다. 레지스터 화일(142) 은 160개의 32 비트 레지스터로 구성된다.
SRAM 인터페이스(146) 는 제어저장주소버스(147) 를 통하여 제어저장데이타버스(148)에서 제어저장장소(CS)(149) 와 통신한다. 일실시예에서, 제어저장주소버스(147) 는 17 비트이고 제어저장데이타 버스(148) 는 32 비트이다. 제어저장장소(149) 는 4개의 128 K x 8비트 SRAM 으로 구성된다.
입력회로(141) 내에 포함된 레지스터는 이중버퍼방식으로 32 레지스터파일쌍으로 배열된다. 유사하게, 출력회로(145) 내에 포함된 레지스터는 이중버퍼 레지스터파일로써 32 레지스터쌍으로 배열된다. 부동 소숫점 처리기(40)상에서 실행하는 마이크로- 코드는 입력회로(141) 및 출력회로(145) 를 특수한 레지스터 화일로써 액세스한다.
부동 소숫점 처리기(40)에 대한 명령이 세트는 CD-버스(80)를 통한 완료된 데이타 패킷의 전송을 위한 큐잉 명령뿐만 아니라 레지스터 화일요구 및 포기를 위한 명령을 포함한다.
부동 소숫점 처리기(40)는 드로우처리기(50-54) 에 의한 주사변환을 위해 삼각형 설정기능을 실시한다. 삼각형 설정기능의 제1 단계는 오름차순 y순서로 삼각형의 3개의 정점을 정렬한다. 부동 소숫점 처리기(40)는 정점의 y좌표에 대한 마지막 3개 비교 결과를 기초로하여 하드웨어적으로 레지스터 화일(142) 부를 재정리하는 특수한 명령어를 실시한다.
부동 소숫점 처리기(40)에 실시된 클립 테스팅 기능은 클립상태비트의 벡터를 계산한다.
부동 소숫점 처리기(40-43) 는 특수한 클립 레지스터로 클립상태비트를 시프트시키는 동안 클립상태비트쌍들을 계산하는 특수한 클립 테스트 명령어를 실시한다. 클립상태비트가 계산되어진후, 특수한 분기명령어는 클립 레지스터에 포함된 클립상태비트를 적절한 클립조건으로 해독한다. 부동 소숫점 처리기(40)는 삼각형 및 벡터의 클리핑을 위한 개별적인 분기 명령어를 실시한다.
특수한 분기명령어는 동일명령어내에서 다수의 클립조건에 대한 테스팅을 인에이블한다.
제5도는 드로우처리기(50)의 블록도이다. 드로우처리기(50)는 3D 기하 파이프라인 인터페이스회로(200), 렌더링회로(210), 직접 포토 버스인터페이스회로(220), 및 메모리 제어회로(230) 로 구성된다. 각각의 드로우처리기(51-54) 는 드로우처리기(50)와 실질적으로 유사하다.
렌더링 회로(210) 는 32 비트 내부 처리유니트를 사용하여 서브- 픽셀 정확도를 가능하게하는 고정확도 디지털미분해석기(DDA) 알고리즘을 실시한다.
에일리어스(aliased) 및 앤티에일리어스(anti-aliased) 선 및 도트는 이전에 개시된 분배방법으로 렌더링되며, 여기서 드로우처리기(50)는 주사선을 따라 매 5번째 픽셀을 처리한다.
드로우처리기(50)는 또한 명령 전처리기(30)의 Xll동작회로와 협동하여 X11 동작의 렌더링부를 실시한다. X11 동작은 수직스크롤, 래스터동작 및 스텐실 동작을 위한 픽셀그룰의 판독 및 기록을 포함한다.
3D 기하 파이프라인 인터페이스회로(200) 는 CD-버스(80)의 데이타부(242) 를 통하여 출력 기하 패킷을 수신하기 위한 이중버퍼된 배열을 제공한다. 3D 기하 파이프라인 인터페이스회로(200)는 또한 명령 전처리기(30) 및 소숫점 처리기(40-43) 로 데이터 전송을 조절하기 위해 드로우 로드 신호선(240) 및 이용가능한 드로우 버퍼 신호선(241)을 통하여 제어신호를 전송한다. 3D 기하 파이프라인 인터페이스회로(200)는 기존의 기하 데이터가 렌더링회로(210)에 의해 렌더링되어지는 반면에 새로운 기하데이터가 CD-버스(80)를 통하여 로드되어지도록 배열된다.
렌더링회로(210)는 주사변환기능의 느림을 방지하기 위해 일 픽셀 사이클 타임으로 에지 워킹 기능을 수행한다. 에지워킹회로는 종종 하나의 외부에지워킹 칩에 필요로 되어지는 것보다 5배 이상까지 다음 주사선으로 진행되어져야만 하므로 패스트 애지워킹 기능이 제공된다. 렌더링회로(210) 는 삼각형, 엔티에일리어스된 벡터, 에일리어스된 벡터, 앤티에일리어스된 도트 및 에일리어스된 데이터를 위한 래스터화 알고리즘을 수행한다.
메모리 제어회로(230) 는 프레임버퍼 데이터버스(254)를 통하여 픽셀타이타를 인터리브 뱅크_0(61)로 전송하기 위해 프레임버퍼주소버스(252)를 통한 주소 및 프레임버퍼 제어버스(250)를 통한 제어신호를 발생한다.
3D 기하 파이프라인 인터페이스회로(200) 는 CD_버스(80)를 통하여 드로우 패킷을 수신한다. 명령유형은 각각의 드로우 패킷의 제1 워드에 코드화되어진다.
명령유형은 드로우 패킷내 각 워드의 시퀀스 및 포맷을 결정한다.
3D 기하 파이프라인 인터페이스회로(200)는 드로우 패킷 데이터의 각각의 워드를 적절한 내부 이중버퍼레지스터로 발송한다. 완전한 드로우 패킷이 이중버퍼레이스터에 조합되어진 후에, 3D 기하 파이프파인 인터페이스회로(200)는 명령워드를 드로우 패킷으로부터 렌더링회로(210) 내에 있는 현재 버퍼레지스터(212)의 세트로 로드하기 위해 핸드쉐이크 시퀀스(handshake sequence)를 개시시킨다.
3D 기하 파이프라인 인터페이스회로(200) 는 드로우처리기(50)에 할당된 드로우처리기 인터리브값에 따라 드로우처리기의 모든 X좌표를 조정하기 위한 회로를 가진다.
직접 포토 버스인터페이스회로(220) 는 CD-버스(80)를 통하여 직접 포트 패킷을 수신한다. 직접 포토 버스인터페이스회로(220) 는 직접 포트 명령의 실행을 제어한다.
직접 포토 버스인터페이스회로(220) 는 또한 직접 포트 스토로브신호(244) 및 직접 포트 버퍼 이용가능신호(245) 에 따라 명령 전처리기(30)와 핸드쉐이크하는 직접 포트를 제어한다.
직접 포토 버스인터페이스회로(220) 는 직접 포트 명령을 조합하며 메모리제어회로(230)에 의해 필요한 프레임버퍼를 검색하도록 하는 핸드쉐이크 스퀀스를 제어한다.
명령 전처리기(30)를 위한 것으로 정해진 판독데이타는 직접 포토 버스인터페이스회로(220)내의 판독버퍼에 위치되어지며, 이 판독데이타는 CD-버스(80)를 통하여 명령 전처리기(30)에 의해 판독된다.
렌더링회로(210) 는 삼각형을 위한 에지워킹 및 주사보간기능을 수행하며, 벡터를 위한 간단한 DDA 기능을 수행하며, 도트를 위한 패스 오퍼레이션을 수행한다.
렌더링회로(210)는 또한 끝점교정(end point correction), 앤티에일리어싱 알파계산 및 깊이큐 스케일인자의 계산을 수행한다. 렌더링 회로(210) 는 인터리브 뱅크_0 (61) 에 렌더링된 각각의 픽셀을 위한(x,y), (r,g,b,z) 및 (alpha) 값을 발생한다.
렌더링회로(210) 는 (x,y), (r,g,b,z) 및 (alpha) 값을 이중버퍼레지스터(214) 세트속으로 저장한다. 그 다음에 렌더링회로(210) 는 상기 값을 메모리제어회로(230) 내에 있는 적절한 이중버퍼레지스터세트속으로 로드하기 위해 핸드쉐이크 시퀀스를 제어한다.
메모리 제어회로(230) 는 렌더링회로(210), 직접 포토 버스인터페이스회로(220), 및 비디오/DRAM 재생회로( 도시되지않음) 로부터 프레임버퍼 액세스를 위한 요구를 수신한다.
메모리 제어회로(230) 는 요구들을 중재하며, VRAM인터리브뱅크_0로 픽셀의 판독/ 기록을 위해 필요한 제어신호를 발생한다.
메모리 제어회로(230) 는 또한 주소 및 데이타 관련기능을 수행한다.
주소관련기능은 주소번역, 시각포트 클리핑 및 페이지 모드 액세스 검출을 포함한다. 데이타 관련기능은 데이타, Z 버퍼링, 윈도우 ID 검사, 및 스크린도어투명성(screen door transparency)등에 대한 논리연산과 블렌딩을 포함한다.
메모리 제어회로(230) 는 또한 VRAM사이클 전송을 위한 비디오 재생 카운터를 포함한다.
메모리제어회로(230) 는 RAS 사이클전에 CAS를 사용하여 DRAM 리프레시를 수행한다.
제6도는 3D 기하 파이프라인 인터페이스회로(200) 를 나타낸다.
3D 기하파이프라인 인터페이스회로(200) 는 CD_버스(80)를 통하여 3D 기하 파이프라인을 위한 드로우 패킷을 수신한다. 3D 기하 파이프라인 인터페이스회로(200) 는 이중버퍼레지스터(270-272) 세트속으로 드로우 패킷을 분해한다.
이중버퍼 레지스터(270-272) 는 24 개의 이중버퍼레지스터(dbr0-dbr23)를 포함한다.
3D 기하 파이프라인 인터페이스회로(200) 는 DDA 버스제어회로(202), 및 드로우 인터리브회로(204), 가산기(206) 및 멀티플렉서(208)를 포함한 DDA 데이타 통로 회로를 포함한다.
가산기(206) 는 드로우처리기(50)에 할당된 드로우처리기 인터리브 값에 따라 드로우패킷내의 모든 X좌표를 조정한다. 가산기(206) 는 CD_버스(80)를 통하여 3D 기하 파이프라인을 위해 드로우 패킷을 수신한다. 드로우 인터리브회로(204) 는 드로우처리기(50)에 할당된 드로우처리기 인터리브값을 저장하는 인터리브 레지스터를 가진다. 드로우 인터리브회로(204) 는 75 - 인터리브 레지스터내에 저장된 드로우처리기 인터리브 값과 동일한 값을 발생시킨다.
가산기(206) 는 드로우 인터리브회로(204) 에 의해 발생된 rkqt을 이중버퍼레지스터(270-272)로 전송하기전에 드로우 패킷내의 모든 X좌표에 가산한다.
DDA 버스제어회로(202) 는 드로우 패킷을 이중버퍼레지스터(270-272) 로 로드하기 위해 제어신호(280) 세트를 발생시킨다. 각각의 드로우 패킷의 제1 워드( 헤더) 는 패킷유형, 패킷의 포맷, 패킷의 길이를 식별한다. DDA 버스제어회로(202) 는 헤더를 제1 이중버퍼레지스터(dbr0)로 로드한다. 헤더정보에 의거하여, DDA 버스제어회로(202) 는 이중버퍼레지스터(dbrl-dbr23)중의 나머지를 로드한다.
제7도는 드로우 패킷내에 포함된 3D 기하 파이프라인 명령포맷의 표이다.
명령패킷내의 각각의 매개변수를 위해 사용된 이중버퍼레지스터(dbrl-dbr23) 역시 도시되어있다.
DDA 버스제어회로(202) 는 명령이 규칙적인 방식으로 현재 버퍼레지스터(212) 로 전송됨을 확실하게 하기 위해 DDA회로(210) 와 핸드쉐이크한다. DDA 버스제어회로(202) 는 대응하는 현재버퍼레지스터(212) 로 이중버퍼레지스터(270-272) 의 내용을 동시에 전송하기 위해 현재 로드 버퍼신호를 발생시킨다. DDA 버스제어회로(202) 는 그후 드로우 버퍼이용가능신호(241) 가 또다른 출력 기하 패킷을 이중버퍼레지스터(270-272) 로의 전송을 인에이블 하도록 표명한다. DDA 작동 가능 신호(282) 는 맨마지막 명령이 완료된후 DDA 회로(210)로 부터 수신된다.
직접 포토 버스 인터페이스회로(220) 는 메모리제어회로(230) 와 협력하여 CO-버스(80)를 통해 직접 포트 파이프라인을 통과하여 수신된 명령을 실행한다.
직접 포토 버스 인터페이스회로(220) 는 데이타통로회로(222) 및 제어회로(224)를 포함한다.
데이타통로회로(222) 는 CD-버스(80)를 통하여 수신된 'y'및 'x'주소를 메모리 제어회로(230) 로 루팅한다. 예를들면, 데이타통로회로(222) 는 픽셀판독/기록 직접 포트 명령동안 CD-버스(80)로부터의 'y'및 'x' 주소를 메모리 제어회로(230) 로 루팅한다.
블록카피, 수직스크롤(vertical scroll) 및 채움 직접 포트 명령(fill direct port commands) 동안, 픽셀주소가 아래에 설명되는 바와같이 드로우처리기(50)에 의해 발생된다.
데이타통로회로(222) 는 명령어 소스 레지스터(instr. source register)및 명령어 목적지 레지스터(instr. destination register) 세트를 가진다.
명령어 원시 레지스터 및 명령어 목적지 레지스터는 Bℓt, 수직스크롤 및 채움 범주 직접 포트 명령(fill category direct port commands)동안 사용된다.
명령어 원시 레지스터는 'xs' 및 'ys'를 포함하며, 명령어 목적지 레지스터는 'xd','yd' 및 '카운트'레지스터를 포함한다. xs, xd, ys, yd 레지스터는 대응 방향비트에 의해 지정된 대로 자동증가 혹은 자동감소된다.
판독-X- 기록 Bℓt 직접 포트 명령동안에, 드로우처리기(50)는 (xs, ys) 에서 프레임버퍼(100)의 판독 액세스를 수행하며, 그리고 나서 (xd, yd)에서 기록 액세스를 수행한다.
직접 포트 파이프라인을 통한 스텐실 동작동안, 데이타통로회로(222) 는 드로우처리기(50)를 위한 대응 인터리브 숫자에 따라 데이타 필드로부터 단일 비트를 추출한다. 그후 데이타통로회로(222) 는 이 추출된 비트를 마스크 비트에 더한다.
데이타통로회로(222) 는 또한 픽셀 '바이트기록' 액세스 모드 및 바이트 모드 블록카피 직접 포트 명령을 위한 데이타 포맷팅을 수행한다. 데이타통로회로(222) 는 또한 블록 카피 직접 포트 동작을 위한 이중버퍼된 기록버퍼를 가지며, 바이트 모드 블록 카피 직접 포트 동작 바이트 추출을 위한 논리를 가진다.
제어회로(224) 는 유입 직접 포트 패킷을 메모리제어회로(230) 를 위해 픽셀기록, 픽셀판독 및 로드레지스터명령으로 분해한다. 제어회로(224) 는 또한 명령 전처리기(30)와 드로우처리기(50)사이에 직접 포트 명령/ 데이타를 전송하기 위해 명령 전처리기(30)와의 핸드 쉐이크 시퀀스를 실시한다
픽셀 기록 직접 포트 명령은 3개의 평면그룹: 이미지, 깊이 혹은 윈도우중의 하나에 데이타를 기록한다. 픽셀 기록 동작은 직접 포트 패킷헤더내의 상태세트비트에 의해 지정된 대로 상태레지스터가 셋트 0 또는 세트 1 에 따라서 수행된다.
유사하게, 픽셀판독 직접 포트 명령은 3개의 평면그룹 이미지, 깊이 혹은 윈도우중의 하나에서 데이타를 판독한다. 픽셀판독동작은 직접 포트 패킷 헤더내의 상대세트비트에 의해 지정된대로 상태레지스터세트 0 혹은 상태레지스터세트 1 에 따라 수행된다.
스텐실 판독 직접포트동작동안에 명령 전처리기(30)는 직접 포트 입력 패킷내에서 적절한 비트로부터 데이타 및 마스크 비트를 추출한다.
만일 마스크 비트가 0이면, 픽셀은 수정되지 않는다.
만일 마스크 비트가 1이면 픽셀은 포그라운드 컬러로 기록된다.
만일 드로우처리기(50)가 OR 모드이고 마스크 비트가 0이면, 픽셀은 수정되어지지 않는다.
만일 드로우처리기가 AMD 모드이고 마스크 비트가 0이면 픽셀은 백그라운드 컬러로 기록된다. 스텐실 동작은 상태레지스터세트 0에 따라 수행된다.
채움 직접 포트 명령은 드로우처리기(50)가 (xd, yd) 에서 시작하는 픽셀을 4개까지 프레임버퍼(100) 로 전송하도록 한다. 채움 직접 포트 명령을 위한 데이타 소스는 스텐실/채움 포그라운드레지스터(stencil/fill foreground register) 이다. 프레임버퍼(100) 는 하나의 무작위및 세개의 페이지 모드 판독- 수정- 기록 사이클로 액세스된다.
직접 포트 블록 카피동작은 개별적인 명령어: bℓt _ 판독, bℓt _ 판독_ 전송, 및 bℓt기록_ 전송_ 판독 명령어로 수행된다. 바이트 모드에서는 4개의 픽셀이 각각의 명령으로 판독, 기록 및 전송한다. 그렇지 않은 경우엔 하나의 픽셀이 각각의 명령으로 판독, 기록 및 전송되어진다.
bℓt-판독 직접 포트 명령은 드로우처리기(50)가 (xs,ys)로 부터 픽셀을 판독하고 블록카피 판독 버퍼내에 픽셀을 저장하도록 한다. 그후 xs 레지스터는 증가되며 x- 소스- 크기(x-source-size) 레지스터는 감소된다.
bℓt-판독- 전송 직접 포트 명령어는 드로우처리기(50)가 (xs,ys)로부터 픽셀을 판독하고 블록 카피 판독 이중버퍼내에 픽셀을 저장한다. 명령 전처리기(30)는 블록 카피 판독 버퍼로부터 픽셀을 판독한다. 그후, 픽셀데이타는 판독 이중버퍼로부터 판독버퍼로 이동된다.
xs레지스터는 따라서 증가되며 크기레지스터(size register) 는 감소된다.
bℓt-판독- 전송- 기록 직접 포트 명령어는 드로우처리기(50)가 데이타를 판독 버퍼로부터 판독 이중버퍼로 카피하도록하며, 따라서 데이타를 (xd, yd) 에서 프레임버퍼(100) 로 기록한다.
따라서 xd 레지스터는 증가되며 x-목적지- 크기 레지스터는 감소된다.
그후 드로우처리기(50)는 (xs, ys) 에서 프레임버퍼(100) 로부터 픽젤을 판독하며 픽셀을 블록 카피 판독 이중버퍼로 전송한다. 명령 전처리기(30)는 블록 카피 판독 버퍼로부터 픽셀을 판독한다. 그후, 픽셀데이타는 블록 카피 판독 이중버퍼로 부터 블록 카피 판독 버퍼로 이동된다. xs 레지스터는 그후 증가되며 크기 레지스터는 감소된다.
메모리 제어회로(230) 부는 시각포트 클리핑, 논리동작, 블렌딩동작, 알파계산, Z-버퍼링, 윈도우 클리핑, 스크린도어 투명성, 커서평면검색, 픽킹(picking),비디오 리프레시, DRAM 리프레쉬 , 신속 명확한 평면관리 및 VRAM터 제어를 수행한다.
메모리 제어회로(230) 는 3D 기하 파이프라인 및 직접 포트 파이프라인을 위해 프레임 버퍼(100) 로 시각포트클립 메모리 검색을 한다.
픽히트(pick hit)가 검출되었을때, 드로우처리기(50)는 픽히트를 일으킨 프리미티브를 렌더링한후 3D 기하 파이프라인을 금지시킨다. 픽 ID 레지스터는 보존된다.
드로우처리기(50)는 픽히트가 검출되었을 때, 명령 전처리기(30)로 드로우처리기 인터럽트를 요구한다.
호스트처리기(20)는 드로우처리기(50)내에서 제어레지스터 세트를 프로그램한다.
제어레지스터는 3D 기하 파이프라인 및 직접 포트 파이프라인을 위한 동작매개변수를 지니고 있다. 명령전처리(30)는 드로우처리기(50)의 제어레지스터를 위해 목표가 된 직접 포트 데이타를 호스트버스(28)를 통하여 수신하며, CD- 버스(80)를 통하여 직접 포트 패킷으로써 직접 포트 데이타를 드로우처리기(50)로 전송한다.
드로우처리기(50)내에 포함된 제어레지스터는 직접 포트 파이프라인( 상태세트0)및 3D 기하 파이프라인( 상태세트1)을 위한 전역(global)및 상태세트 종속레지스터로 각각 분리된다. 몇몇 동작에서, 분리된 레지스터는 상태세트 0및 1모두가 제공된다.
전역레지스터는 둘다 상태세트 0 및 1의 역할을 하는 하나의 레지스터를 가지며 직접 포트 및 3D 기하 파이프라인을 통하여 검색가능하다.
호스트 처리기(28)는 모든 드로우처리기(50-54) 에 기록을 송신하며, 드로우처리기(50-54) 중의 특정 드로우처리기에 기록을 송신한다.
이 기록송신은 모든 드로우처리기(50-54) 를 위한 상수속성을 프로그램하기 위해 사용되어진다. 호스트 처리기(28)는 또한 드로우처리기(50-54) 의 제어레지스터를 판독한다.
드로우처리기(50)를 위한 제어레지스터는 제어 및 상태레지스터(CSR) 를 포함한다.
CSR 은 직접 포트를 통해서만 레지스터를 판독한다.
CSR 을 위한 비트 필드는 다음과 같다.
D<7> = 3D 기하 포트를 리세트
D<6:4> = PID'S의 갯수 - 드로우처리기 파이프라인내에서의 픽 ID의 갯수를 나타냄
D<3> = 픽히트(Pick Hit) - 픽 어퍼춰에서의 픽셀을 검출한 드로우처리기(50)를 나타냄.
픽히트 필드는 직접 포트를 통하여 명령 전처리기(30)에 의해 리세트된다.
D<2> = 세마포어(semaphore) - 드로우처리기(50) 세마포어가 세트되었음을 나타낸다.
D<1> = 스톨(stall) ACC - 스톨가속기신호가 명령 전처리기(30)로부터 수신되었음을 나타냄.
D<0> = ACC 스톨드 - 가속기 스톨드 신호가 명령 전처리기(30)로부터 보내졌음을 나타낸다.
드로우처리기(50)를 위한 제어레지스터는 드로우처리기 인터리브 값을 지정하는 드로우처리기 인터리브 레지스터를 포함한다. 드로우처리기 인터리브값은 드로우처리기(50)를 나타내며 그 범위는 0에서 4이다.
세마포어 레지스터로의 기록은 드로우처리기 세마포어를 세트하며 CSR 의 비트2를 세트한다. 드로우처리기(50)는 세마포어 비트가 세트되어 있는 동안은 3D 기하 파이프라인명령을 실행하지 않는다. 드로우처리기 세마포어 레지스터는 3D 기하 파이프라인 및 직접 포트 파이프라인 둘 다를 통하여 스트로우브된다.
클리어 세마포어 레지스터로의 기록은 드로우처리기 세마포어를 클리어하여 CSR의 비트2를 클리어한다. 드로우처리기 세마포어 레지스터는 직접 포트 파이프라인을 통하여 스트로우브된다.
세트 스톨 레지스터로의 기록은 CSR의 비트1 을 세트한다.
드로우처리기(50)는 CSR의 비트1 이 세트인동안 어떠한 3D 기하파이프라인 명령도 실행하지 알는다. 명령 전처리기(30)는 Bℓt 혹은 채움 직접 포트동작의 실행동안 3D 기하 파이프라인을 로크하기 위해 CSR의 비트1 을 사용한다.
클리어 스톨레지스터로의 기록은 드로우처리기(50)가 프레임버퍼(100) 의 갱신을 재개하도록 가능하게 하기 위해 CSR의 비트1 을 클리어한다.
리세트 기하 포트 레지스터로의 기록은 CSR의 비트 7 (리세트) 을 셋팅하고, 비트3(픽 히트), 비트 2 (세마포어) 및 비트 0 (스톨) 을 리셋팅함으로써 드로우처리기(50)에 3D 기하 파이프라인을 리세트시킨다. 클리어 기하 포트 리세트 레지스터로의 기록은 3D 기하 파이프라인 리세트상태를 클리어하며 CSR의 비트 7을 클리어한다.
프레임버퍼폭 레지스터는 프레임버퍼(100) 의 최대수평해상도를 선택하며, 스테레오주소 지정모드를 가능하게 한다.
드로우처리기 속성 레지스터는 드로우처리기(50)의 여러기능을 제어한다. 블렌드동작(비트 24 및 비트 23), 혹은 래스터 동작(ROP)(비트 21 내지 비트 18)에 대해 상태세트0 은 현재의 ROP를 지정한다. 현재의 ROP는, 평면그룹엔이블필드( 비트 11 내지 5) 에 의해 선택된 현재 액세스모드평면그룹에 의존하여 , RGB0 평면에만 영향을 미친다. 상태세트1 은 현재의 불 ROP (boolean ROP) 를 지정하여 블렌드회로를 인에이블시킨다. 현재 ROP는 RGBO, 커서 데이타, 및 커서 인에이블 평면에 영향을 미친다.
현재의 블렌드 동작은 RGB 평면에 영향을 미친다.
드로우처리기 어트리뷰트 레지스터의 비트필드는 아래와 같이 정의되며 , 여기서 SRC 는 소스 데이타이고, DST 는 목적지 프레임버퍼에서의 데이타이고, BG는 백그라운드이며, DDA는 디지탈 미분 해석기이다.
D<31:29> = 픽 제어
1xx 픽킹을 인에이블
x1x 픽킹동안 렌더링
xx1 3-D 픽 어퍼춰
코드는 다음 기능을 인에이블 한다:
0xx 픽킹을 디스에이블
100 렌더링없이 2-D 바운드 픽
101 렌더링없이 3-D 바운드 픽
110 렌더링동안 2-D 바운드 픽
111 렌더링동안 3-D 바운드 픽
2D픽은 X및 Y바운드를 사용. 3D 픽은 X,Y및 Z바운드를 사용.
D<28> = 깊이큐를 인에이블
D<27> = 스크린 도어 트랜스패어런시 기능을 인에이블하는 스크린도어인에이블
0 솔리드(Solid) - 모든 픽셀을 드로우
1 투명성-스크린 도어 패턴을 사용
D<26> = 강제 색 인에이블
0 SRC = DDA 색
1 SRC = 색 레지스터
D<25> = 앤티에일리어스 인에이블
0 상수 알파
1 앤티에일리어스 필터 알파
B<24> = 블렌드 기능선택
0 백그라운드 블렌드: (SRC-BG)*알파 + DST
1 프레임버퍼로 블렌드: (SRC-DST )*알파 + DST
D<23> = 블렌드 인에이블
0 비트 21 - 18내의 ROP 코드에 의해 지정된 대로 래스터 동작을 수행
1 비트 25 에 있는 앤티에일리어스 인에이블 및 비트 24 에 있는 블렌드기능선택에 의해 지시 된 대로 블렌드 동작을 수행
D<22> = BLT 소스 버퍼 B
0 버퍼B 를 디스에이블( 버퍼A 를 인에이블)
1 버퍼B 를 인에이블( 버퍼A 를 디스에이블)
D<21:18> = 다음( 코드는 16 진수) 과 같이 불 ROP( 래스터 동작) 을 선택하는 ROP코드
0 DST + 모든 비트를 제로
1 DST= ∼ (SRC또는 DST)
2 DST= ∼ SRC및 DST
3 DST= ∼ SRC
4 DST=SRC및 ∼ DST
5 DST= ∼ DST
6 DST = SRC xor DST
7 DST= ∼ (SRC및 DST)
8 DST = SRC 및 DST
9 DST= ∼ SRCxor DST
A DST = DST
B DST= ∼ SRC또는 DST
C DST = SRC; 이것은 ROP 동작이 수행되지 않을때의 디폴트 경우이다.
D DST=SRC또는 ∼ DST
E DST = SRC 또는 DST
F DST = 모든 비트1
D<17:14> = Z-버퍼링 제어 - 다음과 같이 길이평면의 사용을 제어한다.
1xxx HSR( 히든표면제거) 을 인에이블
x1xx Z 기록을 인에이블
xx1x 상수 Z를 인에이블
xxx1 WID 확장클립은 인에이블
제8도는 깊이버퍼로써 Z를 사용하여 히든표면제거(HSR) 기능을 위한 Z- 버퍼링 제어필드의 코딩을 도시한다. 제9도는 윈도우 ID 확장으로써 Z를 사용하는 윈도우 ID(WID) 기능을 위한 Z- 버퍼링 제어필드의 코딩을 나타낸다.
D<13:12> = 스테레오제어: 비트 12 는 "스테레오"(1) 또는 "모노"(0)로써 현재의 윈도우 응용을 정의한다. 비트 13 은 프레임버퍼의 소정 절반부분( 좌측절반은 0 또는 우측절반은 1) 을 지정한다.
xO 모노
x1 스테 레오
Ox 좌측
Ix 우측
D<11:5> = 평면그룹을 인에이블 - 개별적인 평면그룹을 인에이블 및 디스에이블함.
특정 평면내의 픽셀은 평면그룹이 인에이블되고 기록마스크가 "1"인 경우에만 갱신된다
이 기능은 패스트 클리어 윈도우를 위해 수정되어진다.
각각의 비트(0 = 디스에이블, 1 = 인에이블) 는 다음과 같이 특정평면을 제어한다.
비트 11 윈도우 ID 그룹을 인에이블
비트 10 패스트 클리어 동작을 인에이블( 비트 3:1 을 참조)
비트 9 적색 평면을 인에이블
비트 8 녹색 평면을 인에이블
비트 7 청색 평면을 인에이블
비트 6 오버레이 평면을 인에이블
비트 5 Z 평면을 인에이블
D<4> = 강제 현재 WID:
0 현재 윈도우 ID 를 강제하지 말것
1 현재 윈도우 ID 평면의 내용은 모든 기록마다 프레임버퍼의 내용을 교체한다.
WID 평면으로의 최종기록은 평면마스크 및 윈도우 평면그룹 인에이블 비트에 의해 제어된다.
D<3:1> = 패스트 클리어평면선택 - 현재 윈도우를 위한 패스트 클리어 평면을 식별한다.
0 패스트 클리어 평면 0
1 패스트 클리어 평면 1
2 패스트 클리어 평면 2
3 패스트 클리어 평면 3
4 패스트 클리어 평면 4
5 패스트 클리어 평면 5
6 패스트 클리어 평면 6
7 패스트 클리어 평면 7
D<0> = 버퍼B 선택 - RGB 평면을 위한 이중버퍼제어를 제공한다.
버퍼B 선택은 모든 판독, 기록 및 프레임버퍼(100) 의 판독- 수정- 기록액세스를 위한 목표로써 버퍼B 를 선택하기 위해 1로 세트한다
블록카피 동작에 대해서, 비트22 ( Bℓt 소스 버퍼B)는 버퍼A 및 버퍼B 사이에 블록 카피동작을 인에이블하기 위해 소스 버퍼의 독립적인 선택을 제공한다.
버퍼B 선택은 다음과 같이 코드된다:
0 버퍼A 를 선택; 만일 비트 22 가 세트되어있으면 버퍼B 를 소스로써 선택
1 버퍼B 를 선택; 만일 비트 22 가 클리어되어있으면 버퍼A 를 소스로써 선택
스텐실/ 채움 포그라운드 컬러레지스터는 스텐실 모드검색동안 프레임버퍼픽셀 데이터를 지정한다. 1 로 세트된 스텐실 비트는 포그라운드컬러를 사용한다.
채움동작동안, 스텐실/ 채움 포그라운드 컬러 레지스터에 있는 데이타는 모든 픽셀을 위해 프레임버퍼(100) 로 기록된다. 스텐실/ 채움 포그라운드 컬러 레지스터에 있는 데이터의 포맷은 상기한 바와같이 선택된 평면그룹에 종속된다.
이미지 평면에 대해서, 스텐실/ 채움 포그라운드 컬러 레지스터의 비트필드는 다음과 같다:
0<31:24> = 오버레이 - 오버레이 픽셀값을 지정한다.
D<23:16> = 청색 - 청색 픽셀값을 지정한다.
D<15:8> = 녹색 - 녹색 픽셀값을 지정한다.
D<7:0> = 적색 - 적색 픽셀값을 지정한다.
깊이 평면에 대해서, 스텐실/ 채움 포그라운드 컬러 레지스터의 비트필드는 다음과 같다.
D<23:0> = 깊이 - 픽셀의 깊이(Z) 를 지정한다.
윈도우 평면에 대해서, 스텐실/ 채움 포그라운드 컬러 레지스터의 비트 필드는 다음과 같다.
D<15:0> = 패스트 클리어 - 각각의 비트는 패스트 클리어 평면을 지정한다:
비트 10은 평면 0을, 비트 11은 평면 1을, 등등.
D<9:6> = 오버레이 윈도우 ID 평면 - 오버레이 윈도우 ID 평면을 지정한다.
D<5:0> = 이미지 윈도우 ID 평면 - 이미지 윈도우 ID 평면을 지정한다
스텐실 백그라운드 컬러 레지스터는 스텐실 모드 액세스동안 프레임버퍼 픽셀데이타를 지정한다. 0으로 세트된 스텐실 비트는 트랜스패어런시 플래그가 0이면 백그라운드 컬러를 사용한다. 이미지 평면에 대해서, 스텐실 백그라운드 컬러 레지스터의 비트필드는 다음과 같다:
D<31:24> = 오버레이 - 오버레이 픽셀값을 지정한다.
D<23:16> = 청색 - 청색 픽셀값을 지정한다.
D<15:8 > = 녹색 - 녹색 픽셀값을 지정한다
D<7:0> = 적색 - 적색 픽셀값을 지정한다
깊이 평면에 대해서 , 스텐실 백그라운드 컬러 레지스터의 비트필드는 다음과 같다.
D<23:0 > = 깊이 - 픽셀의 깊이(Z) 를 지정한다.
윈도우 평면에 대해서, 스텐실 백그라운드 컬러 레지스터의 비트필드는 다음과 같다.
D<15:0 > = 패스트 클리어 - 패스트 클리어 평면을 지정한다.
D<9:6> = 오버레이 윈도우 ID 평면 - 오버레이 윈도우 ID 평면을 지정한다.
D<5:0> = 이미지 윈도우 ID 평면 - 이미지 윈도우 ID 평면을 지정한다
드로우처리기(50)의 블록카피기능은 소스직사각형을 목적지 직사각형으로 카피한다. 명령 전처리기(30)는 블록카피기능을 카피/ 스크롤 소스 주소 레지스터 , 카피/ 스크롤/ 채움 크기 레지스터 및 카피/ 스크롤/ 채움 목적지 주소 레지스터뿐만 아니라 픽셀검색을 제어하는 상태세트0 레지스터로 블록 카피를 프로그램한다.
카피/ 스크롤 소스 주소 레지스터는 직사각형 카피동작을 위해 초기프레임버퍼소스주소를 지정한다. 비트필드는 아래와 같이 정의된다:
D<31:30> = 소스그룹 - 다음과 같이 소스 평면그룹의 카피를 지정한다.
000 이미지 평면그룹
001 깊이 평면그룹
010 윈도우 평면그룹
100 이미지 평면그룹 : 오버레이
101 이미지 평면그룹 : 청색
110 이미지 평면그룹 : 녹색
111 이미지 평면그룹 : 적색
D<25:16> = 소스 Y - Y 소스주소(10 비트) 를 지정한다.
유효값의 범위는 0에서부터 1023 까지이다.
D<7:0> = 소스 X - X 소스주소( 8 비트) 를 지정한다.
유효값의 범위는 0에서부터 255 까지이다.
X 소스주소는( 실제 X 소스주소)/5 의 정수값과 같다.
카피/ 스크롤/ 채움 크기
카피/ 스크롤/ 채움크기 레지스터는 직사각형카피 또는 채움동작 및 카피동작을 위한 방향에 대한 크기를 지정한다. 비트 필드는 아래와 같이 정의된다.
D<31> = 카피방향 - 아래와 같이 카피방향을 지정한다.
0 외부루프: 최상위에서 최하위로, 내부루프: 좌에서 우로, 상위 좌측에서 시작.
1 외부루프: 최하위에서 최상위로, 내부루프: 우에서 좌로, 하위 우측에서 시작.
채움을 위해, 0 으로 세트.
D<7:0> = 크기 - 블록의 X 크기(8비트) 를 지정한다. 유효값의 범위는 0에서 부터 255 까지 이다.
X 크기는 (실제 X 크기)/5 의 정수값과 동일하다.
카피/ 스크롤/ 채움 목적지 주소 레지스터는 구형카피동작을 위한 초기 프레임버퍼 목적지 레지스터를 지정한다. 비트 필드는 아래와 같이 정의된다.
D<31> = 바이트 모드 - 바이트 또는 픽셀모드를 지정한다.
픽셀모드는 채움을 위해 사용된다.
D<30:29> = 목적지 그룹 - 픽셀모드를 위한 목적지 평면그룰을 지정한다.
바이트 모드는 항상 이미지 평면그룹을 사용한다.
00 이미지 평면그룹
01 깊이 평면그룹
10 윈도우 평면그룹
11 이미지 평면그룹 + 깊이 평면그룹
D<28> = 확장 - 목적지 폭 확장을 지정한다. 목적지 폭은 상기 크기보다 1 이 작다.
0<25:16 > = 목적지 Y - Y 목적지 주소(10 비트) 를 지정한다.
유효값의 범위는 0 에서 부터 1023 까지이다.
D<7:0> = 목적지 X - X 목적지 주소(8 비트) 를 지정한다. 유효값의 범위는 0에서부터 255 까지이다. X 목적의 주소는( 실제 X 목적지주소)/5 의 정수값과 같다.
드로우처리기(50)내의 시각포트 클리핑은 시각클립 최소 경계 레지스터 및 뷰우클립 최대 경계 레지스터에 의해 제어된다. 뷰우 클립 최소 경계 레지스터는 최상위 좌측 코너의 좌표인 시각포트 최상위 및 좌측( 포함한다) 경계를 지정한다.
드로우처리기(50)는 만일 Y <최상위 또는 X< 좌측이면 픽셀을 클립하며, 여기서 Y=0는 스크린의 최상위이고 X=0는 스크린의 좌측이다
시각클립 최소 경계 레지스터의 비트필드는 아래와 같이 정의된다:
D<25:16> = 최상위 경계 - 를립영역의 최상위 경계를 지정한다. Y 값은 10 비트이다.
D<10:0 ) = 좌측 경계 - 클림영역의 좌측경계를 지정한다.
시각클립 최대 경계 레지스터는 최하위 우측코너의 좌표인 시각포트 최하위 및 우측(포함한다) 을 지정한다. 드로우처리기(50)는 만일 X> 우측 또는 Y> 최하위이면 픽셀을 클립하며, 여기서 Y = 0 는 스크린의 최상위이고, X = 0 는 스크린의 좌측이다.
시각클립 최소경계 레지스터는 아래와 같이 정의된다.
0<25:16> = 최하위 경계 - 클립영역의 최하위 경계를 지정한다.
D<10:0 > = 우측 경계 - 클립영역의 우측 경계를 지정한다.
드로우처리기(50)는 픽 기능을 제어하는 레지스터를 갖는다. 픽 레지스터는 클리어 픽히트 레지스터 , 픽 ID 레지스터 세트, 픽 최소 경계 레지스터, 픽 최대 경계 레지스터 , 픽 프론트 경계 레지스터, 및 픽 백 경계 레지스터를 포함한다. 클리어 픽 히트 레지스터로의 기록은 픽 히트 출력 플래그를 리세트하며 픽 ID(PID)레지스터를 갱신하기 위하여 드로우처리기 (50)를 인에 이블한다.
PID 레지스터는 드로우처리기(50)를 위해 현재의 픽 ID 를 세트한다.
PID 레지스터는 5개의 32-비트 레지스터 세트로 구성된다.
PID 레지스터는 3D 기하 파이프라인을 통하여 프로그램된다.
피킹이 인에이블되면, 드로우처리기(50)는 픽- 히트가 검출되면 PID레지스터가 갱신되지 않도록 한다. 드로우처리기(50)는 또한 이전 드로우 명령에 대한 모든 픽셀이 피킹없이 렌더링되어질때까지 PID 레지스터가 갱신되어지지 않도록 한다.
호스트 처리기(20)는 피킹동안 직접 파이프라인을 통하여 PID를 갱신할 수 없지만, 직접 파이프라인을 통하여 피킹되는 픽셀을 렌더링할 수 있다.
픽 최소 경계 레지스터는 최하위 우측코너의 좌표인 픽 애퍼처의 최하위 및 우측(포함) 경계를 지정한다. 드로우처리기(50)는 만일 X> 우측 또는 Y> 최하위이면 픽 히트를 발생하지 않으며, 여기서 Y=0 는 스크린의 최상위이고 X=0는 스크린의 좌측이다.
비트필드는 다음과 같이 정의된다:
D<25:16> = 최하위경계 - 픽 애퍼처의 최하위 경계를 지정한다.
D<10:0> = 우측경계 - 픽 애퍼처의 우측 경계를 지정한다
픽 프론트 경계 레지스터는 픽 애퍼처 프론트(포함) 경계를 지정한다.
드로우처리기(50)는 만일 Z< 프론트이고 픽 CSR3-D 필드가 세트되어 있으면 픽 히트를 발생하지 않는다. 픽 백 경계 레지스터는 픽 애퍼처 백(포함) 경계를 지정한다.
드로우처리기(50)는 만일 Z > 백이고 픽 CSR 3-D 필드가 세트되어 있으면 픽 히트를 발생하지 않는다.
드로우처리기(50)를 위한 스크린 도어 투명성 구성은 16 개의 스크린 도어열(column) 레지스터의 내용에 의해 지정된다. 각각의 스크린 도어 열 레지스터는 16 비트폭이며, 16 X 16 스크린 도어 투명성 형식이 가능하다.
각각의 스크린 도어 열 레지스터는 스크린 도어 투명성 형식의 한개 16픽셀 열을 정의한다.
만일 패턴비트가 1이면, 물체는 대응 픽셀에서 입체(가시적임)이다. 만일 패턴비트가 0이면, 물체는 투명이며 대응픽셀은 도시되지 않는다.
컬럼 번호는 짝수 열에 대해선 2 X nn 이며 홀수열에 대해선 2 X nn + 1 이며, 여기서 nn (레지스터 주소 오프세트) 의 범위는 십진수로 0에서 7까지이다.
스크린 도어 열 레지스터에 대한 비트필드는 아래와 같이 정의된다:
D<31:16> = 열의 홀수 행(row) 15에서부터 0은 비트 31 에서부터 비트 16 에 의해 지정된다.
D<15:0 > = 열의 짝수 행 15 에서부터 0는 비트 15 에서부터 0비트에 의해 지정된다.
드로우처리기(50)에서의 패스트 클리어 동작은 패스트 클리어 데이타 레지스터 및 윈도우 백그라운드 색 레지스터에 의해 제어된다
패스트 클리어 데이타 레지스터의 내용은 프레임버퍼(100) 로의 VRAM 플래쉬 기록 메모리 사이클동안 패스트 클리어 평면에 기록된다
패스트 클리어 평면 마스크는 기록된 비트를 지정한다. 패스트 클리어 데이타 레지스터의 비트필드는 아래와 같이 정의된다:
D<15:10> = 패스트 클리어 - VRAM 플래쉬 기록메모리 사이클동안 패스트 클리어 평면에 6-비트로된 필드가 기록된다.
윈도우 백그라운드 컬러 레지스터는 드로우처리기(50)에 의해 수행되는 동작에 사용되는 윈도우 백그라운드 색(RGBO)을 지정한다. 모두 1인 ,백그라운드는 Z평면을 위해 사용된다.
만일 윈도우가 패스트 클리어 윈도우이면, 예를들면 ROP 또는 앤티에일리어싱동작과 같은 판독 또는 판독/ 수정/ 기록 사이클동안 임의의 무효( 즉, 패스트 클리어 되었지만 아직 기록되지 않은) 픽셀로부터 RGBO 데이타 판독을 위해 백그라운드 값으로 대치된다.
윈도우 백그라운드 컬러는 또한 드로우처리기(50)의 블렌드 기능에 부가된 소스중의 하나로써 이용가능한다. 윈도우 백그라운드 컬러 레지스터를 위한 비트 필드는 아래와 같다.
D<31:24> = 오버레이 - 오버레이 픽셀값을 지정한다.
D<23:16> = 청색 - 청색 픽셀값을 지정한다
D<15:8 > = 녹색 - 녹색 픽셀값을 지정한다.
D<7:0> = 적색 - 적색 픽셀값을 지정한다.
드로우처리기(50)는 현재의 윈도우 ID 레지스터 및 윈도우 ID (WID) 클립 마스크 레지스터를 갖는다. 현재의 윈도우 ID 레지스터는 현재의 윈도우 ID 코드를 지정한다.
만일 강제 현재 WID 속성이 인에이블되었다면( 드로우처리기 속성 레지스터의 4비트) 현재의 윈도우 ID 코드는 강제적으로 WID 평면이 되어진다. 현재의 윈도우 ID 코드는 WID 클리핑이 인에이블되지 않았다면 마스크되지 않은 WID 평면과 비교된다.
WID 클립 마스크 레지스터는 현재의 WID 클립 마스크를 지정한다.
WID 클립 마스크 레지스터내에서의 비트의 세팅은 WID 클립비교동안 현재의 WID 레지스터에 있는 대응비트를 인에이블시킨다.
드로우처리기(50)는 3-D 히든 표면 제거(HSR) 를 위한 깊이 버퍼로서의 기능을 하는 24개의 프레임버퍼 Z 평면을 실시한다. 상수 Z 소스 레지스터는 윈도우 클리핑 또는 병렬픽셀 모드기록을 위해 WID 확장으로써 깊이(Z) 평면에 기록되어질 수 있는 상수를 지정한다.
드로우처리기(50)는 이미지 기록 마스크 레지스터 및 윈도우 기록 마스크 레지스터를 가진다. 이미지 기록 마스크 레지스터는 RGBO 평면을 위해 매(每) 평면 기록 마스크를 제공한다. 드로우처리기(50)는 이미지 평면그룹의 모든 4바이트 중에서 바이트를 카피한다. 카피할 바이트를 결정하기 위한 이미지 기록 마스크 레지스터가 프레임버퍼에 기록된다. 이미지 기록 마스크 레지스터의 비트필드는 아래와 같다:
D<31:24> = 오버레이 마스크 - 오버레이 픽셀 마스크를 지정한다.
D<23:16> = 청색 마스크 - 청색 픽셀 마스크를 지정한다.
D<15:8 > = 녹색 마스크 - 녹색 픽셀 마스크를 지정한다.
D<7:0> = 적색 마스크 - 적색 픽셀 마스크를 지정한다.
윈도우 기록 마스크 레지스터는 패스트 클리어, 오버레이 윈도우 및 이미지 윈도우 평면을 위해 매 평면 기록 마스크를 제공한다. 비트 필드는 아래와 같다:
D<15:00> = 패스트 클리어 마스크 - 패스트 클리어 마스크를 지정한다.
D<9:6> = 오버레이 윈도우 평면 마스크 - 오버레이 윈도우 평면 마스크를 지정한다.
D<5:0> = 이미지 윈도우 평면 마스크 - 이미지 윈도우 평면 마스크를 지정한다
드로우처리기(50)는 상수 알파 소스 레지스터 및 강제 컬러 레지스터를 가진다.
상수 알파 소스 레지스터는 앤티에일리어스 필터 알파 대신 대체될 수 있는 상수 알파 소스를 지정한다. 강제 컬러 레지스터는 DAA 유니트에 의해 발생된 컬러간 대신 대체할 수 있는 상수 컬러 레지스터를 지정한다. 강제 컬러 레지스터의 비트필드는 적색, 녹색 및 청색 픽셀 값을 지정한다.
드로우처리기(50)를 위한 깊이 큐잉동작은 깊이 큐 Z- 프론트 레지스터, 깊이 큐 Z-백 레지스터, 깊이 큐 스케일 레지스터, 깊이 큐 Z- 스케일 레지스터, 깊이 큐 페이드 컬러 레지스터에 의해 제어된다. 깊이 큐 Z- 프론트 레지스터는 깊이 큐잉에서의 사용을 위한 Z-프론트 값을 지정한다. 깊이 큐 Z- 백 레지스터는 깊이 큐잉에서의 사용을 위한 Z- 백 값을 지정 한다.
깊이 큐 스케일 레지스터는 깊이 큐잉에서의 사용을 위한 프론트 및 백 스케일 인수(scale factor)를 지정한다. 이 스케일 인수 값은 0에서 1.0까지의 범위에서 9비트로 구성 된다. 깊이 큐 Z- 스케일 레지스터는 깊이 큐잉에서의 사용을 위한 Z- 스케일 인수를 지정한다. 2-스케일 인수는 9비트 가수 및 6비트 지수로 구성된다.
깊이 큐 페이드 컬러 레지스터는 깊이 큐잉에서의 사용을 위한 적색, 녹색 및 청색 페이드 컬러를 지정한다
C = SCi + (1-S) Cd
여기서;
C = 깊이 큐된 컬러의 성분
Ci = 입력 컬러의 성분
Cd = 깊이 큐 페이드 컬러의 성분
S = 드로우처리기(50)내에서 계산된 깊이 큐 기준화 인수:
만일 Z가 Z- 프론트의 전면이면, S=프론트 스케일
만일 Z가 Z- 백의 뒷면이면, S=백 스케일
만일 Z가 Z- 프론트 및 Z- 백 사이이면, S=백 스케일 + (Z-Z백)*Z스케일
제10도 내지 제13도는 드로우처리기(50)의 픽셀동작을 도시하고, 프레임버퍼(100)에 픽셀 기록 전에 드로우처리기(50)에 의해 테스트된 조건을 도시한다.
제10도는 패스트 클리어 평면을 위한 픽셀동작을 나타낸다.
제11도는 윈도우 ID 평면을 위한 픽셀동작을 나타낸다.
제12도는 이미지(ORGB)평면을 위한 픽셀동작을 나타낸다.
제13도는 깊이 평면을 위한 픽셀동작을 나타낸다.
제10도 내지 제13도의 열에 도시된 조건들의 정의는 아래와 같이 설명된다.
시각포트내 픽스조건이 만일1 이면 픽셀은 뷰 클립 최소 경계 및 뷰 클립 최대 경계 레지스터에 의해 정의된 시각포트내에 픽셀이 있음을 나타낸다.
렌더없는 픽 조건이 만일 "1"이면, 픽킹인에이블 및 픽킹동안 렌더렁 아님을 지정하는 10x 의 픽 제어코드( 즉, 드로우처리기 속성 레지스터의 비트 31:29) 를 나타낸다.
WID 매치 조건은 WID 클립 마스크 레지스터내에서 1인 각각의 비트, 현재의 윈도우 ID 레지스터내에서의 대응 비트와 동일한 fb 데이타내에 있는 각각의 비트를 나타낸다.
여기서 fb 데이타는 수정되지 않은 픽셀 데이타에 있다.
HSR 윈 조건에 대해서, H 는 드로우처리기 속성 레지스터의 비트 17 ( 히든 표면제거 인에이블) 이고, X 는 드로우처리기 속성 레지스터의 비트14(WID 확장 클립 인에이블)이다.
X = 0, H = 0 에 대해서 : hsr.win = 1
X = 0, H = 1 에 대해서 :만일( Z 뉴 = Z 올드) 이면 hsr.win = 1;
그렇지 않으면 hsr.win = 0
X = 1, H = 0 에 대해서 :만일( Z 뉴= = Z 올드) 이면 hsr.win = = 1;
그렇지 않으면 hsr.win = 0
X = 1, H = 1 에 대해서 :만일( Z 뉴= = Z 올드) 이면 hSr.win = = 1;
그렇지 않으면 hsr.win = 0
스크린 도어 기록 인에이블 조건은 만일 "0"이면 비트 27 ( 드로우처리기 속성 레지스터의 스크린 도어 인에이블) 은 "1" 이고 선택된 스크린 도어 비트는 "0"이다.
패스트 클리어 인에이블 조건은 드로우처리기 속성 레지스터의 비트 10(패스트 클리어 인에이블) 이다. 패스트 클리어 비트가 만일 "1"이면 I및 D평면은 유효임을 나타낸다.
액세스 모드 조건은 다음과 같다:
I = 이미지(ORGB)평면, 직접 포트 기록 또는 판독
D = 깊이(Z) 평면, 직접 포트 기록 또는 판독
W = 윈도우(FC + WID)평면, 직접 포트 기록 또는 판독
ID = 이미지 + 깊이 , 오직 3D 기록 또는 오직 직접 포트 기록
프레임버퍼로의 데이타 출력을 위한 정의는 다음과 같다.
"비트M (m, 사이드1, 사이드0)" 구성요소는 마스크m 에 있는 각각의 비트에 대해, m=0 이면, 사이드0 비트를 선택하고 m=1이면, 사이드1 비트를 선택함을 의미한다.
"FB 데이타 인" 은 프레임버퍼(100) 로의 데이타기록이 프레임버퍼(100) 로부터의 데이타판독과 동일함을 의미한다. 즉 픽셀이 수정되어지지 않았다.
예를들면 제12도의 첫번째줄은 윈도우 검색에 대해, 데이타가 프레임버퍼(100) 의 ORGB평면 프레임버퍼로 기록되지 않았음을 의미한다(FB 로의 데이타아웃 = FB 데이타인). 제12도의 둘째줄은(1,D 또는 ID 액세스) 에 대해 만일 픽셀이 시각포트에 있지 알다면, 픽셀은 기록되지 않았음을 의미한다(FB 로의 데이타 아웃 = F8 데이타 인).
제12도의 8번째줄은 I 또는 ID 픽셀 액세스에 대해, 수직줄의 왼쪽에 있는 모든 조건들이 충족된다면, 프레임버퍼(100) 로부터의 데이타 판독입력은 ROP및 변화되지 않은 블렌드 유니트로 전달되며 프레임버퍼(100) 로의 데이타 기록출력은 ROP/블렌드 유니트( 기록 마스크의 제어하에) 의 출력이다.
상술한 본발명의 명세서는 특정 모범 실시예를 참조로하여 설명되었으나, 첨부된 청구항에 개시된 바와같이 본발명의 넓은 범위 및 정신으로부터 벗어남이 없이 다양한 수정 및 변화가 있을 수 있음이 명백할 것이다.
본발명의 명세서 및 도면은 동시에 제한적이라기 보다 예시적으로 간주되어져야 한다.

Claims (10)

  1. 2차원 및 3차원 점, 선 및 영역 그래픽 프리미티브의 고정도 화면 공간설명을 포함하는 기하물체를 정의하는 기하 매개 변수세트를 포함하는 드로우 패킷을, 부동 소숫점 처리기로부터 드로우 버스를 통하여 수신하며, 드로우처리기에 대응하는 인터리브 값에 따라 기하매개변수를 조정하는 기하 파이프라인 인터페이스회로; 상기 기하 파이프라인 인터페이스회로로부터 기하 매개변수를 수신하며, 상기 기하매개변수에 따라 에지워킹 및 주사보간기능을 수행함으로써, 기하물체에 대응하는 픽셀 세트를 발생하는 렌더링 회로; 드로우처리기의 적어도 하나의 픽셀함수를 제어하는 픽셀함수 매개변수 세트를 포함하는 직접 포트 패킷을, 명령 전처리기로부터 드로우 버스를 통하여 수신하는 직접 포트 인터페이스회로; 및 직접 포트 인터페이스회로로부터 픽셀을 수신하며, 직접 포트 인터페이스회로로부터 픽셀함수 매개변수를 수신하며, 픽셀함수를 수행하는 동안 프레임버퍼 메모리로 픽셀을 기록하는 메모리 제어회로;를 포함하는 것을 특징으로 하는 그래픽 가속기를 위한 드로우처리기.
  2. 제1항에 있어서, 기하 파이프라인 인터페이스회로는 기하물체에 대한 X좌표에 인터리브 값을 부가하고, 드로우 패킷은 기하물체에 대해 적어도 하나의 X좌표를 포함하는 것을 특징으로 하는 그래픽 가속기를 위한 드로우처리기.
  3. 제1항에 있어서, 픽셀함수는 픽셀깊이 큐 함수를 포함하고, 메모리 제어 회로가 각각의 픽셀상에 픽셀깊이 큐 함수를 수행하며, 그후 각각의 픽셀을 프레임버퍼 메모리에 기록하도록, 픽셀함수 매개변수는 깊이큐 Z- 프론트 값, 깊이큐 Z- 백값, 깊이큐 스케일 값, 깊이큐 Z- 스케일 값, 깊이큐 페이드 컬러값을 포함하는 것을 특징으로 하는 그래픽 가속기를 위한 드로우처리기.
  4. 제1항에 있어서, 메모리 제어회로가 X 및 Y 좌표에 대응하는 프레임버퍼 메모리 주소에서 프레임버퍼 메모리에 적색, 녹색 및 청색 값을 기록하도록, 픽셀함수는 기록픽셀함수, X 및 Y좌표를 포함하는 직접 포트 패킷, 및 적색, 녹색 및 청색값을 포함하는 것을 특징으로 하는 그래픽 가속기를 위한 드로우처리기.
  5. 제1항에 있어서, 메모리 제어회로가 소스 주소에서 프레임버퍼 메모리로부터 소스 픽셀의 블록을 판독하며 목적지 주소에서 프레임버퍼 메모리에 소스 픽셀의 블록을 기록하도록 픽셀함수는 픽셀블록 카피 함수를 포함하고, 픽셀함수 매개변수는 소스주소, 소스 픽셀 블록내의 픽셀의 수를 나타내는 채움크기값 및 목적지주소를 포함하는 것을 특징으로 하는 그래픽 가속기를 위한 드로우처리기.
  6. 그래픽 가속기내의 프레임버퍼로 픽셀을 렌더링하는 방법에 있어서, 2차원 및 3차원 점, 선 및 영역그래픽 프리미티브의 고정도 화면 공간설명을 포함하는 기하물체를 정의하는 기하 매개변수 세트를 포함하는 드로우 패킷을, 부동소숫점 처리기로부터 드로우 버스를 통하여 수신하는 단계; 드로우처리기에 대응하는 인터리브 값에 따라 기하 매개변수를 조정하는 단계; 기하 매개변수에 따라 에지워킹 및 주사보간기능을 수행함으로써, 기하 물체에 대응하는 픽셀 세트를 발생시키는 단계; 적어도 하나의 픽셀함수를 제어하는 픽셀함수 매개변수 세트를 포함하는 직접 포트 패킷을, 명령 전처리기로부터 드로우 버스를 통하여 수신하는 단계; 픽셀함수를 수행하는 동안 프레임버퍼 메모리에 픽셀을 기록하는 단계;를 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 드로우 패킷은 기하물체에 대해 적어도 하나의 X좌표를 포함하고, 기하 매개변수 조정단계는 기하물체에 대한 X좌표에 인터리브값을 부가하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제6항에 있어서, 픽셀함수는 픽셀 깊이 큐함수를 포함하고, 픽셀함수 매개변수는 깊이 큐 Z- 프론트 값, 깊이큐 Z- 백 값, 깊이큐 스케일 값, 깊이 큐 Z- 스케일 값, 및 깊이 큐 페이드 컬러값을 포함하며, 픽셀함수 수행단계는 각각의 픽셀상에 픽셀 깊이 큐함수를 수행하며 그후 프레임버퍼 메모리에 각각의 픽셀을 기록하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제6항에 있어서, 픽셀함수는 기록 픽셀 함수, x 및 y 좌표를 포함하는 직접 포트패킷, 및 적색, 녹색 및 청색 값을 포함하고, 픽셀함수 수행단계는 x및 y좌표에 대응하는 프레임버퍼 메모리 주소에서 프레임버퍼 메모리로 적색, 녹색 및 청색값을 기록하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제6항에 있어서, 픽셀함수는 픽셀 블록 카피 함수를 포함하고, 픽셀함수 매개변수는 소스주소, 채움크기값 및 목적지주소를 포함하며, 픽셀함수 수행단계는 채움크기값이 소스 픽셀의 블록내에 픽셀의 갯수를 나타내도록, 소스 주소에서 프레임버퍼 메모리로 부터 소스픽셀의 블록을 판독하고, 목적지 주소에서 프레임버퍼 메모리로 소스 픽셀의 블록을 기록하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1019940012656A 1993-06-04 1994-06-04 고성능3차원그래픽가속기를위한드로우처리기 KR100301223B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/071,699 US5392393A (en) 1993-06-04 1993-06-04 Architecture for a high performance three dimensional graphics accelerator
US08/082,065 US5440682A (en) 1993-06-04 1993-06-23 Draw processor for a high performance three dimensional graphic accelerator
US08/082,065 1993-06-23

Publications (2)

Publication Number Publication Date
KR950001544A KR950001544A (ko) 1995-01-03
KR100301223B1 true KR100301223B1 (ko) 2001-10-24

Family

ID=22102997

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1019940012520A KR100328421B1 (ko) 1993-06-04 1994-06-03 고성능3차원그래픽가속기의아키텍쳐
KR1019940012656A KR100301223B1 (ko) 1993-06-04 1994-06-04 고성능3차원그래픽가속기를위한드로우처리기

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1019940012520A KR100328421B1 (ko) 1993-06-04 1994-06-03 고성능3차원그래픽가속기의아키텍쳐

Country Status (5)

Country Link
US (2) US5392393A (ko)
EP (1) EP0627700B1 (ko)
JP (1) JP3491773B2 (ko)
KR (2) KR100328421B1 (ko)
DE (1) DE69430884T2 (ko)

Families Citing this family (145)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3098342B2 (ja) * 1992-11-26 2000-10-16 富士通株式会社 並列処理装置における処理順序指定方式
US5712664A (en) * 1993-10-14 1998-01-27 Alliance Semiconductor Corporation Shared memory graphics accelerator system
JPH07225852A (ja) * 1994-02-15 1995-08-22 Fujitsu Ltd 動画生成方法および装置
US5548709A (en) * 1994-03-07 1996-08-20 Silicon Graphics, Inc. Apparatus and method for integrating texture memory and interpolation logic in a computer system
DE69521741T2 (de) 1994-05-03 2002-05-23 Sun Microsystems Inc Direktzugriffspeicher und System für Rasterpuffer
WO1995034051A1 (en) * 1994-06-06 1995-12-14 Spectragraphics Corporation Method and apparatus for capturing and distributing graphical data
JPH10502181A (ja) * 1994-06-20 1998-02-24 ネオマジック・コーポレイション メモリインタフェースのないグラフィックスコントローラ集積回路
EP0693737A3 (en) * 1994-07-21 1997-01-08 Ibm Method and apparatus for managing tasks in a multiprocessor system
US5630101A (en) * 1994-11-22 1997-05-13 Minnesota Mining And Manufacturing Company System for communication of image information between multiple-protocol imaging devices
US6275869B1 (en) 1994-11-22 2001-08-14 Eastman Kodak Company System for network communication of image information between imaging devices according to multiple protocols
DE69634219D1 (de) * 1995-03-21 2005-03-03 Sun Microsystems Inc Videoeinzelbildkennungserfassung
US5696534A (en) * 1995-03-21 1997-12-09 Sun Microsystems Inc. Time multiplexing pixel frame buffer video output
US6025853A (en) * 1995-03-24 2000-02-15 3Dlabs Inc. Ltd. Integrated graphics subsystem with message-passing architecture
US5594854A (en) * 1995-03-24 1997-01-14 3Dlabs Inc. Ltd. Graphics subsystem with coarse subpixel correction
US5764228A (en) * 1995-03-24 1998-06-09 3Dlabs Inc., Ltd. Graphics pre-processing and rendering system
JP2716397B2 (ja) * 1995-04-20 1998-02-18 新潟日本電気株式会社 グラフィクスコントローラ
FR2735253B1 (fr) * 1995-06-08 1999-10-22 Hewlett Packard Co Synchronisation de donnees entre plusieurs dispositifs de restitution asynchrones de donnees
US5864344A (en) * 1995-07-03 1999-01-26 Ikedo; Tsuneo Computer graphics circuit
US5877779A (en) * 1995-07-06 1999-03-02 Sun Microsystems, Inc. Method and apparatus for efficient rendering of three-dimensional scenes
US5842004A (en) * 1995-08-04 1998-11-24 Sun Microsystems, Inc. Method and apparatus for decompression of compressed geometric three-dimensional graphics data
US6525722B1 (en) 1995-08-04 2003-02-25 Sun Microsystems, Inc. Geometry compression for regular and irregular mesh structures
US5793371A (en) * 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US6747644B1 (en) 1995-08-04 2004-06-08 Sun Microsystems, Inc. Decompression of surface normals in three-dimensional graphics data
US5794016A (en) * 1995-12-11 1998-08-11 Dynamic Pictures, Inc. Parallel-processor graphics architecture
US5812138A (en) * 1995-12-19 1998-09-22 Cirrus Logic, Inc. Method and apparatus for dynamic object indentification after Z-collision
US5850346A (en) * 1995-12-27 1998-12-15 Mitsubishi Electric Information Technology Center America, Inc. System for embedding hidden source information in three-dimensional computer model data
US5736987A (en) * 1996-03-19 1998-04-07 Microsoft Corporation Compression of graphic data normals
KR100207664B1 (ko) * 1996-04-02 1999-07-15 윤종용 격자점 데이터들의 병렬적인 액세스를 가능하게 하는 삼차원 데이터 저장 방법
US5821950A (en) * 1996-04-18 1998-10-13 Hewlett-Packard Company Computer graphics system utilizing parallel processing for enhanced performance
JP3402926B2 (ja) 1996-05-15 2003-05-06 シャープ株式会社 3次元画像処理装置
US5821949A (en) * 1996-07-01 1998-10-13 Sun Microsystems, Inc. Three-dimensional graphics accelerator with direct data channels for improved performance
US5740409A (en) * 1996-07-01 1998-04-14 Sun Microsystems, Inc. Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities
US6046746A (en) * 1996-07-01 2000-04-04 Sun Microsystems, Inc. Method and apparatus implementing high resolution rendition of Z-buffered primitives
US5874969A (en) * 1996-07-01 1999-02-23 Sun Microsystems, Inc. Three-dimensional graphics accelerator which implements multiple logical buses using common data lines for improved bus communication
US6115047A (en) * 1996-07-01 2000-09-05 Sun Microsystems, Inc. Method and apparatus for implementing efficient floating point Z-buffering
US5745125A (en) * 1996-07-02 1998-04-28 Sun Microsystems, Inc. Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance
US6343309B1 (en) 1996-09-30 2002-01-29 International Business Machines Corporaton Method and apparatus for parallelizing a graphics pipeline
JP3763136B2 (ja) * 1996-12-27 2006-04-05 ソニー株式会社 描画方法および描画装置
CA2227531C (en) * 1997-01-20 2003-03-18 Hitachi, Ltd. Graphics processing unit and graphics processing system
JPH10269377A (ja) 1997-03-27 1998-10-09 Toshiba Corp 表示制御システムおよび3次元グラフィクスデータの表示制御方法
US6278645B1 (en) * 1997-04-11 2001-08-21 3Dlabs Inc., Ltd. High speed video frame buffer
US6282625B1 (en) 1997-06-25 2001-08-28 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6249853B1 (en) 1997-06-25 2001-06-19 Micron Electronics, Inc. GART and PTES defined by configuration registers
US6069638A (en) * 1997-06-25 2000-05-30 Micron Electronics, Inc. System for accelerated graphics port address remapping interface to main memory
US6417848B1 (en) 1997-08-25 2002-07-09 Ati International Srl Pixel clustering for improved graphics throughput
US6191791B1 (en) * 1997-09-30 2001-02-20 Hewlett-Packard Company Methods for high precision, memory efficient surface normal compression and expansion
US6532016B1 (en) * 1997-10-23 2003-03-11 Texas Instruments Incorporated Method of processing print data using parallel raster image processing
US6157398A (en) 1997-12-30 2000-12-05 Micron Technology, Inc. Method of implementing an accelerated graphics port for a multiple memory controller computer system
US6252612B1 (en) 1997-12-30 2001-06-26 Micron Electronics, Inc. Accelerated graphics port for multiple memory controller computer system
US7071946B2 (en) * 1997-12-30 2006-07-04 Micron Technology, Inc. Accelerated graphics port for a multiple memory controller computer system
JP4275790B2 (ja) * 1998-03-19 2009-06-10 富士通マイクロエレクトロニクス株式会社 図形選別ユニット及び図形描画装置
US7038692B1 (en) * 1998-04-07 2006-05-02 Nvidia Corporation Method and apparatus for providing a vertex cache
US7136068B1 (en) 1998-04-07 2006-11-14 Nvidia Corporation Texture cache for a computer graphics accelerator
US6650327B1 (en) * 1998-06-16 2003-11-18 Silicon Graphics, Inc. Display system having floating point rasterization and floating point framebuffering
US6577316B2 (en) 1998-07-17 2003-06-10 3Dlabs, Inc., Ltd Wide instruction word graphics processor
JP3983394B2 (ja) 1998-11-09 2007-09-26 株式会社ルネサステクノロジ 幾何学処理プロセッサ
US6204854B1 (en) * 1998-12-04 2001-03-20 France Telecom Method and system for encoding rotations and normals in 3D generated scenes
US6452603B1 (en) * 1998-12-23 2002-09-17 Nvidia Us Investment Company Circuit and method for trilinear filtering using texels from only one level of detail
US6377265B1 (en) * 1999-02-12 2002-04-23 Creative Technology, Ltd. Digital differential analyzer
JP3169933B2 (ja) * 1999-03-16 2001-05-28 四国日本電気ソフトウェア株式会社 並列描画装置
US6919895B1 (en) 1999-03-22 2005-07-19 Nvidia Corporation Texture caching arrangement for a computer graphics accelerator
US6407736B1 (en) 1999-06-18 2002-06-18 Interval Research Corporation Deferred scanline conversion architecture
US6452600B1 (en) 1999-10-28 2002-09-17 Nintendo Co., Ltd. Graphics system interface
US6717577B1 (en) * 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6411301B1 (en) 1999-10-28 2002-06-25 Nintendo Co., Ltd. Graphics system interface
US7796132B1 (en) * 1999-11-18 2010-09-14 Namco Bandai Games Inc. Image generation system and program
US7483042B1 (en) * 2000-01-13 2009-01-27 Ati International, Srl Video graphics module capable of blending multiple image layers
JP4568950B2 (ja) * 2000-02-29 2010-10-27 ソニー株式会社 グラフィックス描画装置
US6924807B2 (en) 2000-03-23 2005-08-02 Sony Computer Entertainment Inc. Image processing apparatus and method
AU2001239559A1 (en) * 2000-03-23 2001-10-03 Sony Computer Entertainment Inc. Image processing apparatus and method
US6857061B1 (en) 2000-04-07 2005-02-15 Nintendo Co., Ltd. Method and apparatus for obtaining a scalar value directly from a vector register
US6859862B1 (en) 2000-04-07 2005-02-22 Nintendo Co., Ltd. Method and apparatus for software management of on-chip cache
US7119813B1 (en) 2000-06-02 2006-10-10 Nintendo Co., Ltd. Variable bit field encoding
US7405734B2 (en) * 2000-07-18 2008-07-29 Silicon Graphics, Inc. Method and system for presenting three-dimensional computer graphics images using multiple graphics processing units
JP3466173B2 (ja) * 2000-07-24 2003-11-10 株式会社ソニー・コンピュータエンタテインメント 画像処理システム、デバイス、方法及びコンピュータプログラム
US6867781B1 (en) 2000-08-23 2005-03-15 Nintendo Co., Ltd. Graphics pipeline token synchronization
US6606689B1 (en) 2000-08-23 2003-08-12 Nintendo Co., Ltd. Method and apparatus for pre-caching data in audio memory
US6999100B1 (en) 2000-08-23 2006-02-14 Nintendo Co., Ltd. Method and apparatus for anti-aliasing in a graphics system
US7002591B1 (en) 2000-08-23 2006-02-21 Nintendo Co., Ltd. Method and apparatus for interleaved processing of direct and indirect texture coordinates in a graphics system
US6937245B1 (en) 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6609977B1 (en) 2000-08-23 2003-08-26 Nintendo Co., Ltd. External interfaces for a 3D graphics system
US6639595B1 (en) 2000-08-23 2003-10-28 Nintendo Co., Ltd. Achromatic lighting in a graphics system and method
US7134960B1 (en) * 2000-08-23 2006-11-14 Nintendo Co., Ltd. External interfaces for a 3D graphics system
US7196710B1 (en) * 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6980218B1 (en) 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US7184059B1 (en) 2000-08-23 2007-02-27 Nintendo Co., Ltd. Graphics system with copy out conversions between embedded frame buffer and main memory
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6825851B1 (en) 2000-08-23 2004-11-30 Nintendo Co., Ltd. Method and apparatus for environment-mapped bump-mapping in a graphics system
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US6664958B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Z-texturing
US6580430B1 (en) 2000-08-23 2003-06-17 Nintendo Co., Ltd. Method and apparatus for providing improved fog effects in a graphics system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6664962B1 (en) 2000-08-23 2003-12-16 Nintendo Co., Ltd. Shadow mapping in a low cost graphics system
US7079133B2 (en) * 2000-11-16 2006-07-18 S3 Graphics Co., Ltd. Superscalar 3D graphics engine
US6697074B2 (en) * 2000-11-28 2004-02-24 Nintendo Co., Ltd. Graphics system interface
US6803916B2 (en) 2001-05-18 2004-10-12 Sun Microsystems, Inc. Rasterization using two-dimensional tiles and alternating bins for improved rendering utilization
US7092035B1 (en) * 2001-07-09 2006-08-15 Lsi Logic Corporation Block move engine with scaling and/or filtering for video or graphics
US6961803B1 (en) * 2001-08-08 2005-11-01 Pasternak Solutions Llc Sliced crossbar architecture with no inter-slice communication
US7003588B1 (en) 2001-08-22 2006-02-21 Nintendo Co., Ltd. Peripheral devices for a video game system
US7987341B2 (en) * 2002-10-31 2011-07-26 Lockheed Martin Corporation Computing machine using software objects for transferring data that includes no destination information
US8736628B1 (en) 2004-05-14 2014-05-27 Nvidia Corporation Single thread graphics processing system and method
US8743142B1 (en) 2004-05-14 2014-06-03 Nvidia Corporation Unified data fetch graphics processing system and method
US8860722B2 (en) * 2004-05-14 2014-10-14 Nvidia Corporation Early Z scoreboard tracking system and method
US8687010B1 (en) 2004-05-14 2014-04-01 Nvidia Corporation Arbitrary size texture palettes for use in graphics systems
US8736620B2 (en) * 2004-05-14 2014-05-27 Nvidia Corporation Kill bit graphics processing system and method
US8711155B2 (en) * 2004-05-14 2014-04-29 Nvidia Corporation Early kill removal graphics processing system and method
US8073974B2 (en) * 2004-10-01 2011-12-06 Lockheed Martin Corporation Object oriented mission framework and system and method
US8089486B2 (en) * 2005-03-21 2012-01-03 Qualcomm Incorporated Tiled prefetched and cached depth buffer
US7616207B1 (en) * 2005-04-25 2009-11-10 Nvidia Corporation Graphics processing system including at least three bus devices
US10026140B2 (en) 2005-06-10 2018-07-17 Nvidia Corporation Using a scalable graphics system to enable a general-purpose multi-user computer system
KR100706917B1 (ko) * 2005-08-03 2007-04-12 엠텍비젼 주식회사 실시간 이미지 스케일링 장치, 방법 및 이를 구현하기 위한프로그램을 기록한 기록매체
US7436412B2 (en) * 2005-08-24 2008-10-14 Qualcomm Incorporated Graphics engine with efficient interpolation
US7525548B2 (en) 2005-11-04 2009-04-28 Nvidia Corporation Video processing with multiple graphical processing units
US7750915B1 (en) * 2005-12-19 2010-07-06 Nvidia Corporation Concurrent access of data elements stored across multiple banks in a shared memory resource
US7768517B2 (en) 2006-02-21 2010-08-03 Nvidia Corporation Asymmetric multi-GPU processing
US8154554B1 (en) 2006-07-28 2012-04-10 Nvidia Corporation Unified assembly instruction set for graphics processing
US7973797B2 (en) * 2006-10-19 2011-07-05 Qualcomm Incorporated Programmable blending in a graphics processing unit
US8537168B1 (en) 2006-11-02 2013-09-17 Nvidia Corporation Method and system for deferred coverage mask generation in a raster stage
US8022958B2 (en) 2007-04-04 2011-09-20 Qualcomm Incorporated Indexes of graphics processing objects in graphics processing unit commands
US20090046105A1 (en) * 2007-08-15 2009-02-19 Bergland Tyson J Conditional execute bit in a graphics processor unit pipeline
US8736624B1 (en) 2007-08-15 2014-05-27 Nvidia Corporation Conditional execution flag in graphics applications
US8314803B2 (en) 2007-08-15 2012-11-20 Nvidia Corporation Buffering deserialized pixel data in a graphics processor unit pipeline
US8775777B2 (en) * 2007-08-15 2014-07-08 Nvidia Corporation Techniques for sourcing immediate values from a VLIW
US9183607B1 (en) 2007-08-15 2015-11-10 Nvidia Corporation Scoreboard cache coherence in a graphics pipeline
US8521800B1 (en) 2007-08-15 2013-08-27 Nvidia Corporation Interconnected arithmetic logic units
US8599208B2 (en) * 2007-08-15 2013-12-03 Nvidia Corporation Shared readable and writeable global values in a graphics processor unit pipeline
US8471844B2 (en) 2008-01-18 2013-06-25 Sony Corporation Streaming geometry for use in displaying and editing 3D imagery
CN102105905B (zh) 2008-08-07 2013-07-17 三菱电机株式会社 半导体集成电路装置及空调用遥控器
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
US9401046B2 (en) * 2011-02-07 2016-07-26 Intel Corporation Micropolygon splatting
US8640047B2 (en) 2011-06-01 2014-01-28 Micorsoft Corporation Asynchronous handling of a user interface manipulation
CN102495726B (zh) 2011-11-15 2015-05-20 无锡德思普科技有限公司 机会多线程方法及处理器
US9411595B2 (en) 2012-05-31 2016-08-09 Nvidia Corporation Multi-threaded transactional memory coherence
US9824009B2 (en) 2012-12-21 2017-11-21 Nvidia Corporation Information coherency maintenance systems and methods
US10102142B2 (en) 2012-12-26 2018-10-16 Nvidia Corporation Virtual address based memory reordering
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US9569385B2 (en) 2013-09-09 2017-02-14 Nvidia Corporation Memory transaction ordering
US9766894B2 (en) * 2014-02-06 2017-09-19 Optimum Semiconductor Technologies, Inc. Method and apparatus for enabling a processor to generate pipeline control signals
US9558000B2 (en) 2014-02-06 2017-01-31 Optimum Semiconductor Technologies, Inc. Multithreading using an ordered list of hardware contexts
US11488349B2 (en) 2019-06-28 2022-11-01 Ati Technologies Ulc Method and apparatus for alpha blending images from different color formats
US11869123B2 (en) * 2021-08-03 2024-01-09 Adobe Inc. Anti-aliasing two-dimensional vector graphics using a compressed vertex buffer

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3924759A1 (de) * 1989-07-26 1991-02-07 Fraunhofer Ges Forschung Multiprozessorsystem fuer die graphische datenverarbeitung
US5317682A (en) * 1989-10-24 1994-05-31 International Business Machines Corporation Parametric curve evaluation method and apparatus for a computer graphics display system
US5159665A (en) * 1989-11-27 1992-10-27 Sun Microsystems, Inc. Graphics accelerator system
US5379376A (en) * 1990-06-04 1995-01-03 International Business Machines Corporation Bi-directional graphics attribute conversion profile
US5293480A (en) * 1990-08-06 1994-03-08 At&T Bell Laboratories High resolution graphics system architecture
US5220650A (en) * 1991-01-22 1993-06-15 Hewlett-Packard Company High speed method for rendering antialiased vectors
US5307449A (en) * 1991-12-20 1994-04-26 Apple Computer, Inc. Method and apparatus for simultaneously rendering multiple scanlines

Also Published As

Publication number Publication date
KR950001544A (ko) 1995-01-03
EP0627700A2 (en) 1994-12-07
JP3491773B2 (ja) 2004-01-26
DE69430884D1 (de) 2002-08-08
EP0627700B1 (en) 2002-07-03
KR950001541A (ko) 1995-01-03
KR100328421B1 (ko) 2002-06-22
DE69430884T2 (de) 2003-02-27
US5440682A (en) 1995-08-08
EP0627700A3 (en) 1995-02-01
JPH06348854A (ja) 1994-12-22
US5392393A (en) 1995-02-21

Similar Documents

Publication Publication Date Title
KR100301223B1 (ko) 고성능3차원그래픽가속기를위한드로우처리기
KR100301222B1 (ko) 고성능3차원그래픽가속기용명령전처리기
US6160557A (en) Method and apparatus providing efficient rasterization with data dependent adaptations
US5764228A (en) Graphics pre-processing and rendering system
US6348919B1 (en) Graphics system with optimized use of unified local and frame buffers
EP0631252B1 (en) Draw processor for a high performance three dimensional graphics accelerator
US6154223A (en) Integrated graphics subsystem with message-passing architecture
US6924808B2 (en) Area pattern processing of pixels
US6597363B1 (en) Graphics processor with deferred shading
US7864185B1 (en) Register based queuing for texture requests
US5777629A (en) Graphics subsystem with smart direct-memory-access operation
JP3260090B2 (ja) コンピュータ制御されたグラフィックスディスプレイシステムおよび同システムにおいてディスプレイリストを作成する方法
US10055883B2 (en) Frustum tests for sub-pixel shadows
US6731292B2 (en) System and method for controlling a number of outstanding data transactions within an integrated circuit
US9589310B2 (en) Methods to facilitate primitive batching
US20030218614A1 (en) Dynamically adjusting sample density in a graphics system
US6975322B2 (en) Dynamically adjusting a number of rendering passes in a graphics system
US6704026B2 (en) Graphics fragment merging for improving pixel write bandwidth
JPH0749961A (ja) グラフィックアクセラレータの浮動小数点プロセッサ及びその浮動小数点機能を実行する方法
US6417848B1 (en) Pixel clustering for improved graphics throughput
US5760792A (en) Fifo logical addresses for control and error recovery
US20030142105A1 (en) Optimized packing of loose data in a graphics queue
US6873330B2 (en) System and method for performing predictable signature analysis
US6975317B2 (en) Method for reduction of possible renderable graphics primitive shapes for rasterization
US5732248A (en) Multistep vector generation for multiple frame buffer controllers

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee