Lines Matching refs:DRAW
29 * The DRAW_CONTEXT contains all state associated with a draw operation.
148 DRAW,
174 uint32_t numIndices; // DrawIndexed: Number of indices for draw.
175 uint32_t numVerts; // Draw: Number of verts (triangles, lines, etc)
180 uint32_t startVertex; // Draw: Starting vertex in VB to render from.
185 uint32_t startPrimID; // starting primitiveID for this draw batch
186 uint32_t startVertexID; // starting VertexID for this draw batch (only needed for non-indexed draws)
198 DRAW_WORK draw;
357 // Draw State
362 void* pPrivateState; // Its required the driver sets this up for each draw.
364 // pipeline function pointers, filled in by API thread when setting up the draw
383 ///@todo Currently assumes only a single FE can do stream output for a draw.
391 // Draw Context
392 // The api thread sets up a draw context that exists for the life of the draw.
393 // This draw context maintains all of the state needed for the draw operation.
411 bool cleanupState; // True if this is the last draw using an entry in the state ring.
415 volatile OSALIGNLINE(bool) doneFE; // Is FE work done for this draw?
444 // Draw Context Ring
445 // Each draw needs its own state in order to support mulitple draws in flight across multiple threads.
446 // We maintain N draw contexts configured as a ring. The size of the ring limits the maximum number
450 // 1. State - When an application first sets state we'll request a new draw context to use.
451 // a. If there are no available draw contexts then we'll have to wait until one becomes free.
454 // 2. Draw - Creates submits a work item that is associated with current draw context.
457 // 3. State - When an applications sets state after draw
459 // b. State is copied from prev draw context to current.
462 DRAW_CONTEXT *pCurDrawContext; // This points to DC entry in ring for an unsubmitted draw.
468 // Draw State Ring
469 // When draw are very large (lots of primitives) then the API thread will break these up.
471 // in the Draw Context (DC) we instead store it in a Draw State (DS). This allows multiple DCs