UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Texture2DStreamIn_IO.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3/*=============================================================================
4Texture2DStreamIn.h: Stream in helper for 2D textures using texture streaming files.
5=============================================================================*/
6
7#pragma once
8
9#include "CoreMinimal.h"
10#include "Texture2DStreamIn.h"
11
13
14// Base StreamIn framework exposing MipData
16{
17public:
18
21
22protected:
23
24 // ****************************
25 // ********* Helpers **********
26 // ****************************
27
28 // Set the IO requests for streaming the mips.
29 void SetIORequests(const FContext& Context);
30 // Cancel / destroy each requests created in SetIORequests()
31 void ClearIORequests(const FContext& Context);
32 // Report IO errors if any.
33 void ReportIOError(const FContext& Context);
34 // Set the IO callback used for streaming the mips.
36 // Cancel all IO requests.
37 void CancelIORequests();
38
39 // Start an async task to cancel pending IO requests.
40 void Abort() override;
41
42 bool CanAbandon() const override;
43
44private:
45
46 class FCancelIORequestsTask : public FNonAbandonableTask
47 {
48 public:
49 FCancelIORequestsTask(FTexture2DStreamIn_IO* InPendingUpdate) : PendingUpdate(InPendingUpdate) {}
50 void DoWork();
51 FORCEINLINE TStatId GetStatId() const
52 {
54 }
55 protected:
57 };
58
59 typedef FAutoDeleteAsyncTask<FCancelIORequestsTask> FAsyncCancelIORequestsTask;
61
62 // Whether an IO error was detected (when files do not exists).
63 bool bFailedOnIOError = false;
64
65 // Whether the IO request should be created with an higher priority for quicker response time.
66 bool bPrioritizedIORequest = false;
67
68 // I/O request handle
69 FBulkDataBatchRequest BatchRequest;
70};
71
#define FORCEINLINE
Definition AndroidPlatform.h:140
#define RETURN_QUICK_DECLARE_CYCLE_STAT(StatId, GroupId)
Definition Stats.h:655
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition AsyncWork.h:63
Definition BulkData.h:1295
Definition BulkData.h:1194
Definition AsyncWork.h:663
Definition Texture2DStreamIn_IO.h:16
void CancelIORequests()
Definition Texture2DStreamIn_IO.cpp:164
void ReportIOError(const FContext &Context)
Definition Texture2DStreamIn_IO.cpp:177
void SetIORequests(const FContext &Context)
Definition Texture2DStreamIn_IO.cpp:62
bool CanAbandon() const override
Definition Texture2DStreamIn_IO.cpp:207
friend class FCancelIORequestsTask
Definition Texture2DStreamIn_IO.h:60
void ClearIORequests(const FContext &Context)
Definition Texture2DStreamIn_IO.cpp:172
void Abort() override
Definition Texture2DStreamIn_IO.cpp:192
~FTexture2DStreamIn_IO()
Definition Texture2DStreamIn_IO.cpp:41
void SetAsyncFileCallback()
Definition Texture2DStreamIn_IO.h:35
Definition Texture2DStreamIn.h:14
Definition RefCounting.h:454
Definition Texture2D.h:26
Definition Texture2DUpdate.h:23
Definition LightweightStats.h:416