Intel® 815 Chipset: Graphics Controller PRM, Rev 1.0

R

13.27.GFXRENDERSTATE_PROVOKING_VTX_PIXELIZATION _RULE

The provoking vertex state variables provide the flexibility of selecting the flat-shaded vertex for the first triangle/line of a primitive packet. The subsequent flat-shaded vertices are in incrementing order, except in the case of triangle fans with common flat shaded vertex. Separate State variables are provided for triangles and lines. The following tables show the sequence of flat-shaded vertices for triangles and lines.

Primitive Type

Triangle Strip/List

Triangle Fan

Line Strip/List

Flat Shaded

 

Flat Shading SV

Flat Shading SV

Flat Shading SV

Vertex Sequence

 

 

 

 

 

Triangle/Rectangle List

00

XX

XX

0, 3, 6, 9, 12 ....

 

 

 

 

 

 

01

XX

XX

1, 4, 7, 10, 13 ...

 

 

 

 

 

 

10

XX

XX

2, 5, 8, 11, 14 ...

 

 

 

 

 

Triangle Strip/Triangle

00

XX

XX

0, 1, 2, 3, 4

Strip Reverse Winding

 

 

 

 

order

 

 

 

 

 

 

 

 

 

 

01

XX

XX

1, 2, 3, 4, 5

 

 

 

 

 

 

10

XX

XX

2, 3, 4, 5, 6

 

 

 

 

 

Triangle Fan

XX

00

XX

0, 0,0,0,0,0

 

 

 

 

 

XX

01

XX

1, 2, 3, 4, 5

 

 

 

 

 

XX

10

XX

2, 3, 4, 5, 6

 

 

 

 

 

Polygon(Triangle Fan

XX

XX

XX

0,0,0,0,0,0 ....

With Common Flat

 

 

 

 

Shaded Vertex)

 

 

 

 

 

 

 

 

 

Line List

XX

XX

X0

0, 2, 4, 6, 8 ....

 

 

 

 

 

 

XX

XX

X1

1, 3, 5, 7, 9 ...

 

 

 

 

 

Line Strip

XX

XX

X0

0, 1, 2, 3, 4

 

 

 

 

 

 

XX

XX

X1

1, 2, 3, 4, 5

 

 

 

 

 

The Pixelization Rule state-variable sets up the hardware to follow correct pixelization rules. It should be set in Render Mode (i.e., for GFXPrimitive packet). The Small Triangle Filter Enable, enables filtering of small triangles. (Small Triangles are defined as triangles which do not light any pixels). It should be set only in Render Mode when Pixelization Rule is enabled, and the Horizontal & Vertical Bias Values are equal and are programmed to either 1000 or 0000. If other bias values are used then the results may be unpredictable. (The Horizontal & Vertical Bias values are programmed in the GFXRENDERSTATE_DEST_BUFFER_VARIABLES packet). The following table summarizes acceptable values of these SVs:

Packet

Horizontal Bias

Vertical Bias

Pixelization Rule

Small Triangle Filter

 

 

 

 

 

GFXPRIMITIVE

0000

0000

1

1

 

 

 

 

 

GFXPRIMITIVE

1000

1000

1

1

 

 

 

 

 

GFXPRIMITIVE

XXXX

XXXX

1

0

 

 

 

 

 

GFXPRIMITIVE

XXXX

XXXX

0

0

 

 

 

 

 

GFXBLOCK

XXXX

XXXX

0

0

 

 

 

 

 

249

Page 249
Image 249
Intel 815 manual Gfxrenderstateprovokingvtxpixelization Rule, Vertex Sequence