UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
D3D11ConstantBuffer.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4 D3D11ConstantBuffer.h: Public D3D Constant Buffer definitions.
5=============================================================================*/
6
7#pragma once
8
9#include "RenderResource.h"
10#include "Stats/Stats.h"
11
13
18#define MAX_GLOBAL_CONSTANT_BUFFER_BYTE_SIZE (16*4096)
19#define MIN_GLOBAL_CONSTANT_BUFFER_BYTE_SIZE 128
20
21// !!! These offsets must match the cbuffer register definitions in Common.usf !!!
28
33{
34public:
35 // New circular buffer system for faster constant uploads. Avoids CopyResource and speeds things up considerably
37 virtual ~FD3D11ConstantBuffer();
38
39 // FRenderResource interface.
40 virtual void InitRHI(FRHICommandListBase& RHICmdList) override;
41 virtual void ReleaseRHI() override;
42
43 static inline constexpr uint32 GetMaxSize() { return (uint32)Align(MAX_GLOBAL_CONSTANT_BUFFER_BYTE_SIZE, 16); }
44
52 {
53 // Check that the data we are shadowing fits in the allocated shadow data
57 }
58
59protected:
61 uint8* ShadowData = nullptr;
62
65};
66
68
constexpr T Align(T Val, uint64 Alignment)
Definition AlignmentTemplates.h:18
#define check(expr)
Definition AssertionMacros.h:314
#define TEXT(x)
Definition Platform.h:1272
#define DECLARE_CYCLE_STAT_EXTERN(CounterName, StatId, GroupId, API)
Definition Stats.h:679
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ED3D11ShaderOffsetBuffer
Definition D3D11ConstantBuffer.h:23
@ GLOBAL_CONSTANT_BUFFER_INDEX
Definition D3D11ConstantBuffer.h:25
@ MAX_CONSTANT_BUFFER_SLOTS
Definition D3D11ConstantBuffer.h:26
#define MAX_GLOBAL_CONSTANT_BUFFER_BYTE_SIZE
Definition D3D11ConstantBuffer.h:18
uint32 Offset
Definition VulkanMemory.cpp:4033
uint8_t uint8
Definition binka_ue_file_header.h:8
uint16_t uint16
Definition binka_ue_file_header.h:7
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition D3D11ConstantBuffer.h:33
void UpdateConstant(const uint8 *Data, uint16 Offset, uint16 InSize)
Definition D3D11ConstantBuffer.h:51
virtual ~FD3D11ConstantBuffer()
Definition D3D11ConstantBuffer.cpp:17
uint32 CurrentUpdateSize
Definition D3D11ConstantBuffer.h:64
FD3D11DynamicRHI * D3DRHI
Definition D3D11ConstantBuffer.h:60
virtual void InitRHI(FRHICommandListBase &RHICmdList) override
Definition D3D11ConstantBuffer.cpp:25
virtual void ReleaseRHI() override
Definition D3D11ConstantBuffer.cpp:33
static constexpr uint32 GetMaxSize()
Definition D3D11ConstantBuffer.h:43
uint8 * ShadowData
Definition D3D11ConstantBuffer.h:61
Definition D3D11RHIPrivate.h:366
Definition RHICommandList.h:455
Definition RefCounting.h:252
Definition RenderResource.h:37
static UE_FORCEINLINE_HINT void * Memcpy(void *Dest, const void *Src, SIZE_T Count)
Definition UnrealMemory.h:160