@@ -72,7 +72,7 @@ bool RenderPass::AddCommand(Command&& command) {
7272 }
7373 }
7474
75- if (command.vertex_count == 0u || command.instance_count == 0u ) {
75+ if (command.element_count == 0u || command.instance_count == 0u ) {
7676 // Essentially a no-op. Don't record the command but this is not necessary
7777 // an error either.
7878 return true ;
@@ -117,40 +117,40 @@ void RenderPass::SetScissor(IRect scissor) {
117117 pending_.scissor = scissor;
118118}
119119
120+ void RenderPass::SetElementCount (size_t count) {
121+ pending_.element_count = count;
122+ }
123+
120124void RenderPass::SetInstanceCount (size_t count) {
121125 pending_.instance_count = count;
122126}
123127
124128bool RenderPass::SetVertexBuffer (VertexBuffer buffer) {
125- if (!SetVertexBuffer (&buffer.vertex_buffer , 1u , buffer. vertex_count )) {
129+ if (!SetVertexBuffer (&buffer.vertex_buffer , 1u )) {
126130 return false ;
127131 }
128132 if (!SetIndexBuffer (buffer.index_buffer , buffer.index_type )) {
129133 return false ;
130134 }
135+ SetElementCount (buffer.vertex_count );
131136
132137 return true ;
133138}
134139
135- bool RenderPass::SetVertexBuffer (BufferView vertex_buffer,
136- size_t vertex_count) {
137- return SetVertexBuffer (&vertex_buffer, 1 , vertex_count);
140+ bool RenderPass::SetVertexBuffer (BufferView vertex_buffer) {
141+ return SetVertexBuffer (&vertex_buffer, 1 );
138142}
139143
140- bool RenderPass::SetVertexBuffer (std::vector<BufferView> vertex_buffers,
141- size_t vertex_count) {
142- return SetVertexBuffer (vertex_buffers.data (), vertex_buffers.size (),
143- vertex_count);
144+ bool RenderPass::SetVertexBuffer (std::vector<BufferView> vertex_buffers) {
145+ return SetVertexBuffer (vertex_buffers.data (), vertex_buffers.size ());
144146}
145147
146148bool RenderPass::SetVertexBuffer (BufferView vertex_buffers[],
147- size_t vertex_buffer_count,
148- size_t vertex_count) {
149+ size_t vertex_buffer_count) {
149150 if (!ValidateVertexBuffers (vertex_buffers, vertex_buffer_count)) {
150151 return false ;
151152 }
152153
153- pending_.vertex_count = vertex_count;
154154 pending_.vertex_buffer_count = vertex_buffer_count;
155155 for (size_t i = 0 ; i < vertex_buffer_count; i++) {
156156 pending_.vertex_buffers [i] = std::move (vertex_buffers[i]);
0 commit comments