| 756 | } |
| 757 | |
| 758 | void VltContext::setInputLayout( |
| 759 | uint32_t attributeCount, |
| 760 | const VltVertexAttribute* attributes, |
| 761 | uint32_t bindingCount, |
| 762 | const VltVertexBinding* bindings) |
| 763 | { |
| 764 | m_flags.set( |
| 765 | VltContextFlag::GpDirtyPipelineState, |
| 766 | VltContextFlag::GpDirtyVertexBuffers); |
| 767 | |
| 768 | for (uint32_t i = 0; i < attributeCount; i++) |
| 769 | { |
| 770 | m_state.gp.state.ilAttributes[i] = VltIlAttribute( |
| 771 | attributes[i].location, attributes[i].binding, |
| 772 | attributes[i].format, attributes[i].offset); |
| 773 | } |
| 774 | |
| 775 | for (uint32_t i = attributeCount; i < m_state.gp.state.il.attributeCount(); i++) |
| 776 | m_state.gp.state.ilAttributes[i] = VltIlAttribute(); |
| 777 | |
| 778 | for (uint32_t i = 0; i < bindingCount; i++) |
| 779 | { |
| 780 | m_state.gp.state.ilBindings[i] = VltIlBinding( |
| 781 | bindings[i].binding, 0, bindings[i].inputRate, |
| 782 | bindings[i].fetchRate); |
| 783 | } |
| 784 | |
| 785 | for (uint32_t i = bindingCount; i < m_state.gp.state.il.bindingCount(); i++) |
| 786 | m_state.gp.state.ilBindings[i] = VltIlBinding(); |
| 787 | |
| 788 | m_state.gp.state.il = VltIlInfo(attributeCount, bindingCount); |
| 789 | } |
| 790 | |
| 791 | void VltContext::setRasterizerState( |
| 792 | const VltRasterizerState& rs) |
no test coverage detected