{ "reference": "EterLib/GrpVertexBuffer.cpp", "reference_sha256": "0c6f3f6331b7e837f4a38f4b4a9993a158081dcd80d7f4f8a84f947a4fbe49fd", "priority": "P4", "contracts": [], "functions": { "CGraphicVertexBuffer::GetVertexStride": { "status": "ADAPTED", "note": "40250: D3DXGetFVFVertexSize. Port: mt_fvf_vertex_size, the same D3D8 FVF size rule. Invariant: equal stride for every FVF.", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::GetVertexStride" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::GetFlexibleVertexFormat": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::GetFlexibleVertexFormat" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::GetVertexCount": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::GetVertexCount" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::SetStream": { "status": "ADAPTED", "note": "40250: assert(ms_lpd3dDevice) + STATEMANAGER.SetStreamSource. Port: without the assert (CPU buffers exist without a device). Invariant: same stream binding.", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::SetStream" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::LockRange": { "status": "ADAPTED", "note": "40250: D3D8 vertex buffer Lock/Unlock/CreateVertexBuffer/Release. Port: CPU memory (CpuBuffer.h MtCpu*Buffer); Lock hands out the bytes, Unlock bumps the revision the renderer re-uploads on. Invariant: the same bytes and sizes reach the draw; no device needed (Granny loader thread).", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::LockRange" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::Lock": { "status": "ADAPTED", "note": "40250: D3D8 vertex buffer Lock/Unlock/CreateVertexBuffer/Release. Port: CPU memory (CpuBuffer.h MtCpu*Buffer); Lock hands out the bytes, Unlock bumps the revision the renderer re-uploads on. Invariant: the same bytes and sizes reach the draw; no device needed (Granny loader thread).", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::Lock" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::Unlock": { "status": "ADAPTED", "note": "40250: D3D8 vertex buffer Lock/Unlock/CreateVertexBuffer/Release. Port: CPU memory (CpuBuffer.h MtCpu*Buffer); Lock hands out the bytes, Unlock bumps the revision the renderer re-uploads on. Invariant: the same bytes and sizes reach the draw; no device needed (Granny loader thread).", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::Unlock" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::IsEmpty": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::IsEmpty" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::LockDynamic": { "status": "ADAPTED", "note": "40250: D3D8 vertex buffer Lock/Unlock/CreateVertexBuffer/Release. Port: CPU memory (CpuBuffer.h MtCpu*Buffer); Lock hands out the bytes, Unlock bumps the revision the renderer re-uploads on. Invariant: the same bytes and sizes reach the draw; no device needed (Granny loader thread).", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::LockDynamic" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::Copy": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::Copy" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::CreateDeviceObjects": { "status": "ADAPTED", "note": "40250: D3D8 vertex buffer Lock/Unlock/CreateVertexBuffer/Release. Port: CPU memory (CpuBuffer.h MtCpu*Buffer); Lock hands out the bytes, Unlock bumps the revision the renderer re-uploads on. Invariant: the same bytes and sizes reach the draw; no device needed (Granny loader thread).", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::CreateDeviceObjects" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::DestroyDeviceObjects": { "status": "ADAPTED", "note": "40250: D3D8 vertex buffer Lock/Unlock/CreateVertexBuffer/Release. Port: CPU memory (CpuBuffer.h MtCpu*Buffer); Lock hands out the bytes, Unlock bumps the revision the renderer re-uploads on. Invariant: the same bytes and sizes reach the draw; no device needed (Granny loader thread).", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::DestroyDeviceObjects" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::Create": { "status": "ADAPTED", "note": "40250: D3DXGetFVFVertexSize(fvf)*count, assert(device). Port: mt_fvf_vertex_size, no device assert (CPU buffers). Invariant: same buffer size.", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::Create" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::Destroy": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::Destroy" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::Initialize": { "status": "ADAPTED", "note": "40250: leaves m_dwFVF unset. Port: zeroes it. Invariant: every 40250 reader runs after Create, which sets it.", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::Initialize" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::CGraphicVertexBuffer": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::CGraphicVertexBuffer" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] }, "CGraphicVertexBuffer::~CGraphicVertexBuffer": { "status": "PORTED", "impl": [ "src/platform/EterLib/GrpVertexBuffer.cpp:CGraphicVertexBuffer::~CGraphicVertexBuffer" ], "test": [ "tests/port/port_grp_resource_test.cpp" ] } } }