I had cherry-picked the following commits into our 5.6.1 branch in the hopes that this makes async compute safe to use in 5.6:
https://github.com/EpicGames/UnrealEngine/commit/ab1083e4d04765e4daf32c68f807d10b7cec23ad
https://github.com/EpicGames/UnrealEngine/commit/e23bf8c26bb2ae9dc5240fa1c001a71b35ac34ae
I’m crashing on a resource transition issue. When I run with “-RHIValidation -d3ddebug -norhithread -forcerhibypass” I get the following error:
RHI validation failed for resource: “TextureRenderTarget2D_0” (0x000001F452EA9A40) (Whole Resource):
--------------------------------------------------------------------
RHI Resource Transition Validation Error
--------------------------------------------------------------------
Attempted to access resource “TextureRenderTarget2D_0” (0x000001F452EA9A40) (Whole Resource) from a hardware unit it is not currently accessible from. A resource transition is required.
--- Allowed access states for this resource are: SRVCompute|SRVGraphicsPixel|SRVGraphicsNonPixel
--- Required access states are: SRVCompute
--- Allowed pipelines for this resource are: Graphics
--- Required pipelines are: AsyncCompute
--------------------------------------------------------------------
Interestingly, when I add -rdgimmediate the problem goes away. This makes me wonder if the RDG pass itself is missing some kind of markup that is necessary to enumerate transitions on this resource properly.
[Attachment Removed]