MCPcopy Create free account
hub / github.com/TheRealMJP/DeferredTexturing / Map

Method Map

SampleFramework12/v1.00/Graphics/GraphicsTypes.cpp:265–296  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

263}
264
265MapResult Buffer::Map()
266{
267 Assert_(Initialized());
268 Assert_(Dynamic);
269
270 if(Lifetime == BufferLifetime::Persistent)
271 {
272 #if UseAsserts_
273 // Make sure that we onlt do this at most once per frame
274 Assert_(UploadFrame != DX12::CurrentCPUFrame);
275 UploadFrame = DX12::CurrentCPUFrame;
276 #endif
277 CurrBuffer = (CurrBuffer + 1) % DX12::RenderLatency;
278
279 MapResult result;
280 result.ResourceOffset = CurrBuffer * Size;
281 result.CPUAddress = CPUAddress + CurrBuffer * Size;
282 result.GPUAddress = GPUAddress + CurrBuffer * Size;
283 result.Resource = Resource;
284 return result;
285 }
286 else
287 {
288 Assert_(Lifetime == BufferLifetime::Temporary);
289
290 #if UseAsserts_
291 UploadFrame = DX12::CurrentCPUFrame;
292 #endif
293
294 return DX12::AcquireTempBufferMem(Size, Alignment);
295 }
296}
297
298MapResult Buffer::MapAndSetData(const void* data, uint64 dataSize)
299{

Callers 4

Initialize_UploadFunction · 0.45
GetTextureDataFunction · 0.45
SaveTextureAsDDSFunction · 0.45
InitializeMethod · 0.45

Calls 2

AcquireTempBufferMemFunction · 0.85
IsValidMethod · 0.80

Tested by

no test coverage detected