UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TextureStreamOut.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4TextureStreamOut.h: Implement a generic texture stream out strategy.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "RenderAssetUpdate.h"
11#include "TextureMipAllocator.h"
12
13class UTexture;
14
18class FTextureStreamOut : public TRenderAssetUpdate<FTextureUpdateContext>
19{
20public:
21
24
25 // Route FTextureMipAllocator::AllocateMips()
26 void AllocateNewMips(const FContext& Context);
27
28 // Route FTextureMipAllocator::UploadMips()
29 void UploadNewMips(const FContext& Context);
30
31 // Route FTextureMipAllocator::FinalizeMips()
32 void FinalizeNewMips(const FContext& Context);
33
34 // Execute the cancellation for both MipAllocator.
35 void Cancel(const FContext& Context);
36
37protected:
38
40
42
43 // The actual implementation of the update steps which redirect to FTextureMipAllocator and FTextureMipDataProvider.
45 bool DoUploadNewMips(const FContext& Context);
47
49
51
52private:
53
54 // Whether FTextureMipAllocator::ETickThread is the same thread as EThreadType (as int32).
56};
57
#define FORCEINLINE
Definition AndroidPlatform.h:140
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
EThreadType
Definition RenderAssetUpdate.h:43
Definition TextureMipAllocator.h:19
ETickState
Definition TextureMipAllocator.h:23
ETickThread
Definition TextureMipAllocator.h:30
Definition TextureStreamOut.h:19
bool DoFinalizeNewMips(const FContext &Context)
Definition TextureStreamOut.cpp:115
FTextureUpdateSyncOptions SyncOptions
Definition TextureStreamOut.h:41
void FinalizeNewMips(const FContext &Context)
Definition TextureStreamOut.cpp:189
EThreadType GetCancelThread() const
Definition TextureStreamOut.cpp:80
bool DoUploadNewMips(const FContext &Context)
Definition TextureStreamOut.cpp:109
EThreadType GetMipAllocatorThread(FTextureMipAllocator::ETickState TickState) const
Definition TextureStreamOut.cpp:62
TUniquePtr< FTextureMipAllocator > MipAllocator
Definition TextureStreamOut.h:39
void UploadNewMips(const FContext &Context)
Definition TextureStreamOut.cpp:160
~FTextureStreamOut()
Definition TextureStreamOut.cpp:58
bool DoAllocateNewMips(const FContext &Context)
Definition TextureStreamOut.cpp:102
void AllocateNewMips(const FContext &Context)
Definition TextureStreamOut.cpp:125
Definition RenderAssetUpdate.h:243
EThreadType TaskThread
Definition RenderAssetUpdate.h:272
Definition UniquePtr.h:107
Definition Texture.h:1219
Definition TextureMipDataProvider.h:65
Definition TextureMipDataProvider.h:48