Khronos public bugtracker – Bug 1082
10.3.10 and 10.5 Draw*Indirect inconsistently described
Last modified: 2018-04-25 11:19:12 PDT
As by the errors generated by, say, DrawArraysIndirect, Draw*Indirect always takes its values from the INDIRECT buffer. Yet, 10.3.10 says only that the data "may" be specified in the buffer (suggesting there is an alternative) and the code snippets explaining Draw*Indirect in terms of Draw* (e.g. the code snippet following DrawArraysIndirect) even cleary illustrate how the data were taken from client memory (but they are obviously not).
We'll check if this is still true, and if so, if a core spec-specific change from "may" to "will" is the appropriate answer.
So the issue is because "may" is true in the compatibility profile, where
DRAW_INDIRECT_BUFFER can be bound to zero indicating commands source from
client memory instead of the buffer object. I will tweak the language to
use "may" only in that profile.
I don't think we're going to revise the pseudocode example at this point,
although the implicit non-indirectness is indeed an issue.