Skip to content

Commit

Permalink
v1.142:
Browse files Browse the repository at this point in the history
HIGHLIGHTS:
- interface polishing (sorry for the breaking changes)
- bug fixes and improvements

BREAKING CHANGES:
- "REMAINING_ARRAY_LAYERS" renamed to "REMAINING_LAYERS"
- "REMAINING_MIP_LEVELS" renamed to "REMAINING_MIPS"
- "arraySize" renamed to "layerNum"
- "arrayOffset" renamed to "layerOffset"
- "textureArrayMaxDim" renamed to "textureArrayMaxLayerNum"
- "GeometryObject::triangles" replaced with "GeometryObject::geometry.triangles"
- "GeometryObject::boxes" replaced with "GeometryObject::geometry.aabbs"

DETAILS:
- NRI: emphasize that a texture array consists of layers
- NRI: avoid using "size" for something other than size in bytes
- Raytracing: better resolved warning C4201 in the header
- VK: fixed "VkRayTracingShaderGroupCreateInfoKHR::type" selection
- WrapperD3D12: fixed validation
- updated .clang-format
  • Loading branch information
dzhdanNV committed Aug 26, 2024
1 parent 5d8a4ea commit f301196
Show file tree
Hide file tree
Showing 111 changed files with 672 additions and 619 deletions.
10 changes: 5 additions & 5 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ AlignConsecutiveMacros:
AlignCompound: false
PadOperators: false
AlignEscapedNewlines: DontAlign
AlignOperands: Align
AlignOperands: DontAlign
# AlignTrailingComments:
# Kind: Never
# OverEmptyLines: 0
Expand Down Expand Up @@ -72,15 +72,15 @@ BraceWrapping:
# BreakAfterAttributes: Never
BreakAfterJavaFieldAnnotations: false
# BreakArrays: true
BreakBeforeBinaryOperators: None
BreakBeforeBinaryOperators: All
BreakBeforeBraces: Attach
BreakBeforeConceptDeclarations: Always
# BreakBeforeInlineASMColon: OnlyMultiline
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: AfterColon
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeColon
BreakStringLiterals: true
ColumnLimit: 180
ColumnLimit: 0
CommentPragmas: "^ IWYU pragma:"
CompactNamespaces: false
ConstructorInitializerIndentWidth: 4
Expand Down Expand Up @@ -184,7 +184,7 @@ RemoveBracesLLVM: false
# RemoveSemicolon: false
RequiresClausePosition: OwnLine
# RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Leave
SeparateDefinitionBlocks: Always
ShortNamespaceLines: 1
SortIncludes: CaseSensitive
SortJavaStaticImport: Before
Expand Down
37 changes: 19 additions & 18 deletions Include/Extensions/NRIHelper.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ NRI_STRUCT(TextureSubresourceUploadDesc)

NRI_STRUCT(TextureUploadDesc)
{
const NRI_NAME(TextureSubresourceUploadDesc)* subresources; // must include ALL subresources = arraySize * mipNum
NRI_OPTIONAL const NRI_NAME(TextureSubresourceUploadDesc)* subresources; // if provided, must include ALL subresources = layerNum * mipNum
NRI_NAME(Texture)* texture;
NRI_NAME(AccessLayoutStage) after;
};
Expand Down Expand Up @@ -76,7 +76,8 @@ NRI_STRUCT(HelperInterface)
NRI_NAME(Result) (NRI_CALL *AllocateAndBindMemory)(NRI_NAME_REF(Device) device, const NRI_NAME_REF(ResourceGroupDesc) resourceGroupDesc, NRI_NAME(Memory)** allocations);

// Populate resources with data (not for streaming!)
NRI_NAME(Result) (NRI_CALL *UploadData)(NRI_NAME_REF(CommandQueue) commandQueue, const NRI_NAME(TextureUploadDesc)* textureUploadDescs, uint32_t textureUploadDescNum, const NRI_NAME(BufferUploadDesc)* bufferUploadDescs, uint32_t bufferUploadDescNum);
NRI_NAME(Result) (NRI_CALL *UploadData)(NRI_NAME_REF(CommandQueue) commandQueue, const NRI_NAME(TextureUploadDesc)* textureUploadDescs, uint32_t textureUploadDescNum,
const NRI_NAME(BufferUploadDesc)* bufferUploadDescs, uint32_t bufferUploadDescNum);

