tree 5b20cba07b9623c67f6e68b4fbf7c9ac3ff71b25
parent 27aaaf50c1ad1922561a8785c3a99e19903951fb
author Bill Hollings <bill.hollings@brenwill.com> 1653249026 -0400
committer Bill Hollings <bill.hollings@brenwill.com> 1653249026 -0400

Fix vertex buffer binding counts when establishing implicit buffers binding indexes.

This patch fixes a regression caused by 1b6b8bc9 when the implicit buffers
were moved to top of Metal buffer index range.

Fix vertex buffer binding counts when binding indexes are not consecutive,
or when additional synthetic buffer bindings are required to accommodate
vertex attributes that are outside the vertex buffer stride values.
Take into consideration that the app may bind more vertex attribute buffers
than a pipeline may consume, and don't allow these to overwrite any implicit
buffers sent to the shader.

MVKResourcesCommandEncoderState::encodeBinding() clear binding dirty flag
before calling lambda function to allow function operation to possibly
override and leave binding marked dirty.

Set tessellation vertex buffer indexes based on platform maximum vertex stage
buffer count, instead of hardcoding them, to preemptively avoid conflict with
implicit buffers should the platform counts ever change.
