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.
(originally filed at https://github.com/EmbarkStudios/rust-gpu/issues/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:Another:
When you don't declare an entrypoint pub you get: