| 97 | } |
| 98 | |
| 99 | ALResult Tr2DrawUPHelper::DrawPrimitiveUP( |
| 100 | Tr2RenderContextEnum::Topology topology, |
| 101 | uint32_t primitiveCount, |
| 102 | const void* vertexStreamZeroData, |
| 103 | uint32_t vertexStreamZeroStride, |
| 104 | Tr2RenderContextAL& renderContext, |
| 105 | Tr2PrimaryRenderContextAL& device ) |
| 106 | { |
| 107 | if( primitiveCount == 0 ) |
| 108 | { |
| 109 | return S_OK; |
| 110 | } |
| 111 | |
| 112 | CR_RETURN_HR( FillUPVertexBuffer( ComputeVertexCount( topology, primitiveCount ), |
| 113 | vertexStreamZeroData, |
| 114 | vertexStreamZeroStride, |
| 115 | m_vertexUP[m_nextRingVB], |
| 116 | renderContext, |
| 117 | device ) ); |
| 118 | |
| 119 | CR_RETURN_HR( renderContext.SetStreamSource( |
| 120 | 0, |
| 121 | m_vertexUP[m_nextRingVB], |
| 122 | 0, |
| 123 | vertexStreamZeroStride ) ); |
| 124 | |
| 125 | m_nextRingVB = ( m_nextRingVB + 1 ) % DRAW_UP_RING_SIZE; |
| 126 | |
| 127 | return renderContext.DrawPrimitive( 0, primitiveCount ); |
| 128 | } |
| 129 | |
| 130 | ALResult Tr2DrawUPHelper::FillUPIndexBuffer( |
| 131 | uint32_t indexCount, |
no test coverage detected