Open
Description
(originally filed at EmbarkStudios/rust-gpu#1139)
Currently the rust-gpu
error messages are super obtuse and require understanding of both graphics programming and the underlying apis like vulkan. They are not written for humans to understand and while useful don't meet the high bar that rustc has set. For example, this is the error message when you use a built-in variable that is only valid for vertex shaders in a fragment shader:
error: error:0:0 - [VUID-Position-Position-04318] Vulkan spec allows BuiltIn Position to be used only with Vertex, TessellationControl, TessellationEvaluation or Geometry execution models. ID <15> (OpLoad) is referencing ID <2> (OpVariable) which is decorated with BuiltIn Position in function <1> called with execution model Fragment.
%15 = OpLoad %v4float %frag_coord
Another:
When you don't declare an entrypoint pub you get:
error: error:0:0 - No OpEntryPoint instruction was found. This is only allowed if the Linkage capability is being used.