// WFI
NRI_NAME(Result) (NRI_CALL *WaitForIdle)(NRI_NAME_REF(CommandQueue) commandQueue);
Expand Down Expand Up @@ -124,7 +125,7 @@ static inline NRI_NAME(Format) NRI_FUNC_NAME(GetSupportedDepthFormat)(const NRI_
static inline NRI_NAME(TextureDesc) NRI_FUNC_NAME(Texture1D)(NRI_NAME(Format) format,
uint16_t width,
NRI_NAME(Mip_t) mipNum NRI_DEFAULT_VALUE(1),
NRI_NAME(Dim_t) arraySize NRI_DEFAULT_VALUE(1),
NRI_NAME(Dim_t) layerNum NRI_DEFAULT_VALUE(1),
NRI_NAME(TextureUsageBits) usageMask NRI_DEFAULT_VALUE(NRI_ENUM_MEMBER(TextureUsageBits, SHADER_RESOURCE)))
{
NRI_NAME(TextureDesc) textureDesc = NRI_ZERO_INIT;
Expand All @@ -135,7 +136,7 @@ static inline NRI_NAME(TextureDesc) NRI_FUNC_NAME(Texture1D)(NRI_NAME(Format) fo
textureDesc.height = 1;
textureDesc.depth = 1;
textureDesc.mipNum = mipNum;
textureDesc.arraySize = arraySize;
textureDesc.layerNum = layerNum;
textureDesc.sampleNum = 1;

return textureDesc;
Expand All @@ -145,7 +146,7 @@ static inline NRI_NAME(TextureDesc) NRI_FUNC_NAME(Texture2D)(NRI_NAME(Format) fo
NRI_NAME(Dim_t) width,
NRI_NAME(Dim_t) height,
NRI_NAME(Mip_t) mipNum NRI_DEFAULT_VALUE(1),
NRI_NAME(Dim_t) arraySize NRI_DEFAULT_VALUE(1),
NRI_NAME(Dim_t) layerNum NRI_DEFAULT_VALUE(1),
NRI_NAME(TextureUsageBits) usageMask NRI_DEFAULT_VALUE(NRI_ENUM_MEMBER(TextureUsageBits, SHADER_RESOURCE)),
NRI_NAME(Sample_t) sampleNum NRI_DEFAULT_VALUE(1))
{
Expand All @@ -157,7 +158,7 @@ static inline NRI_NAME(TextureDesc) NRI_FUNC_NAME(Texture2D)(NRI_NAME(Format) fo
textureDesc.height = height;
textureDesc.depth = 1;
textureDesc.mipNum = mipNum;
textureDesc.arraySize = arraySize;
textureDesc.layerNum = layerNum;
textureDesc.sampleNum = sampleNum;

return textureDesc;
Expand All @@ -178,7 +179,7 @@ static inline NRI_NAME(TextureDesc) NRI_FUNC_NAME(Texture3D)(NRI_NAME(Format) fo
textureDesc.height = height;
textureDesc.depth = depth;
textureDesc.mipNum = mipNum;
textureDesc.arraySize = 1;
textureDesc.layerNum = 1;
textureDesc.sampleNum = 1;

return textureDesc;
Expand All @@ -189,28 +190,28 @@ static inline NRI_NAME(TextureBarrierDesc) NRI_FUNC_NAME(TextureBarrier)(NRI_NAM
NRI_NAME(AccessLayoutStage) before,
NRI_NAME(AccessLayoutStage) after,
NRI_NAME(Mip_t) mipOffset NRI_DEFAULT_VALUE(0),
NRI_NAME(Mip_t) mipNum NRI_DEFAULT_VALUE(NRI_NAME(REMAINING_MIP_LEVELS)),
NRI_NAME(Dim_t) arrayOffset NRI_DEFAULT_VALUE(0),
NRI_NAME(Dim_t) arraySize NRI_DEFAULT_VALUE(NRI_NAME(REMAINING_ARRAY_LAYERS)))
NRI_NAME(Mip_t) mipNum NRI_DEFAULT_VALUE(NRI_NAME(REMAINING_MIPS)),
NRI_NAME(Dim_t) layerOffset NRI_DEFAULT_VALUE(0),
NRI_NAME(Dim_t) layerNum NRI_DEFAULT_VALUE(NRI_NAME(REMAINING_LAYERS)))
{
NRI_NAME(TextureBarrierDesc) textureBarrierDesc = NRI_ZERO_INIT;
textureBarrierDesc.texture = texture;
textureBarrierDesc.before = before;
textureBarrierDesc.after = after;
textureBarrierDesc.mipOffset = mipOffset;
textureBarrierDesc.mipNum = mipNum;
textureBarrierDesc.arrayOffset = arrayOffset;
textureBarrierDesc.arraySize = arraySize;
textureBarrierDesc.layerOffset = layerOffset;
textureBarrierDesc.layerNum = layerNum;

return textureBarrierDesc;
}

static inline NRI_NAME(TextureBarrierDesc) NRI_FUNC_NAME(TextureBarrierFromUnknown)(NRI_NAME(Texture)* texture,
NRI_NAME(AccessLayoutStage) after,
NRI_NAME(Mip_t) mipOffset NRI_DEFAULT_VALUE(0),
NRI_NAME(Mip_t) mipNum NRI_DEFAULT_VALUE(NRI_NAME(REMAINING_MIP_LEVELS)),
NRI_NAME(Dim_t) arrayOffset NRI_DEFAULT_VALUE(0),
NRI_NAME(Dim_t) arraySize NRI_DEFAULT_VALUE(NRI_NAME(REMAINING_ARRAY_LAYERS)))
NRI_NAME(Mip_t) mipNum NRI_DEFAULT_VALUE(NRI_NAME(REMAINING_MIPS)),
NRI_NAME(Dim_t) layerOffset NRI_DEFAULT_VALUE(0),
NRI_NAME(Dim_t) layerNum NRI_DEFAULT_VALUE(NRI_NAME(REMAINING_LAYERS)))
{
NRI_NAME(TextureBarrierDesc) textureBarrierDesc = NRI_ZERO_INIT;
textureBarrierDesc.texture = texture;
Expand All @@ -220,16 +221,16 @@ static inline NRI_NAME(TextureBarrierDesc) NRI_FUNC_NAME(TextureBarrierFromUnkno
textureBarrierDesc.after = after;
textureBarrierDesc.mipOffset = mipOffset;
textureBarrierDesc.mipNum = mipNum;
textureBarrierDesc.arrayOffset = arrayOffset;
textureBarrierDesc.arraySize = arraySize;
textureBarrierDesc.layerOffset = layerOffset;
textureBarrierDesc.layerNum = layerNum;

return textureBarrierDesc;
}

static inline NRI_NAME(TextureBarrierDesc) NRI_FUNC_NAME(TextureBarrierFromState)(NRI_NAME_REF(TextureBarrierDesc) prevState,
NRI_NAME(AccessLayoutStage) after,
NRI_NAME(Mip_t) mipOffset NRI_DEFAULT_VALUE(0),
NRI_NAME(Mip_t) mipNum NRI_DEFAULT_VALUE(NRI_NAME(REMAINING_MIP_LEVELS)))
NRI_NAME(Mip_t) mipNum NRI_DEFAULT_VALUE(NRI_NAME(REMAINING_MIPS)))
{
NRI_REF_ACCESS(prevState)->mipOffset = mipOffset;
NRI_REF_ACCESS(prevState)->mipNum = mipNum;
Expand Down
26 changes: 11 additions & 15 deletions Include/Extensions/NRIRayTracing.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,14 +76,18 @@ NRI_STRUCT(ShaderLibrary)

NRI_STRUCT(ShaderGroupDesc)
{
uint32_t shaderIndices[3];
// Use cases:
// - general: RAYGEN_SHADER, MISS_SHADER or CALLABLE_SHADER
// - HitGroup: CLOSEST_HIT_SHADER and/or ANY_HIT_SHADER in any order
// - HitGroup with an intersection shader: INTERSECTION_SHADER + CLOSEST_HIT_SHADER and/or ANY_HIT_SHADER in any order
uint32_t shaderIndices[3]; // in ShaderLibrary, starting with 1 (0 - unused)
};

NRI_STRUCT(RayTracingPipelineDesc)
{
const NRI_NAME(PipelineLayout)* pipelineLayout;
const NRI_NAME(ShaderLibrary)* shaderLibrary;
const NRI_NAME(ShaderGroupDesc)* shaderGroupDescs; // TODO: move to ShaderLibrary
const NRI_NAME(ShaderGroupDesc)* shaderGroupDescs;
uint32_t shaderGroupDescNum;
uint32_t recursionDepthMax;
uint32_t payloadAttributeSizeMax;
Expand Down Expand Up @@ -113,26 +117,17 @@ NRI_STRUCT(AABBs)
uint64_t offset;
};

#if defined(_MSC_VER)
// Disable bogus nameless union warning that's treated as error
#pragma warning(disable:4201)
#endif

NRI_STRUCT(GeometryObject)
{
NRI_NAME(GeometryType) type;
NRI_NAME(BottomLevelGeometryBits) flags;
union
{
NRI_NAME(Triangles) triangles;
NRI_NAME(AABBs) boxes;
};
NRI_NAME(AABBs) aabbs;
} geometry;
};

#if defined(_MSC_VER)
#pragma warning(default:4201)
#endif

NRI_STRUCT(GeometryObjectInstance)
{
float transform[3][4];
Expand All @@ -148,7 +143,7 @@ NRI_STRUCT(AccelerationStructureDesc)
NRI_NAME(AccelerationStructureType) type;
NRI_NAME(AccelerationStructureBuildBits) flags;
uint32_t instanceOrGeometryObjectNum;
const NRI_NAME(GeometryObject)* geometryObjects;
const NRI_NAME(GeometryObject)* geometryObjects; // needed only for BOTTOM_LEVEL
};

NRI_STRUCT(AccelerationStructureMemoryBindingDesc)
Expand Down Expand Up @@ -233,7 +228,8 @@ NRI_STRUCT(RayTracingInterface)
NRI_NAME(AccelerationStructureBuildBits) flags, NRI_NAME_REF(AccelerationStructure) dst, NRI_NAME_REF(AccelerationStructure) src, NRI_NAME_REF(Buffer) scratch, uint64_t scratchOffset);

void (NRI_CALL *CmdCopyAccelerationStructure)(NRI_NAME_REF(CommandBuffer) commandBuffer, NRI_NAME_REF(AccelerationStructure) dst, NRI_NAME_REF(AccelerationStructure) src, NRI_NAME(CopyMode) copyMode);
void (NRI_CALL *CmdWriteAccelerationStructureSize)(NRI_NAME_REF(CommandBuffer) commandBuffer, const NRI_NAME(AccelerationStructure)* const* accelerationStructures, uint32_t accelerationStructureNum, NRI_NAME_REF(QueryPool) queryPool, uint32_t queryPoolOffset);
void (NRI_CALL *CmdWriteAccelerationStructureSize)(NRI_NAME_REF(CommandBuffer) commandBuffer, const NRI_NAME(AccelerationStructure)* const* accelerationStructures, uint32_t accelerationStructureNum,
NRI_NAME_REF(QueryPool) queryPool, uint32_t queryPoolOffset);

void (NRI_CALL *CmdDispatchRays)(NRI_NAME_REF(CommandBuffer) commandBuffer, const NRI_NAME_REF(DispatchRaysDesc) dispatchRaysDesc);
void (NRI_CALL *CmdDispatchRaysIndirect)(NRI_NAME_REF(CommandBuffer) commandBuffer, const NRI_NAME_REF(Buffer) buffer, uint64_t offset); // buffer contains "DispatchRaysIndirectDesc" commands
Expand Down
2 changes: 1 addition & 1 deletion Include/Extensions/NRIResourceAllocator.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ NRI_STRUCT(AllocateTextureDesc)

NRI_STRUCT(AllocateAccelerationStructureDesc)
{
NRI_NAME(AccelerationStructureDesc) desc;
NRI_NAME(AccelerationStructureDesc) desc; // TODO: requires NRIRayTracing.h
NRI_NAME(MemoryLocation) memoryLocation;
float memoryPriority;
};
Expand Down
2 changes: 1 addition & 1 deletion Include/Extensions/NRIWrapperVK.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ NRI_STRUCT(TextureVKDesc)
NRI_NAME(Dim_t) height;
NRI_NAME(Dim_t) depth;
NRI_NAME(Mip_t) mipNum;
NRI_NAME(Dim_t) arraySize;
NRI_NAME(Dim_t) layerNum;
NRI_NAME(Sample_t) sampleNum;
};

Expand Down
4 changes: 2 additions & 2 deletions Include/NRI.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@ Non-goals:
#include <stddef.h>

#define NRI_VERSION_MAJOR 1
#define NRI_VERSION_MINOR 141
#define NRI_VERSION_DATE "23 August 2024"
#define NRI_VERSION_MINOR 142
#define NRI_VERSION_DATE "26 August 2024"

#ifdef _WIN32
#define NRI_CALL __fastcall
Expand Down
2 changes: 1 addition & 1 deletion Include/NRICompatibility.hlsli
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ USAGE:
Textures, buffers, samplers and acceleration structures:
NRI_RESOURCE(Texture2D<float4>, gInput, t, 0, 2);
NRI_RESOURCE(RWTexture2D<float>, gOutputs, u, 0, 0);
NRI_RESOURCE(RWTexture2D<float>, gOutput, u, 0, 0);
NRI_RESOURCE(StructuredBuffer<InstanceData>, gInstanceData, t, 2, 2);
NRI_RESOURCE(RaytracingAccelerationStructure, gTlas, t, 1, 2);
NRI_RESOURCE(SamplerState, gLinearMipmapLinearSampler, s, 0, 0);
Expand Down
26 changes: 13 additions & 13 deletions Include/NRIDescs.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ typedef uint8_t NRI_NAME(Mip_t);
typedef uint8_t NRI_NAME(Sample_t);

// Aliases
static const NRI_NAME(Dim_t) NRI_CONST_NAME(REMAINING_ARRAY_LAYERS) = 0; // only for "arraySize"
static const NRI_NAME(Mip_t) NRI_CONST_NAME(REMAINING_MIP_LEVELS) = 0; // only for "mipNum"
static const NRI_NAME(Dim_t) NRI_CONST_NAME(REMAINING_LAYERS) = 0; // only for "layerNum"
static const NRI_NAME(Mip_t) NRI_CONST_NAME(REMAINING_MIPS) = 0; // only for "mipNum"
static const NRI_NAME(Dim_t) NRI_CONST_NAME(WHOLE_SIZE) = 0; // only for "Dim_t" and "size"
static const uint32_t NRI_CONST_NAME(ALL_SAMPLES) = 0; // only for "sampleMask"
static const uint32_t NRI_CONST_NAME(ONE_VIEWPORT) = 0; // only for "viewportNum"
Expand Down Expand Up @@ -468,7 +468,7 @@ NRI_STRUCT(TextureDesc)
NRI_NAME(Dim_t) height;
NRI_NAME(Dim_t) depth;
NRI_NAME(Mip_t) mipNum;
NRI_NAME(Dim_t) arraySize;
NRI_NAME(Dim_t) layerNum;
NRI_NAME(Sample_t) sampleNum;
};

Expand All @@ -487,8 +487,8 @@ NRI_STRUCT(Texture1DViewDesc)
NRI_NAME(Format) format;
NRI_NAME(Mip_t) mipOffset;
NRI_NAME(Mip_t) mipNum;
NRI_NAME(Dim_t) arrayOffset;
NRI_NAME(Dim_t) arraySize;
NRI_NAME(Dim_t) layerOffset;
NRI_NAME(Dim_t) layerNum;
NRI_NAME(ResourceViewBits) flags;
};

