Intel® 815 Chipset: Graphics Controller PRM, Rev 1.0

R

13.Rendering Engine Instructions

This chapter describes the 3D instructions and motion compensation instruction that controls the Graphics controller (GC) rendering engine. The GC Rendering Engine shall receive all software driver instructions through the instruction interface (ring buffers).

13.1.GFXPRIMITIVE

This instruction performs most of the rendering operations performed by the GC. Triangle and Triangle lists are rendered using this instruction. Triangle strips and fans reduce the number of vertices which must be delivered to the hardware for adjacent triangles and are also supported by this instruction. Lines and Line Lists continue to be supported. The GC also supports the rendering of axis aligned rectangles. The vertices of these primitives are may be of variable length. For example, one call to GFXPRIMITIVE may include only the X, Y values at the vertices, while another call may specify all 44 bytes of attribute information at each vertex. The following sections consider these primitives in detail.

Figure 30. Rectangle Vertices

V2

 

V1

V0

The GC shall support both D3D* and OGL notations. The selection can be done in the

GFXRENDERSTATE_RASTER_RULE state variable.

13.1.1.Axis Aligned Rectangles

Axis aligned rectangles are described by three vertices as shown in the adjacent figure. The vertices should always describe a right triangle where the base of the triangle is parallel to the x-axis and the vertical leg of the triangle is parallel to the y-axis.

13.1.2.Primitive Winding Order

The winding order of the vertices is considered if Primitive Culling is enabled. In the example above the winding order is clock-wise. In triangle strip, the winding order toggles on every triangle (e.g., CW, CCW, CW, CCW and so on). Therefore, hardware toggles the culling orientation on every triangle to match up with the strip sequence. If the primitive type is triangle strip, culling orientation is toggled on the 2nd, 4th, 6th triangle and so on. If the primitive type is triangle strip with reverse winding order, culling orientation is toggled on the 1st, 3rd, 5th triangles and so on.

205

Page 205
Image 205
Intel 815 manual Rendering Engine Instructions, Gfxprimitive, Axis Aligned Rectangles, Primitive Winding Order