D3D11: Use dirty bits for applyVertexBuffers.
If the vertex array has any dirty or dynamic attribs, we must do an
update. Similarly, if a prior state change has left the vertex
state invalidated, we do an update. For instance, a program change
means we need a new input layout. If there was no such invalidation
or dirtyness we can skip the call to InputLayoutCache.
This improves the performance of the draw call benchmark (with no
state changes) by about 50% on the D3D11 null driver. Increases the
frames per second count of the aquarium demo with the passthrough
command buffer by about 25% on a test machine.
BUG=angleproject:1156
Change-Id: I8381999029f5b1912030a3342e96285a58f95e82
Reviewed-on: https://chromium-review.googlesource.com/616784
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by:
Geoff Lang <geofflang@chromium.org>
Showing
Please
register
or
sign in
to comment