MCPcopy Create free account
hub / github.com/TheRealMJP/DXRPathTracer / AddSubObject

Method AddSubObject

SampleFramework12/v1.02/Graphics/DXRHelper.cpp:31–49  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29}
30
31const D3D12_STATE_SUBOBJECT* StateObjectBuilder::AddSubObject(const void* subObjDesc, uint64 subObjDescSize, D3D12_STATE_SUBOBJECT_TYPE type)
32{
33 Assert_(subObjDesc != nullptr);
34 Assert_(subObjDescSize > 0);
35 Assert_(type < D3D12_STATE_SUBOBJECT_TYPE_MAX_VALID);
36 Assert_(subObjDescSize <= MaxSubObjDescSize);
37 Assert_(NumSubObjects < MaxSubObjects);
38
39 const uint64 subObjOffset = NumSubObjects * MaxSubObjDescSize;
40 memcpy(SubObjectData.Data() + subObjOffset, subObjDesc, subObjDescSize);
41
42 D3D12_STATE_SUBOBJECT& newSubObj = SubObjects[NumSubObjects];
43 newSubObj.Type = type;
44 newSubObj.pDesc = SubObjectData.Data() + subObjOffset;
45
46 NumSubObjects += 1;
47
48 return &newSubObj;
49}
50
51void StateObjectBuilder::BuildDesc(D3D12_STATE_OBJECT_TYPE type, D3D12_STATE_OBJECT_DESC& desc)
52{

Callers 1

CreateRayTracingPSOsMethod · 0.45

Calls 1

DataMethod · 0.45

Tested by

no test coverage detected