You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The text was updated successfully, but these errors were encountered:
zakarumych
changed the title
"gfx/examples/hal/quad" doesn't work on macbook with Iris Graphics
"gfx/examples/hal/quad" doesn't work on macbook with Iris Graphics with metal
Oct 16, 2017
1576: [metal] New binding model and SPIRV support r=msiglreith a=kvark
This PR grew out of scope (basic SPIRV-support), but that was necessary.
Major changes:
- Argument buffer support is turned into a run-time feature flag, disabled until SPIRV gets support for it (KhronosGroup/SPIRV-Cross#293)
- Proper resource binding/state inheritance for command buffers
- SPIRV-cross integration
Also fixes#1581
## New binding model
Assignment from (descriptor_set, binding) to MSL buffer/texture/sampler index is figured out for the pipeline layout and stored inside it as a hashmap.
A shader is not really compiled at `create_shader_module`, but rather - at PSO creation time, since this is where we know about the pipeline layout. The resource binding overrides of that layout are fed directly into SPIRV-cross compile options.
A command buffer caches all bound resources at the MSL level (not descriptor set level, like it previously did). Binding descriptor sets would update the caches and potentially set the active encoder values. Both argument and regular vertex buffers just participate without extra semantics at this stage, simplifying the command buffer handling and solving the question of how to map those to not conflict.
Full output of command
cargo run --features metal
Ask me if additional info needed.
The text was updated successfully, but these errors were encountered: