throbber
United States Patent [19J
`Alcorn et al.
`
`[54] SYSTEM FOR MANAGING TEXTURE
`MAPPING DATA IN A COMPUTER
`GRAPHICS SYSTEM
`
`[75]
`
`Inventors: Byron A. Alcorn; Dare) N. Emmot,
`both of Fort Collins, Colo.
`
`[73] Assignee: Hewlett-Packard Company, Palo Alto,
`Calif.
`
`[21] Appl. No.: 920,334
`
`[22] Filed:
`
`Aug. 27, 1997
`
`Related U.S. Application Data
`
`[63] Continuation of Ser. No. 469,051, Jun. 6, 1995, abandoned.
`Int. Cl.6
`..................................................... G06T 15/00
`[51]
`[52] U.S. Cl. .......................... 345/430; 345/501; 345/506;
`345/507
`[58] Field of Search ..................................... 345/419, 420,
`345/429, 430, 501, 506-8
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,097,427
`5,222,205
`5,255,360
`5,276,798
`5,461,712
`5,495,563
`5,544,292
`5,548,709
`5,550,961
`5,553,208
`5,561,745
`5,572,636
`
`3/1992 Lathrop et al. ......................... 395/130
`6/1993 Larson et al. ........................... 395/130
`10/1993 Peaslee et al. .......................... 395/162
`1/1994 Peaslee et al. .......................... 395/162
`10/1995 Chelstowski et al. .. ... ... .... ... ... 395 /164
`2/1996 Winser .................................... 395/130
`8/1996 Winser .................................... 395/130
`8/1996 Hannah et al.
`... ... ... ... .... ... ... ... 395 /164
`8/1996 Chimoto ................................. 395/133
`9/1996 Murata et al. .......................... 395/125
`11/1996 Jackson et al. ......................... 395/119
`11/1996 Sakuraba et al. ....................... 395/130
`
`I lllll llllllll Ill lllll lllll lllll lllll lllll 111111111111111111111111111111111
`US005886706A
`[11] Patent Number:
`[45] Date of Patent:
`
`5,886,706
`Mar. 23, 1999
`
`OTHER PUBLICATIONS
`Akeley, "Reality Engine Grapahics", ACM, Computer
`Graphics Proceedings, Annual Conference Series, 1993.
`Glemot, et al, "The Image Chip for High Performance 3D
`Rendering", IEEE Computer Graphics And Applications,
`Nov. 1992.
`Primary Examiner-Rudolph J. Buchel, Jr.
`[57]
`ABSTRACT
`
`A method and apparatus for managing texture mapping data
`in a computer graphics system, the computer graphics sys(cid:173)
`tem including a host computer, primitive rendering hardware
`and a primitive data path extending between the host com(cid:173)
`puter and the primitive rendering hardware. The host com(cid:173)
`puter passes primitives to be rendered by the system to the
`primitive rendering hardware over the primitive data path.
`The host computer has a main memory that stores texture
`mapping data corresponding to the primitives to be ren(cid:173)
`dered. The primitive rendering hardware includes a local
`texture memory that locally stores the texture mapping data
`corresponding to at least one of the primitives to be ren(cid:173)
`dered. When a primitive passed to the primitive rendering
`hardware is to be rendered, a determination is made as to
`whether its corresponding texture mapping data is in the
`local texture memory. When the texture mapping data cor(cid:173)
`responding to the primitive to be rendered is in the local
`texture memory, the primitive is rendered using its corre(cid:173)
`sponding texture mapping data from the local texture
`memory. When the texture mapping data corresponding to
`the primitive to be rendered is not in the local texture
`memory, the texture mapping data corresponding to the
`primitive to be rendered is downloaded from the host
`computer main memory to the primitive rendering hardware,
`and the primitive is rendered using its corresponding texture
`mapping data downloaded from the main memory. The local
`texture memory may be implemented as a cache.
`
`43 Claims, 25 Drawing Sheets
`
`BUS FR0/'1 2-D CHIP
`
`FRONT
`END
`3-D
`PRl/'1/T/V. PIPELINE
`
`_B_U ........ '5--i INTERFACE
`60
`18
`
`62
`
`PARAMETER
`INTERPOLA TORS
`
`72
`
`70
`
`TILER
`AND
`BOUND
`CK
`
`90
`
`88
`
`74
`
`FB. INTERFACE FIFOS
`
`TO
`
`Tl
`
`T2
`
`T3
`
`T4
`
`92
`TEXEL
`PORT
`
`TEXEL
`CACHE
`ACCESS
`82
`
`SDRAH
`INTER(cid:173)
`FACE
`
`80
`
`84
`
`CACHE
`DIR
`
`76
`
`TEXEL
`INTERPOLA TORS
`
`86
`
`Petitioner Apple Inc. - Exhibit 1005, p. 1
`
`

`

`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 1 0f 25
`Sheet 1 of 25
`
`5,886,706
`5,886,706
`
`•
`
`•
`
`•
`
`"'-t-
`~
`
`Q "
`
`~
`~
`Q
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`~
`
`~
`~
`
`~
`
`~
`
`~
`
`~
`
`~
`
`~
`
`~
`
`~
`
`• ~
`• __;
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`~
`
`·~.
`(
`
`•
`~
`,~.
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`.N . •
`"
`I~. •
`~
`,/ •
`•
`•
`•
`'C ~
`(¥3~(~. •
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`k700
`
`,__
`FIG1
`-
`Cl
`u_
`
`~
`~
`
`• _)
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`•
`
`Petitioner Apple Inc. - Exhibit 1005, p. 2
`
`Petitioner Apple Inc. - Exhibit 1005, p. 2
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`N
`~ .....
`'Jl =(cid:173)~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`,--
`I 50A
`: LLER
`: ONTRO-ONTRO-ONTRO-ONTRO-ONTRO-
`I F.8.
`I
`I 51A
`I
`1..._,_.....---........ -.-....-____. ---.----'
`54 : ~
`11 vRiM I VRAM
`VRAM
`I FRAME BUFFER BOARD 'M
`~~
`r ~ ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. ::. = = = ~ ----------_5..Bll_ ---~2A_ --------, ~
`~
`ti I
`
`:
`I
`: TEXTURE HAPPING BOARD 12 :
`r-------------------,
`
`/1£/10RY 18
`
`I
`
`!]_
`
`..-------l1 PROCESSOR 19
`
`HAIN HEHORY HOST
`
`17
`
`HAPPING
`-~-:..=-..::_-.=.,--:_:-:_:~:._:-...::....--.....-=...--:.:.._:-:_~---R-ON--T-----~~-1i-'8 ....Jl-r:;:;T£;:::;"X:;:;:TlJi:;-;;'R.::;;:i'£
`
`46
`
`; •·
`
`I
`
`-
`
`ACCELERATOR
`
`GEOMETRY
`
`3-D
`
`:
`___ J._'2_}1_,,4_2A BOARD 10 I
`~A
`:
`
`END
`
`I t6
`I~
`I Cij
`I~
`I
`I
`
`I
`I
`195
`I
`I
`
`r -
`
`DAC
`RAH~:
`
`I
`I
`
`I
`
`60A
`
`=====..<608
`/b~fil T
`
`58D
`
`50E
`LLER
`
`-
`
`50D
`LLER
`
`-
`
`,___.___......, ~
`51D
`
`F.8.
`
`F.B.
`
`VRtiM
`
`VRAM
`
`:
`
`~-------------------------------------------------J
`
`i I 24
`
`:m'
`
`2-D
`
`I 44
`
`50[
`LLER
`
`-
`
`F.B.
`51[
`
`508
`LLER
`
`F.8.
`
`518
`
`17-'RAro;li
`~:
`
`36
`
`3-D
`cJ2C 42.
`IU I ::0
`1L/: I~ ACCELERATOR
`GEOMETRY
`
`3-D
`
`L----------------------~ FIG 2
`: ·40 I ACCELERATOR
`GEONETRY I
`: 34 ~I
`: 3i '8 ACCELERA TOR
`: JO
`GEOMETRY
`
`Petitioner Apple Inc. - Exhibit 1005, p. 3
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`~
`
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`54
`
`52A
`
`58A
`
`FIG 2A
`
`Sf)Q
`LLER
`
`5..-10___._---. _ _.___
`
`F.8
`
`2M
`LLER
`ONTRO-ONTRO-ONTRO-ONTR0-
`F.8.
`
`5Q(
`LLER
`
`F.8.
`
`2l!l..
`LLER
`
`F.8.
`
`518
`
`51A
`
`88
`
`11E/10RY
`
`~8
`HAPPING
`TEXTURE
`
`---rd TEXTUREB!1Ef10RY lJBA
`
`HAPPING
`
`46A
`
`..--rh-J
`
`PROCESSOR 19
`HAIN HEHORY HOST
`
`15
`
`11
`
`\401 Af CELERA TOR 1--I -...,._(24
`
`GEOMETRY 1-
`
`34
`
`iQE.
`LLER
`ON TRO(cid:173)
`F.8.
`
`44
`i-
`
`32.D
`388 f CCELERA TOR
`GE0/1ETRY
`
`2-D
`
`3-D
`
`::o
`~
`~
`~
`~
`~
`C")
`
`36
`
`ACCELERA TOR
`GE0/1ETRY
`
`-
`3
`
`11
`
`B.D7C
`LLt.:u:nM
`A rrc::1 c::n A liQ'CJ
`GEOHETRY
`
`3-D
`
`ACCELERATOR
`
`GEOHETRY
`
`3-D
`
`32A 42A
`
`19A "-99
`
`30
`
`95
`
`Petitioner Apple Inc. - Exhibit 1005, p. 4
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`.i;;..
`
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`""""
`\C
`~~
`N
`!"l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`FACE
`INTER-
`SDRAM
`
`ACCESS
`CACHE
`TEXEL
`
`82
`
`94~ I
`
`PORT
`TEXEL
`
`92
`
`~4
`
`... I INTERPOLA TORS
`
`PARAMETER
`
`I
`
`I
`
`62
`
`I END
`FRONT
`
`3-D
`
`86
`
`INTERPOLA TORS
`TEXEL
`
`94, 76
`
`I -i
`
`I
`
`DIR
`CACHE
`
`I •I
`
`I
`
`I BO lr------ll 84
`
`1
`
`FIG 3
`
`T4
`
`T3
`
`T2
`
`Tl
`
`TO
`
`FB. INTERFACE FIFOS
`
`"74
`
`88
`
`90
`
`70
`
`CK
`BOUND
`AND
`TILER
`t
`
`\
`
`I
`72
`
`INTERFACE
`
`60
`
`18
`
`BUS
`
`PRIHITl~t:I PIPELINE
`
`BUS FROM 2-D CHIP
`
`Petitioner Apple Inc. - Exhibit 1005, p. 5
`
`

`

`U.S. Patent
`
`Mar. 23, 1999
`
`Sheet 5 of 25
`
`5,886,706
`
`TEXEL PARAMETER OUTPUT
`
`I
`~~
`i'.::: ~
`'-
`~ ~
`~ ~ td
`C5 ~ Y) Q::
`~~esg::
`a: 8
`l5
`
`es
`<: 8:
`9:~
`V) V)
`
`~ a:
`
`E5
`~[
`~~
`LCj V)
`
`PLANE EOUA T/ON
`INPUT
`
`~
`J
`
`'_/
`
`) -u_
`
`/
`
`Petitioner Apple Inc. - Exhibit 1005, p. 6
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`O'I
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = .....
`~ .....
`~
`•
`\JJ.
`d •
`
`I
`2o4D
`
`<:::> ~
`~ ~
`~ ~
`SDRA/1 D
`
`~ ~
`~ ~
`
`<::::> ~
`
`~ ~
`~ ~
`
`<::::> ~
`
`SDRA/1 B
`
`SDRA/1 A
`
`:
`
`:
`
`I
`
`r---------------., I
`________________________ ,
`204A
`
`r-----------
`INTERRUPT
`JD BYPASS ,-24
`
`84A : I c 200A
`
`2028 204C
`
`I
`
`I
`
`I
`I
`
`I
`I
`
`II
`I
`
`I
`
`: :
`: :
`: :
`
`I
`
`I
`
`r 200D
`
`{
`
`84D :
`
`I
`
`CONTROLLER B
`
`2008
`
`848:
`
`I CONTROLLER [
`200[
`
`I
`I
`
`84C I
`:
`
`I
`
`I I CONTROLLER A I
`
`I
`
`I
`: :2D2C <::::> ~
`,..._ ~
`~ ;;::::
`~ h
`: :
`CtJ ~
`SDRAM C )
`
`FIG 5
`
`4
`'8
`'{
`
`'
`
`I
`
`_,
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`-
`
`i. -
`
`' ACCESS 82
`
`TEXEL CACHE
`CONTROLLER D ,~ :
`
`TEXTURE INTERPOLAR AND CACHE CONTROLLERJ
`!.------------------------------------~
`; :
`: : 202D )
`
`I
`
`I
`
`92
`78·
`16
`
`(
`
`DIRECTORY
`AND CACHE
`INTERPOLA TOR
`TEXTURE
`
`22
`JD PIPE
`
`TEXEL PORT
`
`94
`
`Petitioner Apple Inc. - Exhibit 1005, p. 7
`
`

`

`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 7 0f 25
`Sheet 7 of 25
`
`5,886,706
`5,886,706
`
`cc
`
`:0
`
`Q u
`
`. P
`
`~ • '-.J • ""'( • "-' •
`
`~
`C) .......__ '"'( • "-' • '"'( • "-' •
`
`~Cl:)• C'.::l•QJ• C)•
`c:::::, -- "---- -
`-
`~· '-.J. ~. '-.J.
`
`etitioner Apple Inc. - Exhibit 1005, p. 8
`
`Petitioner Apple Inc. - Exhibit 1005, p. 8
`
`

`

`U.S. Patent
`
`Mar. 23, 1999
`
`Sheet 8 of 25
`
`5,886,706
`
`ADD-l-1-l~==:~ffi_.-r-~~
`DATA-+--(cid:173)
`DATA
`RAS----~
`CAS-,____(cid:173)
`WE CKE - - -1 - - - - i
`DOM ---1--.-
`Ll::::::::::::=~
`
`SD2
`
`SD1
`
`ADD -LJL~~~L-r---.
`DATA - - - - (cid:173)
`DATA
`RAS-----..
`CAS-..__(cid:173)
`WE CKE __ _
`DOM l 111t::!::=:::!lliJ
`
`SD3
`
`SD4
`
`ADD
`DATA
`
`DATA - -
`
`RAS
`CAS
`WE
`CKE
`DOM
`
`I
`I
`
`l_
`I'
`
`~
`
`SD6
`
`c:
`SD5 -
`- -
`rr=
`
`204A
`
`2048
`
`!"\
`04[
`2
`
`ADD
`DATA
`DATA -
`RAS
`CAS
`WE
`CKE
`DOM
`
`I
`I
`-
`
`._
`
`-
`I
`11
`
`SD7
`
`c::
`.___
`
`i_ . ,
`
`.---
`
`rr=
`
`""' 04D
`
`2
`
`SDB
`
`FIG 7
`
`Petitioner Apple Inc. - Exhibit 1005, p. 9
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`\C
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`FIG 8
`
`DATA
`MEMORY
`
`, I
`

`

`
`210A i I , I 4~ I
`
`: 11E/10RIES
`
`I
`
`I
`
`: TEXEL
`I I I
`I
`
`I
`48
`
`82
`UNIT
`ACCESS
`
`CACHE
`TEXEL
`
`84D
`
`\
`
`84[
`
`......__~ ............
`
`; ADD. fSS
`: CONTROL/
`848 84A 208A 2088 . 11E/10RY
`
`I
`
`DIRECTORY
`CACHE
`I
`c_94
`
`78
`
`-
`
`76
`
`POLA TOR
`INTER-
`TEXEL
`
`RESUL TS
`TEXEL
`
`218.,.---.
`
`28
`
`CHECKER
`BOUNDARY
`TILER/
`
`72
`
`I
`
`I
`
`PARAMETERS
`TEXEL
`
`70
`
`PORT
`TEXEL
`
`Petitioner Apple Inc. - Exhibit 1005, p. 10
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`'"""' c
`~ .....
`'Jl =-~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`INTERLEAVED ACCESS STREAMS FOR UPPER 8 LOWER MAPS PER CHANNEL
`ACCESSES
`
`9-D
`8-C
`9-8
`10-A
`CHANNEL
`
`ACCESSES
`REDUCED
`
`13
`
`12
`uD4
`
`1A3
`
`11
`
`10
`
`9
`
`uC4
`
`.. A j
`
`182
`
`uA4
`
`181
`
`1[2
`
`1A3
`
`1D2 PER
`
`7 8
`tat
`
`6
`
`4 5
`uD2
`
`SEQUENCE ORDER
`
`uC3
`
`1C1
`
`1 2 3
`1DO
`1CO
`180
`1AO
`
`1A1
`TEXEL STREAl1S FOR FIFO 1
`uD3
`
`1DO
`
`u81
`
`uD1
`uC1
`
`uA1
`
`1A2
`
`181
`
`uA2
`
`uC2
`
`0
`
`FIG 9 I
`
`uDO
`uCO
`u80
`uAO
`
`14-D
`14-C
`14-8
`14-A
`
`TEXEL STREAl1S FOR FIFO 0
`
`uDO 100 uD1 100 uD2 1DO uD2 1D1 uD3 1D1 uD3 101 uD4 1D2
`uCO
`uC1 1C1 uC2 1C1 uC3 1C2 uC4 1C2 uC4 1C2
`u80 180 u80 180 u81 180 u82 181
`u83 181 u83 181 u84 182
`uAO 1AO uA1 1A1 uA1 1A1 uA2 1A2 uA2 1A3 uA3 1A3 uA4 1A3
`
`1CO uC1 1C1
`
`LOWER HAP SAl1PLES
`
`C2 102
`~'i:AJ I 81 I 3&j 82
`
`Pu
`A~ [Bo I A1 rp2P4 )
`co
`
`PJ \I CJ~¥fJ 04 I TRU.JNEAR SAHPLE STREAHS {[5 ,,-P6
`
`A=? "P6
`
`P2 I D? \ AJ , D':J
`
`SAl1PLES
`UPPER HAP'
`
`84
`
`STRIDE ~
`
`DIRECTION
`
`~
`
`C2
`
`co
`
`P1
`
`PO
`
`Petitioner Apple Inc. - Exhibit 1005, p. 11
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`
`'"""' 0 .....,
`'"""'
`~ .....
`'Jl =-~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`--
`• • •
`
`_WRITE
`
`1A 1
`1A o
`
`TEXEL DATA A1
`
`)
`214A1
`
`• -
`•
`•
`•
`•
`WRITE •
`READ -
`
`-
`
`FIG 10
`
`UA1
`UAo
`
`READ -• • • -
`
`--
`•
`•
`•
`•
`•
`•
`•
`•
`•
`
`/ __ READ
`
`TEXEL DATA AO
`
`INTERP. COMMAND
`
`OLD 1
`OLD 0
`NEW 1
`NEWO
`NEW 1
`WRITE __ I NEW 0
`
`-
`
`•
`•
`•
`•
`•
`•
`•
`•
`•
`
`214AO
`
`(
`
`• • • • • • • • • -
`
`1
`0
`
`1
`0
`
`1A 1
`uA 1
`
`1A o
`UAo
`
`• •
`•
`• • •
`• •
`•
`
`-
`
`_READ
`206A
`
`WRITE_ 1 ADDRESS FIFO
`
`CACHE ACCESS A
`
`216)
`
`Petitioner Apple Inc. - Exhibit 1005, p. 12
`
`

`

`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 12 0f 25
`Sheet 12 of 25
`
`5,886,706
`5,886,706
`
`TE}? 1
`
`ADDRESS
`
`D:
`F:
`§Q
`
`Q:
`
`FIG11
`(!J -u..
`
`REG/5
`
`Petitioner Apple Inc. - Exhibit 1005, p. 13
`
`Petitioner Apple Inc. - Exhibit 1005, p. 13
`
`

`

`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 13 of 25
`Sheet 13 0f 25
`
`5,886,706
`5,886,706
`
`NPGE
`
`0\
`
`"--
`
`----J CJ\
`
`Petitioner Apple Inc. - Exhibit 1005, p. 14
`
`(!J -LL
`
`~ LI) ~
`
`~
`
`i--...
`
`Petitioner Apple Inc. - Exhibit 1005, p. 14
`
`

`

`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`M
`3,
`
`0
`Sheet 14 of 25
`
`5,886,706
`5,886,706
`
`C')
`..-
`('31-
`(!J -u..
`
`9 L
`
`I.
`
`5gm
`
`~
`°'
`
`<:::'.)
`
`~
`Q§
`
`~
`0\ ~
`~
`Q§
`
`Petitioner Apple Inc. - Exhibit 1005, p. 15
`
`
`
`
`
`s\l\\n\\.-\l\lw-\-.\\F\I\
`
`a\I\I\ml\l\l
`Ml\-\-
`\.‘In-I.Viruuxunwx\.\mmxa.‘
`
`
`m“u“:IxIII\.3fl“wI\I\Iam.\\-\.."“Inaus-
`
`m3%
`
`~
`co
`
`Lr]
`
`~ ~ Lr]
`CJ\
`
`Ella
`YEmu-w
`
`---J
`
`~
`°'
`~
`~
`
`~
`
`~
`
`~
`
`~
`~ a
`0\
`
`
`
`3%NEmom}“EB Tlig
`
`co
`
`”HIV
`
`Petitioner Apple Inc. - Exhibit 1005, p. 15
`
`
`
`
`

`

`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 15 of 25
`Sheet 15 0f 25
`
`5,886,706
`5,886,706
`
`3at
`-u..
`
`asks?
`QMEANNESQNkzv‘mNvbQE
`QkzxmvVVQQE\kzwmm.kubum
`
`in5?,
`Inif3"m5?
`
`c::::,
`
`~
`
`It
`
`1--(X)
`
`..
`tX)
`V)
`
`c::::,
`
`c::)
`
`"
`f-~
`..
`~
`V)
`
`c::::,
`~
`Q§
`N
`Cs
`CJ
`o:5
`
`~
`
`~
`
`~
`~
`6
`C)
`~
`
`~
`
`~
`
`It
`
`1--Q;)
`...
`Q;)
`V)
`
`~
`
`C::i'
`"
`f-~
`..
`~
`V)
`
`c::::,
`~
`~
`'.:i
`
`ts
`<:::>
`o5
`
`~
`
`~
`(\§
`"i
`es
`c::,
`~
`
`mnit
`
`Petitioner Apple Inc. - Exhibit 1005, p. 16
`
`Petitioner Apple Inc. - Exhibit 1005, p. 16
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`'"""' O'I
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`
`~ ......
`~
`•
`\JJ.
`d •
`
`FIG 15
`
`BLOCK 1, BANK 1
`
`ST13 ST12
`
`ST15 ST14
`
`ST11 ST10 ST9 STB
`
`ST5 ST4
`
`ST7 ST6
`
`STO
`
`ST1
`
`ST3 ST2
`
`BLOCK 2, BANK 0
`
`~
`
`ST12 ST13 ST14 ST15
`
`STB ST9 ST10 ST11
`
`ST4 ST5 ST6 ST7
`
`STD ST1 ST2 ST3
`
`Petitioner Apple Inc. - Exhibit 1005, p. 17
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`"'""
`-..J
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`"'""
`\C
`~~
`N
`!""l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`FIG 16
`
`lag[l]
`
`lag{l]
`118"s8
`f9"s9
`1110~10
`1111~11
`
`1117512
`113~13
`1114"'s14
`
`1 1 1 1 1 1 1 0 0 0 0 0 0 0
`1 1 1 1 1 1 0 0 0 0 0 0 0 0
`1 1 1 1 1 0 108 0 0 0 0 0 o lso8
`1 1 1 1 o I 109 108 0 0 0 0 0 }s09 s08
`1 1 1 o I 110 109 108 0 0 0 0 ls10 s09 sOB
`1 1 o I 111 110 109 108 0 0 0 js11 s10 s09 s08
`1 0 112 111 110 109 108 0 0 s12 s11 s10 s09 s08
`0 I 113 112 111 I 10 109 108 0 js13 s12 s11 s10 s09 s08
`114 113 112 111 110 109 108 s14 s13 s12 s11 s10 s09 s08
`
`1
`1
`1
`1
`1
`1
`
`1
`
`1
`
`0
`
`<8
`=8
`9
`10
`11
`12
`
`-
`
`13
`14
`
`15
`
`BANK
`
`T PARAMETER AXIS !1SBs S PARAMETER AXIS HSBs
`
`NUMBER BIT
`HAP HAP
`
`BLOCK TAG {2Z·O}=fTEXTURE ID {7:01 MAP BIT, T {14:8],S{14:8]J
`
`Petitioner Apple Inc. - Exhibit 1005, p. 18
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`"'"" 00
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`"'""
`\C
`~~
`N
`!""l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`FIG 17
`
`END
`
`278
`
`T{7:6]=5TID T !1.-0l
`5[7:6]=/STID 5{1:0]
`YES
`
`END
`
`T{1·6]=5TID T {1.·0]
`5[7:6]=STID 5[1.-0] 1280
`
`272 MAP11S 0-6: 5(7:6}=/STID 5{1} 1
`
`T[7]=5TID T{1]
`t1AP117: 5(7]=/STID 5{1]
`
`/
`270 YES
`
`T{7]=STID Tf 1]
`
`END
`:I
`
`276
`
`NO
`
`t1AP11S 0-6: 5[7:6)=STID 5[1}-0
`
`T[7]=5TID T[1]
`
`I
`
`END
`
`'
`
`i
`
`NO
`
`NO
`
`t1AP110-6: 5{7:6]=Q·1
`t1AP117: 5{7]=0
`
`Tf7}=5TID Tf 1]
`t1AP117: 5{7]=5TID 5[1]
`
`274
`
`HAPtt0-6: 5(1·6]=1.·1
`t1AP11l· 5[7]=1
`
`266
`
`t1AP#5 ~+1: 5[1]=1
`t1AP11S ~-3: 5(3]=1
`HAPttS $-5-5(5]=
`
`t1AP115 1+2· 5[2]·1
`t1AP115 1-4: 5£4]=1
`
`NO
`
`NO
`
`252
`
`INTERP 5[7:0], T[7:0]
`
`5[7:01 T[7:0]=
`
`2TARTtJ c250
`
`Petitioner Apple Inc. - Exhibit 1005, p. 19
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`'"""'
`\C
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`SET HRU=O'S
`
`FIG 18
`
`314
`
`SELECT ASSERTED BIT OF BLOCKS_ TO_USE '
`
`FOR REPLACEHENT
`
`YES
`
`COHPLEHENT BLOCKS_BUSY
`SET BLOCKS_ TO_USE=
`SET BLOCKS_BUSY=HRU OR CU I 316
`
`YES
`
`DEASSERT HRU OR CU BITS IN BLOCKS_ TO_USE
`
`306
`
`READ HRU & CU
`
`YES
`
`NO
`
`ASSERT BLOCKS_TO_USE
`
`~TART) 300
`
`Petitioner Apple Inc. - Exhibit 1005, p. 20
`
`

`

`U.S. Patent
`
`Mar. 23, 1999
`
`Sheet 20 of 25
`
`5,886,706
`
`31:9
`8
`UNUSED HALT
`
`7
`INTERRUPT
`ENABLED
`
`350
`
`31:7
`
`5
`UNUSED
`
`1
`UNUSED
`
`0
`LOKI
`
`0
`'NUSED
`
`31.·23
`UNUSED
`
`31.-24
`ALPHA
`
`372..../
`
`32:22
`UNUSED
`
`31:23
`UNUSED
`
`-
`
`PIPE_ TAG REGISTER
`22:0
`BLOCK TAG
`
`23:16
`RED
`
`TEXEL_DA TA REGISTER
`15·8
`GREEN
`374 ../
`376 ../
`TEXEL_ CACHE_ADD REGISTER
`15:0
`
`21.-16
`BLOCK INDEX
`380 ..I
`TEXEL DIR_ TAG REGISTER
`22·0
`
`370 ../
`
`z.n
`BLUE
`
`378 ../
`
`-
`
`-
`
`-
`
`BLOCK ADDRESS
`382 ../
`
`BLOCK TAG
`FIG 19
`
`384 _./
`
`Petitioner Apple Inc. - Exhibit 1005, p. 21
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`
`'"""' 0 .....,
`
`N
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`DEASSERT HALT
`
`Cf@
`
`418
`
`NO
`
`FIG 20
`
`414
`
`I WRITE TEXEL DATA I
`
`~!
`
`WRITE TEX~L_DIR_TAGL::~
`WRITE TEXELJACHE_ADD ') .
`
`DETERMINE LRU CACHE BLOCK
`
`421
`
`422
`'
`423
`
`WRITE TEXEL_CACHE_ADD
`
`WRITE TEXEL_DIR_ TAG
`
`WRITE TEXEL DA TA
`
`424
`
`RD LOKI 0, tHAL T
`WRITE TEXEL_ CMD
`
`400
`
`START
`
`Petitioner Apple Inc. - Exhibit 1005, p. 22
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`N
`N
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`HIT/INDEX
`LR TAG
`
`HIT/INDEX
`LL TAG
`
`HIT/INDEX
`UR TAG
`
`FIG 21
`
`510
`)
`
`COMPARATORS
`LR TAG
`~
`
`....-
`
`509"""'
`
`COHPARA TORS
`LL TAG
`
`.......
`
`COHPARA TORS
`UR TAG
`
`r508
`
`505
`[\
`
`--50;_ 504
`503--
`r
`
`5rfi
`
`DIRECTORY
`
`500
`
`MINI
`
`HIT/INDEX
`UL TAG
`
`I
`
`.--
`
`'
`
`COHPARA TORS
`UL TAG
`
`-
`
`
`-,
`--r
`
`
`
`LR TAG
`LL TAG
`UR TA
`UL TA
`
`50. 7
`
`Petitioner Apple Inc. - Exhibit 1005, p. 23
`
`

`

`U.S. Patent
`US. Patent
`
`Mar. 23, 1999
`Mar. 23, 1999
`
`Sheet 23 0f 25
`Sheet 23 of 25
`
`5,886,706
`5,886,706
`
`(
`
`(
`
`>-
`E
`Q::
`~e -;;::
`~td
`~Q::
`2E
`~
`Q
`
`‘C
`
`..--
`
`FIG22
`
`ts
`~
`~ h:
`:J:
`
`1H/T/INDEX
`
`N
`N
`
`C!J -LL
`
`t2
`2
`~
`~
`~ l:i
`
`64COMP/1RATORS
`
`'-2-
`'C
`
`READ TA6
`
`Petitioner Apple Inc. - Exhibit 1005, p. 24
`
`Petitioner Apple Inc. - Exhibit 1005, p. 24
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`.i;;..
`N
`~ .....
`'Jl =-~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`~ ......
`~
`•
`\JJ.
`d •
`
`COHPARA TOR1
`
`532
`
`ATCH
`
`- H
`
`TAG TAG
`LL LR
`
`TAG TAG
`UR LR
`
`TAG TAG
`UR LL
`
`TAG TAG
`UL LR
`
`TAG TAG
`UL
`LL
`
`TAG TAG
`UL
`UR
`
`FIG 23
`
`HATCH
`
`HATCH
`
`HATCH
`
`HATCH
`
`HATCH
`
`COMPARA TOR I I COMPARA TOR C0!1PARA TOR COHPARA TOR COHPARA TOR
`
`511)
`
`529
`
`528
`
`527
`
`526
`
`Petitioner Apple Inc. - Exhibit 1005, p. 25
`
`

`

`.....::. = 0--,
`
`....
`0--,
`00
`00
`....
`Ul
`
`Ul
`N
`0 .....,
`Ul
`N
`~ .....
`'Jl =(cid:173)~
`
`\C
`\C
`'"""'
`\C
`~~
`N
`!"'l
`~
`~
`
`~ = ......
`
`~ ......
`~
`•
`\JJ.
`d •
`
`G 24
`
`D
`
`[
`
`B
`
`A
`
`11/NI ENTRY
`571
`4 INDEX 504I~ ~
`111NI ENTRY
`~ D -
`~
`3 INDEX 5031-)(
`~ [
`~
`rt;
`~
`r--
`::::-t
`~
`
`~ 111NI ENTRY _ s 8 -
`1 INDEX 501I'-sa A -
`
`_ 111NI ENTRY
`
`-
`
`--i JJ Heb·
`--1 I Rtb I--
`SHIFTER
`BARREL 567 B Rtb I-
`566 A REG't-
`565
`
`.sQ1
`
`\...568
`
`-5 INDEX 5051 -
`
`I -
`
`.__ 111NI ENTRY
`
`2 INDEX5021
`
`'/'1J ~RA-
`
`522
`520.J
`TORS
`CQA~D
`
`J
`561
`
`BLOCK INDEX
`
`-DIRECTORY __ DIRECTORY
`
`HAIN
`
`HAIN
`
`562,-' l
`
`PRIOR 11155
`
`'
`
`541 )
`
`....----TAG COl1P ~
`
`642 ......
`
`..._ __ 111NI ENTRY _
`
`551
`552-~ LR REG
`LL REG
`,._
`~ UR REG
`,__UL RE6
`-CNrL --~ n!R rNTI~
`559,
`& L
`'-5 TAG 505T i-i/~l
`I r555
`
`553
`
`ORCUIT1 c;., r..
`
`57~
`
`11/NI ENTRY
`
`532
`4 == 'fi&~
`.._
`4 -
`5 COl1P
`.._
`__ 11/NI ENTRY _
`'
`.._ --4 COl1P
`54b-....
`'
`4),
`"---3 COl1P
`
`-
`
`11/NI ENTRY
`
`,..,
`~ 1TAG501T
`71/NI tNfRY
`
`-4 TAG 504T
`-3 TA6503T
`
`11/NI ENTRY
`
`-
`
`11/NI EN/Hr
`
`-
`
`2 TA6502T
`NINI tN I Hr
`
`l
`
`I
`
`111NI ENTRY
`
`r:i'44-......
`,;.. 2 COl1P
`
`'
`
`11/NI ENTRY
`
`I
`
`~I-::.
`
`-
`
`1 COl1P
`'
`
`'t. r.,
`~ ei
`
`~ r--:
`~
`=ti
`r-
`
`~ r--:
`~
`r'(cid:173) r-
`
`~
`
`Petitioner Apple Inc. - Exhibit 1005, p. 26
`
`

`

`5,886,706
`
`1
`SYSTEM FOR MANAGING TEXTURE
`MAPPING DATA IN A COMPUTER
`GRAPHICS SYSTEM
`
`CROSS-REFERENCE TO RELATED
`APPLICATION(S)
`
`This is a continuation of application Ser. No. 08/469,051
`filed on Jun. 6, 1995, now abandoned.
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to a texture map(cid:173)
`ping computer graphics system and, more particularly, to a
`cache memory system for storing texture mapping data.
`
`BACKGROUND OF THE INVENTION
`
`Computer graphics systems commonly are used for dis(cid:173)
`playing graphical representations of objects on a two dimen(cid:173)
`sional display screen. Current computer graphics systems
`can provide highly detailed representations and are used in
`a variety of applications.
`In typical computer graphics systems, an object to be
`represented on the display screen is broken down into a
`plurality of graphics primitives. Primitives are basic com(cid:173)
`ponents of a graphics picture and may include points, lines, 25
`vectors and polygons, such as triangles. Typically, a
`hardware/software scheme is implemented to render, or
`draw, on the two-dimensional display screen, the graphics
`primitives that represent the view of one or more objects
`being represented on the screen.
`Typically, the primitives that define the three-dimensional
`object to be rendered are provided from a host computer,
`which defines each primitive in terms of primitive data. For
`example, when the primitive is a triangle, the host computer
`may define the primitive in terms of the x,y,z coordinates of
`its vertices, as well as the R,G,B color values of each vertex.
`Rendering hardware interpolates the primitive data to com(cid:173)
`pute the display screen pixels that are turned on to represent
`each primitive, and the R,G,B values for each pixel.
`Early graphics systems failed to display images in a
`sufficiently realistic manner to represent or model complex
`three-dimensional objects. The images displayed by such
`systems exhibited extremely smooth surfaces absent
`textures, bumps, scratches, shadows and other surface 45
`details present in the object being modeled.
`As a result, methods were developed to display images
`with improved surface detail. Texture mapping is one such
`method that involves mapping a source image, referred to as
`a texture, onto a surface of a three-dimensional object, and 50
`thereafter mapping the textured three-dimensional object to
`the two-dimensional graphics display screen to display the
`resulting image. Surface detail attributes commonly texture
`mapped include color, specular reflection, vector
`perturbation, specularity, transparency, shadows, surface
`irregularities and grading.
`Texture mapping involves applying one or more point
`elements ( texels) of a texture to each point element (pixel)
`of the displayed portion of the object to which the texture is
`being mapped. Texture mapping hardware is conventionally
`provided with information indicating the manner in which
`the texels in a texture map correspond to the pixels on the
`display screen that represent the object. Each texel in a
`texture map is defined by S and T coordinates which identify
`its location in the two-dimensional texture map. For each 65
`pixel, the corresponding texel or texels that map to it are
`accessed from the texture map, and incorporated into the
`
`30
`
`2
`final R,G,B values generated for the pixel to represent the
`textured object on the display screen.
`It should be understood that each pixel in an object
`primitive may not map in one-to-one correspondence with a
`5 single texel in the texture map for every view of the object.
`For example, the closer the object is to the view port
`represented on the display screen, the larger the object will
`appear. As the object appears larger on the display screen,
`the representation of the texture becomes more detailed.
`10 Thus, when the object consumes a fairly large portion of the
`display screen, a large number of pixels is used to represent
`the object on the display screen, and each pixel that repre(cid:173)
`sents the object may map in one-to-one correspondence with
`a single texel in the texture map, or a single texel may map
`15 to multiple pixels. However, when the object takes up a
`relatively small portion of the display screen, a much smaller
`number of pixels is used to represent the object, resulting in
`the texture being represented with less detail, so that each
`pixel may map to multiple texels. Each pixel may also map
`20 to multiple texels when a texture is mapped to a small
`portion of an object. Resultant texel data is calculated for
`each pixel that maps to more than one texel, and typically
`represents an average of the texels that map to that pixel.
`Texture mapping hardware systems typically include a
`local memory that stores data representing a texture asso(cid:173)
`ciated with the object being rendered. As discussed above, a
`pixel may map to multiple texels. If it were necessary for the
`texture mapping hardware to read a large number of texels
`that map to a pixel from the local memory to generate an
`average value, then a large number of memory reads and the
`averaging of many texel values would be required, which
`would be time consuming and would degrade system per(cid:173)
`formance.
`To overcome this problem, a scheme has been developed
`that involves the creation of a series of MIP (multum in
`parvo-many things in a small place) maps for each texture,
`and storing the MIP maps of the texture associated with the
`object being rendered in the local memory of the texture
`40 mapping hardware. A MIP map for a texture includes a base
`map that corresponds directly to the texture map, as well as
`a series of filtered maps, wherein each successive map is
`reduced in size by a factor of two in each of the two texture
`map dimensions. An illustrative example of a set of MIP
`maps is shown in FIG. 1. The MIP (multum in parvo-many
`things in a small place) maps include a base map 100 that is
`eight-by-eight texels in size, as well as a series of maps 102,
`104 and 108 that are respectively four-by-four texels, two(cid:173)
`by-two texels, and one texel in size.
`The four-by-four map 102 is generated by box filtering
`(decimating) the base map 100, such that each texel in the
`map 102 corresponds to an average of four texels in the base
`map 100. For example, the texel 110 in map 102 equals the
`average of the texels 112-115 in map 100, and texels 118 and
`55 120 in map 102 respectively equal the averages of texels
`121-124and125-128 in map 100. The two-by-two map 104
`is similarly generated by box filtering map 102, such that
`texel 130 in map 104 equals the average of texels 110 and
`118-120 in map 102. The single texel in map 108 is
`60 generated by averaging the four texels in map 104.
`Conventional graphics systems generally download, from
`the main memory of the host computer to the local memory
`of the texture mapping hardware, the complete series of MIP
`maps for any texture that is to be used with the primitives to
`be rendered on the display screen. Thus, the texture mapping
`hardware can access texture data from any of the series of
`MIP maps. The determination of which map to access to
`
`35
`
`Petitioner Apple Inc. - Exhibit 1005, p. 27
`
`

`

`5,886,706
`
`3
`provide the texel data for any particular pixel is based upon
`the number of texels to which the pixel maps. For example,
`if the pixel maps in one-to-one correspondence with a single
`texel in the texture map, then the base map 100 is accessed.
`However, if the pixel maps to four, sixteen or sixty-four 5
`texels, then the maps 102, 104 and 108 are respectively
`accessed because those maps respectively store texel data
`representing an average of four, sixteen and sixty-four texels
`in the texture map.
`A pixel may not map directly to any one texel in the
`selected map, and may fall between two or more texels.
`Some graphics systems employ bi-linear interpolation to
`accurately produce texel data when this occurs. If a pixel
`maps into a MIP map between two or more texel entries,
`then the resulting texel data used is a weighted average of
`the closest texel entries. Thus, the texel data corresponding
`to any pixel can be the weighted average of as many as four
`texel entries in a single map. For example, if a pixel maps
`to a location in map 102 indicated at 132, the resulting texel
`data mapping to that pixel would be the weighted average of
`the texels 110 and 118-120.
`Pixels may also not map directly into any one of the maps
`in the series of MIP maps, and may fall between two maps.
`For example, a pixel may map to a number of texels in the
`texture map that is greater than one but less than four. Some
`graphics systems address this situation by interpolating
`between the two closest MIP maps to achieve the resultant
`texel data. For the example above wherein a pixel maps to
`greater than one but less than four texels in the texture map,
`the texel data provided by maps 100 and 102 would be 30
`interpolated to achieve the resultant texel data for the pixel.
`When combined with the above-described interpolation of
`multiple texel entries in a single map, this scheme is known
`as tri-linear interpolation, and can lead to resultant texel data
`for any one pixel being generated as a weighted average of 35
`as many as eight texels, i.e., the four closest texels in each
`of the two closest maps.
`As discussed above, conventional texture mapping sys(cid:173)
`tems download the entire series of MIP maps for any texture
`associated with primitives to be rendered by the system,
`even if some of the MIP maps will not be accessed. The
`downloading of MIP maps that will not be accessed, as well
`as portions of accessed maps that are not used, is a waste of
`the system's resources and reduces its bandwidth.
`Furthermore, some texture mapping systems are pipelined
`so that various operations are performed simultaneously on
`different object primitives. However, a series of MIP maps
`for a texture can be large. Most systems employ a local
`memory that is capable of storing only one such large series
`of MIP maps at a time. Thus, when there is a switch in the
`texture used in rendering primitives, the system must down(cid:173)
`load a new series of MIP maps. Typically, the data path used
`to load the new texture data into the local memory in the
`texture mapping hardware passes through the system's
`primitive rendering pipeline. Therefore, when a new texture
`is to be mapped, the primitive rendering pipeline must be
`allowed to empty out before the new series of MIP maps can
`be downloaded. Once the series of MIP maps is downloaded,
`the pipeline must again be filled. The necessity of flushing 60
`the primitive rendering pipeline each time a new texture is
`required reduces the system's bandwidth.
`
`SUMMARY OF THE INVENTION
`
`In one illustrative embodiment of the invention, a method
`is provided for managing texture mapping data in a com(cid:173)
`puter graphics system, the computer graphics system includ-
`
`4
`ing a host computer, primitive rendering hardware and a
`primitive data path extending between the host computer
`and the primitive rendering hardware, the host computer
`passing primitives to be rendered by the system to the
`primitive rendering hardware over the primitive data path,
`the host computer having a main memory that stores texture
`mapping data corresponding to the primitives to be
`rendered, the primitive rendering hardware including a local
`texture memory that locally stores the texture mapping data
`10 corresponding to at least one of the primitives to be ren(cid:173)
`dered. In accordance with the illustrative embodiment, the
`method comprises the steps of: (a) when a primitive passed
`to the primitive rendering hardware is to be rendered,
`determining wh

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket