We currently use the same transform feedback buffer bindings for all objects,
but according to the ES 3.0.4 spec, a new transform feedback object " is a new
state vector, comprising all the state and with the same initial values listed
in table 6.24." This state table includes the indexed buffer binding points for
XFB objects, as well as the generic transform feedback buffer binding. This is
spelled out more explicitly on the OpenGL wiki
(https://www.opengl.org/wiki/Transform_Feedback) and in the specification for
ARB_transform_feedback2
(https://www.opengl.org/registry/specs/ARB/transform_feedback2.txt), which
introduced transform feedback objects to the GL ecosystem.
Also to be considered during this fix-- while the ES 3.0 core spec does not
explicitly address whether a single buffer can be bound to multiple XFB
objects, saying only "Buffers should not be bound or in use for both transform
feedback and other purposes in the GL. Specifically, if a buffer object is
simultaneously bound to a transform feedback buffer binding point and elsewhere
in the GL, any writes to or reads from the buffer generate undefined values,"
it is more explicitly stated in the issue list for ARB_transform_feedback2 that
the specification language intends binding a single buffer object to multiple
XFB objects to be allowable (see issue 14 of the extension spec, linked above).
No language to contradict this was introduced in the ES 3.0 spec, so we can
assume that the same intention holds.
Original issue reported on code.google.com by shannonw...@chromium.org on 29 Sep 2014 at 10:43
Original issue reported on code.google.com by
shannonw...@chromium.org
on 29 Sep 2014 at 10:43