MCPcopy Create free account
hub / github.com/FlaxEngine/FlaxEngine / LogInvalidResourceUsage

Method LogInvalidResourceUsage

Source/Engine/Graphics/GPUContext.cpp:18–59  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16#include "Engine/Core/Log.h"
17
18void GPUContext::LogInvalidResourceUsage(int32 slot, const GPUResourceView* view, InvalidBindPoint bindPoint)
19{
20 GPUResource* resource = view ? view->GetParent() : nullptr;
21 const Char* resourceType = TEXT("resource");
22 const Char* flagType = TEXT("flags");
23 StringView resourceName;
24 if (resource)
25 {
26 switch (resource->GetResourceType())
27 {
28 case GPUResourceType::RenderTarget:
29 case GPUResourceType::Texture:
30 case GPUResourceType::CubeTexture:
31 case GPUResourceType::VolumeTexture:
32 resourceType = TEXT("texture");
33 flagType = TEXT("GPUTextureFlags");
34 break;
35 case GPUResourceType::Buffer:
36 resourceType = TEXT("buffer");
37 flagType = TEXT("GPUBufferFlags");
38 break;
39 }
40 resourceName = resource->GetName();
41 }
42 const Char* usage = TEXT("-");
43 switch (bindPoint)
44 {
45 case InvalidBindPoint::SRV:
46 usage = TEXT("shader resource");
47 break;
48 case InvalidBindPoint::UAV:
49 usage = TEXT("unordered access");
50 break;
51 case InvalidBindPoint::DSV:
52 usage = TEXT("depth stencil");
53 break;
54 case InvalidBindPoint::RTV:
55 usage = TEXT("render target");
56 break;
57 }
58 LOG(Error, "Incorrect {} '{}' bind at slot {} as {} (ensure to setup correct {} when creating that resource)", resourceType, resourceName, slot, usage, flagType);
59}
60
61#endif
62

Callers

nothing calls this directly

Calls 3

GetParentMethod · 0.45
GetResourceTypeMethod · 0.45
GetNameMethod · 0.45

Tested by

no test coverage detected