initial commit, 4.5 stable
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
Some checks failed
🔗 GHA / 📊 Static checks (push) Has been cancelled
🔗 GHA / 🤖 Android (push) Has been cancelled
🔗 GHA / 🍏 iOS (push) Has been cancelled
🔗 GHA / 🐧 Linux (push) Has been cancelled
🔗 GHA / 🍎 macOS (push) Has been cancelled
🔗 GHA / 🏁 Windows (push) Has been cancelled
🔗 GHA / 🌐 Web (push) Has been cancelled
This commit is contained in:
192
thirdparty/directx_headers/include/directx/d3dx12_barriers.h
vendored
Normal file
192
thirdparty/directx_headers/include/directx/d3dx12_barriers.h
vendored
Normal file
@@ -0,0 +1,192 @@
|
||||
//*********************************************************
|
||||
//
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT License (MIT).
|
||||
//
|
||||
//*********************************************************
|
||||
|
||||
#ifndef __D3DX12_BARRIERS_H__
|
||||
#define __D3DX12_BARRIERS_H__
|
||||
|
||||
#if defined( __cplusplus )
|
||||
|
||||
#include "d3d12.h"
|
||||
|
||||
//------------------------------------------------------------------------------------------------
|
||||
struct CD3DX12_RESOURCE_BARRIER : public D3D12_RESOURCE_BARRIER
|
||||
{
|
||||
CD3DX12_RESOURCE_BARRIER() = default;
|
||||
explicit CD3DX12_RESOURCE_BARRIER(const D3D12_RESOURCE_BARRIER &o) noexcept :
|
||||
D3D12_RESOURCE_BARRIER(o)
|
||||
{}
|
||||
static inline CD3DX12_RESOURCE_BARRIER Transition(
|
||||
_In_ ID3D12Resource* pResource,
|
||||
D3D12_RESOURCE_STATES stateBefore,
|
||||
D3D12_RESOURCE_STATES stateAfter,
|
||||
UINT subresource = D3D12_RESOURCE_BARRIER_ALL_SUBRESOURCES,
|
||||
D3D12_RESOURCE_BARRIER_FLAGS flags = D3D12_RESOURCE_BARRIER_FLAG_NONE) noexcept
|
||||
{
|
||||
CD3DX12_RESOURCE_BARRIER result = {};
|
||||
D3D12_RESOURCE_BARRIER &barrier = result;
|
||||
result.Type = D3D12_RESOURCE_BARRIER_TYPE_TRANSITION;
|
||||
result.Flags = flags;
|
||||
barrier.Transition.pResource = pResource;
|
||||
barrier.Transition.StateBefore = stateBefore;
|
||||
barrier.Transition.StateAfter = stateAfter;
|
||||
barrier.Transition.Subresource = subresource;
|
||||
return result;
|
||||
}
|
||||
static inline CD3DX12_RESOURCE_BARRIER Aliasing(
|
||||
_In_opt_ ID3D12Resource* pResourceBefore,
|
||||
_In_opt_ ID3D12Resource* pResourceAfter) noexcept
|
||||
{
|
||||
CD3DX12_RESOURCE_BARRIER result = {};
|
||||
D3D12_RESOURCE_BARRIER &barrier = result;
|
||||
result.Type = D3D12_RESOURCE_BARRIER_TYPE_ALIASING;
|
||||
barrier.Aliasing.pResourceBefore = pResourceBefore;
|
||||
barrier.Aliasing.pResourceAfter = pResourceAfter;
|
||||
return result;
|
||||
}
|
||||
static inline CD3DX12_RESOURCE_BARRIER UAV(
|
||||
_In_opt_ ID3D12Resource* pResource) noexcept
|
||||
{
|
||||
CD3DX12_RESOURCE_BARRIER result = {};
|
||||
D3D12_RESOURCE_BARRIER &barrier = result;
|
||||
result.Type = D3D12_RESOURCE_BARRIER_TYPE_UAV;
|
||||
barrier.UAV.pResource = pResource;
|
||||
return result;
|
||||
}
|
||||
};
|
||||
|
||||
#if defined(D3D12_SDK_VERSION) && (D3D12_SDK_VERSION >= 608)
|
||||
|
||||
//================================================================================================
|
||||
// D3DX12 Enhanced Barrier Helpers
|
||||
//================================================================================================
|
||||
|
||||
class CD3DX12_BARRIER_SUBRESOURCE_RANGE : public D3D12_BARRIER_SUBRESOURCE_RANGE
|
||||
{
|
||||
public:
|
||||
CD3DX12_BARRIER_SUBRESOURCE_RANGE() = default;
|
||||
CD3DX12_BARRIER_SUBRESOURCE_RANGE(const D3D12_BARRIER_SUBRESOURCE_RANGE &o) noexcept :
|
||||
D3D12_BARRIER_SUBRESOURCE_RANGE(o)
|
||||
{}
|
||||
explicit CD3DX12_BARRIER_SUBRESOURCE_RANGE(UINT Subresource) noexcept :
|
||||
D3D12_BARRIER_SUBRESOURCE_RANGE{ Subresource, 0, 0, 0, 0, 0 }
|
||||
{}
|
||||
CD3DX12_BARRIER_SUBRESOURCE_RANGE(
|
||||
UINT firstMipLevel,
|
||||
UINT numMips,
|
||||
UINT firstArraySlice,
|
||||
UINT numArraySlices,
|
||||
UINT firstPlane = 0,
|
||||
UINT numPlanes = 1) noexcept :
|
||||
D3D12_BARRIER_SUBRESOURCE_RANGE
|
||||
{
|
||||
firstMipLevel,
|
||||
numMips,
|
||||
firstArraySlice,
|
||||
numArraySlices,
|
||||
firstPlane,
|
||||
numPlanes
|
||||
}
|
||||
{}
|
||||
};
|
||||
|
||||
class CD3DX12_GLOBAL_BARRIER : public D3D12_GLOBAL_BARRIER
|
||||
{
|
||||
public:
|
||||
CD3DX12_GLOBAL_BARRIER() = default;
|
||||
CD3DX12_GLOBAL_BARRIER(const D3D12_GLOBAL_BARRIER &o) noexcept : D3D12_GLOBAL_BARRIER(o){}
|
||||
CD3DX12_GLOBAL_BARRIER(
|
||||
D3D12_BARRIER_SYNC syncBefore,
|
||||
D3D12_BARRIER_SYNC syncAfter,
|
||||
D3D12_BARRIER_ACCESS accessBefore,
|
||||
D3D12_BARRIER_ACCESS accessAfter) noexcept : D3D12_GLOBAL_BARRIER {
|
||||
syncBefore,
|
||||
syncAfter,
|
||||
accessBefore,
|
||||
accessAfter
|
||||
}
|
||||
{}
|
||||
};
|
||||
|
||||
class CD3DX12_BUFFER_BARRIER : public D3D12_BUFFER_BARRIER
|
||||
{
|
||||
public:
|
||||
CD3DX12_BUFFER_BARRIER() = default;
|
||||
CD3DX12_BUFFER_BARRIER(const D3D12_BUFFER_BARRIER &o) noexcept : D3D12_BUFFER_BARRIER(o){}
|
||||
CD3DX12_BUFFER_BARRIER(
|
||||
D3D12_BARRIER_SYNC syncBefore,
|
||||
D3D12_BARRIER_SYNC syncAfter,
|
||||
D3D12_BARRIER_ACCESS accessBefore,
|
||||
D3D12_BARRIER_ACCESS accessAfter,
|
||||
ID3D12Resource *pRes) noexcept : D3D12_BUFFER_BARRIER {
|
||||
syncBefore,
|
||||
syncAfter,
|
||||
accessBefore,
|
||||
accessAfter,
|
||||
pRes,
|
||||
0, ULLONG_MAX
|
||||
}
|
||||
{}
|
||||
};
|
||||
|
||||
class CD3DX12_TEXTURE_BARRIER : public D3D12_TEXTURE_BARRIER
|
||||
{
|
||||
public:
|
||||
CD3DX12_TEXTURE_BARRIER() = default;
|
||||
CD3DX12_TEXTURE_BARRIER(const D3D12_TEXTURE_BARRIER &o) noexcept : D3D12_TEXTURE_BARRIER(o){}
|
||||
CD3DX12_TEXTURE_BARRIER(
|
||||
D3D12_BARRIER_SYNC syncBefore,
|
||||
D3D12_BARRIER_SYNC syncAfter,
|
||||
D3D12_BARRIER_ACCESS accessBefore,
|
||||
D3D12_BARRIER_ACCESS accessAfter,
|
||||
D3D12_BARRIER_LAYOUT layoutBefore,
|
||||
D3D12_BARRIER_LAYOUT layoutAfter,
|
||||
ID3D12Resource *pRes,
|
||||
const D3D12_BARRIER_SUBRESOURCE_RANGE &subresources,
|
||||
D3D12_TEXTURE_BARRIER_FLAGS flag = D3D12_TEXTURE_BARRIER_FLAG_NONE) noexcept : D3D12_TEXTURE_BARRIER {
|
||||
syncBefore,
|
||||
syncAfter,
|
||||
accessBefore,
|
||||
accessAfter,
|
||||
layoutBefore,
|
||||
layoutAfter,
|
||||
pRes,
|
||||
subresources,
|
||||
flag
|
||||
}
|
||||
{}
|
||||
};
|
||||
|
||||
class CD3DX12_BARRIER_GROUP : public D3D12_BARRIER_GROUP
|
||||
{
|
||||
public:
|
||||
CD3DX12_BARRIER_GROUP() = default;
|
||||
CD3DX12_BARRIER_GROUP(const D3D12_BARRIER_GROUP &o) noexcept : D3D12_BARRIER_GROUP(o){}
|
||||
CD3DX12_BARRIER_GROUP(UINT32 numBarriers, const D3D12_BUFFER_BARRIER *pBarriers) noexcept
|
||||
{
|
||||
Type = D3D12_BARRIER_TYPE_BUFFER;
|
||||
NumBarriers = numBarriers;
|
||||
pBufferBarriers = pBarriers;
|
||||
}
|
||||
CD3DX12_BARRIER_GROUP(UINT32 numBarriers, const D3D12_TEXTURE_BARRIER *pBarriers) noexcept
|
||||
{
|
||||
Type = D3D12_BARRIER_TYPE_TEXTURE;
|
||||
NumBarriers = numBarriers;
|
||||
pTextureBarriers = pBarriers;
|
||||
}
|
||||
CD3DX12_BARRIER_GROUP(UINT32 numBarriers, const D3D12_GLOBAL_BARRIER *pBarriers) noexcept
|
||||
{
|
||||
Type = D3D12_BARRIER_TYPE_GLOBAL;
|
||||
NumBarriers = numBarriers;
|
||||
pGlobalBarriers = pBarriers;
|
||||
}
|
||||
};
|
||||
#endif // D3D12_SDK_VERSION >= 608
|
||||
|
||||
|
||||
#endif // defined( __cplusplus )
|
||||
|
||||
#endif // __D3DX12_BARRIERS_H__
|
Reference in New Issue
Block a user