MCPcopy Create free account
hub / github.com/Inori/GPCS4 / setInputLayout

Method setInputLayout

GPCS4/Graphics/Violet/VltContext.cpp:758–789  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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)

Callers 3

updateVertexBindingMethod · 0.80
updateInputLayoutMethod · 0.80
drawMethod · 0.80

Calls 6

VltIlAttributeClass · 0.85
VltIlBindingClass · 0.85
VltIlInfoClass · 0.85
attributeCountMethod · 0.80
setMethod · 0.45
bindingCountMethod · 0.45

Tested by

no test coverage detected