6#pragma warning(disable:4005)
7#pragma warning(disable:4100)
8#pragma warning(disable:4458)
9#pragma warning(disable:4238)
10#pragma warning(disable:4458)
19#include "../Base/EffectsCommon.h"
20#include "../Base/ResourceMap.h"
21#include "../Base/ResourcePointer.h"
23#include "Foundation/Logging/Logger.h"
29 D3D12_SHADER_RESOURCE_VIEW_DESC srvDesc;
34 D3D12_RESOURCE_STATES usage = D3D12_RESOURCE_STATE_COMMON;
37 inline void setResourceBarrier(ID3D12GraphicsCommandList * commandList, ID3D12Resource * resource, D3D12_RESOURCE_STATES stateBefore, D3D12_RESOURCE_STATES stateAfter)
39 D3D12_RESOURCE_BARRIER barrier = {};
41 barrier.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
42 barrier.Transition.pResource = resource;
43 barrier.Transition.Subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES;
44 barrier.Transition.StateBefore = stateBefore;
45 barrier.Transition.StateAfter = stateAfter;
47 commandList->ResourceBarrier(1, &barrier);
50 inline void setResourceState(ID3D12GraphicsCommandList * commandList, ResourceD3D12 & resource, D3D12_RESOURCE_STATES stateAfter)
52 if (resource.usage == stateAfter)
return;
54 setResourceBarrier(commandList, resource.resource, resource.usage, stateAfter);
56 resource.usage = stateAfter;
59 extern const CD3DX12_HEAP_PROPERTIES defaultHeapProperties;
60 extern const CD3DX12_HEAP_PROPERTIES uploadHeapProperties;
61 extern const CD3DX12_HEAP_PROPERTIES readbackHeapProperties;
Contains all Cogs related functionality.