I post this here because this seems to be an issue with Reshade itself.
My
UIDetect shader
doesn't seem to work correctly with dx12 games.
(I apologize beforehand for not offering a better, stripped down example shader for this issue, since I don't use windows10 and thus can't test this myself.)
Discussing the problem in this
thread
I accidently discovered a "fix" that I can't understand at all. The shader works as intended only if I add an arbitrary pass in the UIDetect technique like this:
technique UIDetect
{
//arbitrary pass
pass {
VertexShader = PostProcessVS;
PixelShader = PS_Test;
RenderTarget = texTest;
}
pass {
VertexShader = PostProcessVS;
PixelShader = PS_UIDetect;
RenderTarget = texUIDetect;
}
}
It doesn't matter what PS_Test actually does (in my case I just write to some arbitrary texture that isn't used in the rest of the shader). Just the existence of this pass "solves" the problem.
What's wrong here?