@@ -714,6 +714,12 @@ struct DrawMeshIndirectAttribs
714714 // / When pCounterBuffer is not null, state transition mode for the count buffer.
715715 RESOURCE_STATE_TRANSITION_MODE CounterBufferStateTransitionMode DEFAULT_INITIALIZER (RESOURCE_STATE_TRANSITION_MODE_NONE);
716716
717+ // / Metal-specific mesh draw command attributes.
718+ // /
719+ // / \remarks
720+ // / This member is only used by Metal backend and is ignored by others.
721+ const DrawMeshAttribsMtl* pMtlAttribs DEFAULT_INITIALIZER (nullptr );
722+
717723#if DILIGENT_CPP_INTERFACE
718724 // / Initializes the structure members with default values
719725 constexpr DrawMeshIndirectAttribs () noexcept {}
@@ -726,15 +732,17 @@ struct DrawMeshIndirectAttribs
726732 RESOURCE_STATE_TRANSITION_MODE _AttribsBufferStateTransitionMode = DrawMeshIndirectAttribs{}.AttribsBufferStateTransitionMode,
727733 IBuffer* _pCounterBuffer = DrawMeshIndirectAttribs{}.pCounterBuffer,
728734 Uint64 _CounterOffset = DrawMeshIndirectAttribs{}.CounterOffset,
729- RESOURCE_STATE_TRANSITION_MODE _CounterBufferStateTransitionMode = DrawMeshIndirectAttribs{}.CounterBufferStateTransitionMode) noexcept :
735+ RESOURCE_STATE_TRANSITION_MODE _CounterBufferStateTransitionMode = DrawMeshIndirectAttribs{}.CounterBufferStateTransitionMode,
736+ const DrawMeshAttribsMtl* _pMtlAttribs = DrawMeshIndirectAttribs{}.pMtlAttribs) noexcept :
730737 pAttribsBuffer {_pAttribsBuffer },
731738 DrawArgsOffset {_DrawArgsOffset },
732739 Flags {_Flags },
733740 CommandCount {_CommandCount },
734741 AttribsBufferStateTransitionMode{_AttribsBufferStateTransitionMode},
735742 pCounterBuffer {_pCounterBuffer },
736743 CounterOffset {_CounterOffset },
737- CounterBufferStateTransitionMode{_CounterBufferStateTransitionMode}
744+ CounterBufferStateTransitionMode{_CounterBufferStateTransitionMode},
745+ pMtlAttribs {_pMtlAttribs }
738746 {}
739747#endif
740748};
0 commit comments