Expand All @@ -499,8 +499,8 @@ NRI_STRUCT(Texture2DViewDesc)
NRI_NAME(Format) format;
NRI_NAME(Mip_t) mipOffset;
NRI_NAME(Mip_t) mipNum;
NRI_NAME(Dim_t) arrayOffset;
NRI_NAME(Dim_t) arraySize;
NRI_NAME(Dim_t) layerOffset;
NRI_NAME(Dim_t) layerNum;
NRI_NAME(ResourceViewBits) flags;
};

Expand Down Expand Up @@ -961,7 +961,7 @@ NRI_STRUCT(OutputMergerDesc)

NRI_STRUCT(AttachmentsDesc)
{
const NRI_NAME(Descriptor)* depthStencil;
NRI_OPTIONAL const NRI_NAME(Descriptor)* depthStencil;
const NRI_NAME(Descriptor)* const* colors;
uint32_t colorNum;
};
Expand Down Expand Up @@ -1057,7 +1057,7 @@ NRI_STRUCT(ShaderDesc)
NRI_NAME(StageBits) stage;
const void* bytecode;
uint64_t size;
const char* entryPointName;
NRI_OPTIONAL const char* entryPointName;
};

NRI_STRUCT(GraphicsPipelineDesc)
Expand Down Expand Up @@ -1156,8 +1156,8 @@ NRI_STRUCT(TextureBarrierDesc)
NRI_NAME(AccessLayoutStage) after;
NRI_NAME(Mip_t) mipOffset;
NRI_NAME(Mip_t) mipNum;
NRI_NAME(Dim_t) arrayOffset;
NRI_NAME(Dim_t) arraySize;
NRI_NAME(Dim_t) layerOffset;
NRI_NAME(Dim_t) layerNum;
};

