Go to the source code of this file.
Data Structures | |
struct | brw_gs_prog_key |
struct | brw_gs_compile |
Defines | |
#define | MAX_GS_VERTS (4) |
#define | ATTR_SIZE (4*4) |
Functions | |
void | brw_gs_quads (struct brw_gs_compile *c) |
void | brw_gs_quad_strip (struct brw_gs_compile *c) |
void | brw_gs_tris (struct brw_gs_compile *c) |
void | brw_gs_lines (struct brw_gs_compile *c) |
void | brw_gs_points (struct brw_gs_compile *c) |
void brw_gs_lines | ( | struct brw_gs_compile * | c | ) |
Definition at line 129 of file brw_gs_emit.c.
References _3DPRIM_LINESTRIP, brw_gs_alloc_regs(), brw_gs_emit_vue(), R02_PRIM_END, R02_PRIM_START, brw_gs_compile::reg, and brw_gs_compile::vertex.
00130 { 00131 brw_gs_alloc_regs(c, 2); 00132 brw_gs_emit_vue(c, c->reg.vertex[0], 0, ((_3DPRIM_LINESTRIP << 2) | R02_PRIM_START)); 00133 brw_gs_emit_vue(c, c->reg.vertex[1], 1, ((_3DPRIM_LINESTRIP << 2) | R02_PRIM_END)); 00134 }
void brw_gs_points | ( | struct brw_gs_compile * | c | ) |
Definition at line 136 of file brw_gs_emit.c.
References _3DPRIM_POINTLIST, brw_gs_alloc_regs(), brw_gs_emit_vue(), R02_PRIM_END, R02_PRIM_START, brw_gs_compile::reg, and brw_gs_compile::vertex.
00137 { 00138 brw_gs_alloc_regs(c, 1); 00139 brw_gs_emit_vue(c, c->reg.vertex[0], 1, ((_3DPRIM_POINTLIST << 2) | R02_PRIM_START | R02_PRIM_END)); 00140 }
void brw_gs_quad_strip | ( | struct brw_gs_compile * | c | ) |
Definition at line 111 of file brw_gs_emit.c.
References _3DPRIM_POLYGON, brw_gs_alloc_regs(), brw_gs_emit_vue(), R02_PRIM_END, R02_PRIM_START, brw_gs_compile::reg, and brw_gs_compile::vertex.
00112 { 00113 brw_gs_alloc_regs(c, 4); 00114 00115 brw_gs_emit_vue(c, c->reg.vertex[2], 0, ((_3DPRIM_POLYGON << 2) | R02_PRIM_START)); 00116 brw_gs_emit_vue(c, c->reg.vertex[3], 0, (_3DPRIM_POLYGON << 2)); 00117 brw_gs_emit_vue(c, c->reg.vertex[0], 0, (_3DPRIM_POLYGON << 2)); 00118 brw_gs_emit_vue(c, c->reg.vertex[1], 1, ((_3DPRIM_POLYGON << 2) | R02_PRIM_END)); 00119 }
void brw_gs_quads | ( | struct brw_gs_compile * | c | ) |
Definition at line 98 of file brw_gs_emit.c.
References _3DPRIM_POLYGON, brw_gs_alloc_regs(), brw_gs_emit_vue(), R02_PRIM_END, R02_PRIM_START, brw_gs_compile::reg, and brw_gs_compile::vertex.
00099 { 00100 brw_gs_alloc_regs(c, 4); 00101 00102 /* Use polygons for correct edgeflag behaviour. Note that vertex 3 00103 * is the PV for quads, but vertex 0 for polygons: 00104 */ 00105 brw_gs_emit_vue(c, c->reg.vertex[3], 0, ((_3DPRIM_POLYGON << 2) | R02_PRIM_START)); 00106 brw_gs_emit_vue(c, c->reg.vertex[0], 0, (_3DPRIM_POLYGON << 2)); 00107 brw_gs_emit_vue(c, c->reg.vertex[1], 0, (_3DPRIM_POLYGON << 2)); 00108 brw_gs_emit_vue(c, c->reg.vertex[2], 1, ((_3DPRIM_POLYGON << 2) | R02_PRIM_END)); 00109 }
void brw_gs_tris | ( | struct brw_gs_compile * | c | ) |
Definition at line 121 of file brw_gs_emit.c.
References _3DPRIM_TRILIST, brw_gs_alloc_regs(), brw_gs_emit_vue(), R02_PRIM_END, R02_PRIM_START, brw_gs_compile::reg, and brw_gs_compile::vertex.
00122 { 00123 brw_gs_alloc_regs(c, 3); 00124 brw_gs_emit_vue(c, c->reg.vertex[0], 0, ((_3DPRIM_TRILIST << 2) | R02_PRIM_START)); 00125 brw_gs_emit_vue(c, c->reg.vertex[1], 0, (_3DPRIM_TRILIST << 2)); 00126 brw_gs_emit_vue(c, c->reg.vertex[2], 1, ((_3DPRIM_TRILIST << 2) | R02_PRIM_END)); 00127 }