AyoubKhammassi/CustomComputeShaders

4.26: Error: illegal indirection; Solution: Remove deference

Closed this issue · 3 comments

FComputeShaderUtils::Dispatch(RHICmdList, *whiteNoiseCS, PassParameters,

Removing * from *whiteNoiseCS solved the issue for me.

4.26 has a signature for FComputeShaderUtils::Dispatch that doesn't require a deference:

static void Dispatch(FRHIComputeCommandList& RHICmdList, const TShaderRef<TShaderClass>& ComputeShader,

Disclaimer: I'm using a custom 4.26 build. Haven't checked the official build.

Bunch of things changed from 4.24 (The version I used for this project) and 4.26, including the signature for that method. They usually comment the changes so you can fix issues when migrating to a newer version of the engine, but sometimes you'll be on your own and have to find the changes by yourself in the engine code.

In 4.24, this is the signature;
static void Dispatch(FRHICommandList& RHICmdList, const TShaderClass* ComputeShader,

Forgot to say thanks for the tutorials. You've cleared a path through the jungle of Unreal with your machete, helping people pursue the golden situation: direct access to their own data, while still benefiting from Unreal's features.

You are most welcome! I'm really glad that you found them helpful.