void DoSerialise(SerialiserType &ser, D3D12_STREAM_OUTPUT_DESC &el) { SERIALISE_MEMBER_ARRAY(pSODeclaration, NumEntries); SERIALISE_MEMBER(NumEntries); SERIALISE_MEMBER_ARRAY(pBufferStrides, NumStrides); SERIALISE_MEMBER(NumStrides); SERIALISE_MEMBER(RasterizedStream); }
void DoSerialise(SerialiserType &ser, D3D12_COMMAND_SIGNATURE_DESC &el) { SERIALISE_MEMBER(ByteStride); SERIALISE_MEMBER(NumArgumentDescs); SERIALISE_MEMBER_ARRAY(pArgumentDescs, NumArgumentDescs); SERIALISE_MEMBER(NodeMask); }
void DoSerialise(SerialiserType &ser, D3D12_DISCARD_REGION &el) { SERIALISE_MEMBER(NumRects); SERIALISE_MEMBER_ARRAY(pRects, NumRects); SERIALISE_MEMBER(FirstSubresource); SERIALISE_MEMBER(NumSubresources); }
void DoSerialise(SerialiserType &ser, D3D12_SHADER_BYTECODE &el) { // don't serialise size_t, otherwise capture/replay between different bit-ness won't work { uint64_t BytecodeLength = el.BytecodeLength; ser.Serialise("BytecodeLength", BytecodeLength); if(ser.IsReading()) el.BytecodeLength = (size_t)BytecodeLength; } SERIALISE_MEMBER_ARRAY(pShaderBytecode, BytecodeLength); }
void DoSerialise(SerialiserType &ser, D3D12_INPUT_LAYOUT_DESC &el) { SERIALISE_MEMBER_ARRAY(pInputElementDescs, NumElements); }