NRI_STRUCT(BarrierGroupDesc)
Expand Down Expand Up @@ -1187,7 +1187,7 @@ NRI_STRUCT(TextureRegionDesc)
NRI_NAME(Dim_t) height;
NRI_NAME(Dim_t) depth;
NRI_NAME(Mip_t) mipOffset;
NRI_NAME(Dim_t) arrayOffset;
NRI_NAME(Dim_t) layerOffset;
};

NRI_STRUCT(TextureDataLayoutDesc)
Expand Down Expand Up @@ -1458,7 +1458,7 @@ NRI_STRUCT(DeviceDesc)
NRI_NAME(Dim_t) texture1DMaxDim;
NRI_NAME(Dim_t) texture2DMaxDim;
NRI_NAME(Dim_t) texture3DMaxDim;
NRI_NAME(Dim_t) textureArrayMaxDim;
NRI_NAME(Dim_t) textureArrayMaxLayerNum;
uint32_t texelBufferMaxDim;

// Memory
Expand Down
2 changes: 1 addition & 1 deletion Resources/Version.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#define STR(x) STR_HELPER(x)

#define VERSION_MAJOR 1
#define VERSION_MINOR 141
#define VERSION_MINOR 142
#define VERSION_BUILD 0
#define VERSION_REVISION 0

