// // Copyright 2002 The ANGLE Project Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. //
// Buffer.h: Defines the gl::Buffer class, representing storage of vertex and/or // index data. Implements GL buffer objects and related functionality. // [OpenGL ES 2.0.24] section 2.9 page 21.
class Buffer final : public RefCountObject<BufferID>, public LabeledObject, public angle::ObserverInterface, public angle::Subject
{ public:
Buffer(rx::GLImplFactory *factory, BufferID id);
~Buffer() override; void onDestroy(const Context *context) override;
// Note: we pass "isWebGL" to this function to clarify it's only valid if WebGL is enabled. // We pass the boolean flag instead of the pointer because this header can't read Context.h.
ANGLE_INLINE bool hasWebGLXFBBindingConflict(bool isWebGL) const
{ if (!isWebGL)
{ returnfalse;
}
// The transform feedback generic binding point is not an indexed binding point but it also // does not count as a non-transform-feedback use of the buffer, so we subtract it from the // binding count when checking if the buffer is bound to a non-transform-feedback location. // See https://crbug.com/853978 return mState.mTransformFeedbackIndexedBindingCount > 0 &&
mState.mTransformFeedbackIndexedBindingCount !=
mState.mBindingCount - mState.mTransformFeedbackGenericBindingCount;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.