Simplify the ash runner. #418
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The ash runner is over-engineered: it supports multiple pipelines, each one with a separate vertex/fragment shader pair, but it only ever uses one pipeline. The other runners don't support multiple pipelines, so this just seems like unnecessary complexity. This is bad because the examples are currently some of the best rust-gpu documentation there is.
More specifically:
rebuild_pipelines
is now justrebuild_pipeline
, andbuild_pipelines
is no longer needed.compile_shaders
returns a pair instead of aVec
: one element for the vertex shader data, and one for the fragment shader data.Vec
andHashMap
elements, it can just store a single pipeline, a single vertex shader module, and a single fragment shader module.SpvFile
,VertexShaderEntryPoint
,FragmentShaderEntryPoint
.collect
ing in general.