Expand Down
2 changes: 1 addition & 1 deletion Source/D3D11/BufferD3D11.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ TextureD3D11& BufferD3D11::RecreateReadbackTexture(const TextureD3D11& srcTextur
TextureDesc textureDesc = {};
textureDesc.mipNum = 1;
textureDesc.sampleNum = 1;
textureDesc.arraySize = 1;
textureDesc.layerNum = 1;
textureDesc.format = srcTexture.GetDesc().format;
textureDesc.width = srcRegionDesc.width;
textureDesc.height = srcRegionDesc.height;
Expand Down
3 changes: 2 additions & 1 deletion Source/D3D11/BufferD3D11.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ struct QueryRange {
};

struct BufferD3D11 {
inline BufferD3D11(DeviceD3D11& device) : m_Device(device) {
inline BufferD3D11(DeviceD3D11& device)
: m_Device(device) {
}

inline operator ID3D11Buffer*() const {
Expand Down
3 changes: 2 additions & 1 deletion Source/D3D11/CommandAllocatorD3D11.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ namespace nri {
struct DeviceD3D11;

struct CommandAllocatorD3D11 {
inline CommandAllocatorD3D11(DeviceD3D11& device) : m_Device(device) {
inline CommandAllocatorD3D11(DeviceD3D11& device)
: m_Device(device) {
}

inline ~CommandAllocatorD3D11() {
Expand Down
Loading

0 comments on commit f301196

Please sign in to comment.