When a shader fails to compile, the driver normally gives errors that include line numbers.
As the shader is data driven, via the code generation, it is impossible/really-hard to figure out which code the line numbers relate to.
This is worse if the code being referred to is part of the injected code, as it is not always easy to work out what code that happens to be.
Outputting the whole shader submitted to the driver when there is an error would fix this.
When a shader fails to compile, the driver normally gives errors that include line numbers.
As the shader is data driven, via the code generation, it is impossible/really-hard to figure out which code the line numbers relate to.
This is worse if the code being referred to is part of the injected code, as it is not always easy to work out what code that happens to be.
Outputting the whole shader submitted to the driver when there is an error would fix this.