The Decal layer texture that is written during the prepass and used during dbuffer pass has the same format as the gbuffer 4 used for light layers during gbuffer pass
In theory rendergraph should reuse the texture but there are two issues:
currently decal texture is bound as global and we actually use it during forward opaque if there are decal affecting emissive. Rendergraph is not aware of that which is bad
decal texture needs enableRandomReadWrite flag, so rendergraph sees a different descriptor than gbuffer4 and doesn't reuse the texture
Proposed fixes:
DecalSystem should say if there are decals affecting emissive so we can tell rendergraph we use the texture during forward
if we don't use it, we should reuse the decal texture for gbuffer, either by doing it manually or by requesting a texture with enableRandomReadWrite so that rendergraph gives us the decal texture (not a good solution i thinkà
Prioritise and Follow this issue
Have a workaround or additional info about this issue?