Browse Source

Refactored Buffer internals to follow GL naming conventions.

Similar reasoning as in 4a9b0b36ec.
pull/278/head
Vladimír Vondruš 13 years ago
parent
commit
ca38c015f0
  1. 16
      src/Buffer.cpp
  2. 20
      src/Buffer.h

16
src/Buffer.cpp

@ -36,8 +36,8 @@ namespace Magnum {
#ifndef MAGNUM_TARGET_GLES2 #ifndef MAGNUM_TARGET_GLES2
Buffer::CopyImplementation Buffer::copyImplementation = &Buffer::copyImplementationDefault; Buffer::CopyImplementation Buffer::copyImplementation = &Buffer::copyImplementationDefault;
#endif #endif
Buffer::SetDataImplementation Buffer::setDataImplementation = &Buffer::setDataImplementationDefault; Buffer::DataImplementation Buffer::dataImplementation = &Buffer::dataImplementationDefault;
Buffer::SetSubDataImplementation Buffer::setSubDataImplementation = &Buffer::setSubDataImplementationDefault; Buffer::SubDataImplementation Buffer::subDataImplementation = &Buffer::subDataImplementationDefault;
Buffer::InvalidateImplementation Buffer::invalidateImplementation = &Buffer::invalidateImplementationNoOp; Buffer::InvalidateImplementation Buffer::invalidateImplementation = &Buffer::invalidateImplementationNoOp;
Buffer::InvalidateSubImplementation Buffer::invalidateSubImplementation = &Buffer::invalidateSubImplementationNoOp; Buffer::InvalidateSubImplementation Buffer::invalidateSubImplementation = &Buffer::invalidateSubImplementationNoOp;
#ifndef MAGNUM_TARGET_GLES3 #ifndef MAGNUM_TARGET_GLES3
@ -53,8 +53,8 @@ void Buffer::initializeContextBasedFunctionality(Context* context) {
Debug() << "Buffer: using" << Extensions::GL::EXT::direct_state_access::string() << "features"; Debug() << "Buffer: using" << Extensions::GL::EXT::direct_state_access::string() << "features";
copyImplementation = &Buffer::copyImplementationDSA; copyImplementation = &Buffer::copyImplementationDSA;
setDataImplementation = &Buffer::setDataImplementationDSA; dataImplementation = &Buffer::dataImplementationDSA;
setSubDataImplementation = &Buffer::setSubDataImplementationDSA; subDataImplementation = &Buffer::subDataImplementationDSA;
mapImplementation = &Buffer::mapImplementationDSA; mapImplementation = &Buffer::mapImplementationDSA;
mapRangeImplementation = &Buffer::mapRangeImplementationDSA; mapRangeImplementation = &Buffer::mapRangeImplementationDSA;
flushMappedRangeImplementation = &Buffer::flushMappedRangeImplementationDSA; flushMappedRangeImplementation = &Buffer::flushMappedRangeImplementationDSA;
@ -123,22 +123,22 @@ void Buffer::copyImplementationDSA(Buffer* read, Buffer* write, GLintptr readOff
#endif #endif
#endif #endif
void Buffer::setDataImplementationDefault(GLsizeiptr size, const GLvoid* data, Buffer::Usage usage) { void Buffer::dataImplementationDefault(GLsizeiptr size, const GLvoid* data, Buffer::Usage usage) {
glBufferData(static_cast<GLenum>(bindInternal(_targetHint)), size, data, static_cast<GLenum>(usage)); glBufferData(static_cast<GLenum>(bindInternal(_targetHint)), size, data, static_cast<GLenum>(usage));
} }
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
void Buffer::setDataImplementationDSA(GLsizeiptr size, const GLvoid* data, Buffer::Usage usage) { void Buffer::dataImplementationDSA(GLsizeiptr size, const GLvoid* data, Buffer::Usage usage) {
glNamedBufferDataEXT(_id, size, data, static_cast<GLenum>(usage)); glNamedBufferDataEXT(_id, size, data, static_cast<GLenum>(usage));
} }
#endif #endif
void Buffer::setSubDataImplementationDefault(GLintptr offset, GLsizeiptr size, const GLvoid* data) { void Buffer::subDataImplementationDefault(GLintptr offset, GLsizeiptr size, const GLvoid* data) {
glBufferSubData(static_cast<GLenum>(bindInternal(_targetHint)), offset, size, data); glBufferSubData(static_cast<GLenum>(bindInternal(_targetHint)), offset, size, data);
} }
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
void Buffer::setSubDataImplementationDSA(GLintptr offset, GLsizeiptr size, const GLvoid* data) { void Buffer::subDataImplementationDSA(GLintptr offset, GLsizeiptr size, const GLvoid* data) {
glNamedBufferSubDataEXT(_id, offset, size, data); glNamedBufferSubDataEXT(_id, offset, size, data);
} }
#endif #endif

20
src/Buffer.h

@ -533,7 +533,7 @@ class MAGNUM_EXPORT Buffer {
* @fn_gl_extension{NamedBufferData,EXT,direct_state_access} * @fn_gl_extension{NamedBufferData,EXT,direct_state_access}
*/ */
inline Buffer* setData(GLsizeiptr size, const GLvoid* data, Usage usage) { inline Buffer* setData(GLsizeiptr size, const GLvoid* data, Usage usage) {
(this->*setDataImplementation)(size, data, usage); (this->*dataImplementation)(size, data, usage);
return this; return this;
} }
@ -582,7 +582,7 @@ class MAGNUM_EXPORT Buffer {
* or @fn_gl_extension{NamedBufferSubData,EXT,direct_state_access} * or @fn_gl_extension{NamedBufferSubData,EXT,direct_state_access}
*/ */
inline Buffer* setSubData(GLintptr offset, GLsizeiptr size, const GLvoid* data) { inline Buffer* setSubData(GLintptr offset, GLsizeiptr size, const GLvoid* data) {
(this->*setSubDataImplementation)(offset, size, data); (this->*subDataImplementation)(offset, size, data);
return this; return this;
} }
@ -746,19 +746,19 @@ class MAGNUM_EXPORT Buffer {
static CopyImplementation copyImplementation; static CopyImplementation copyImplementation;
#endif #endif
typedef void(Buffer::*SetDataImplementation)(GLsizeiptr, const GLvoid*, Usage); typedef void(Buffer::*DataImplementation)(GLsizeiptr, const GLvoid*, Usage);
void MAGNUM_LOCAL setDataImplementationDefault(GLsizeiptr size, const GLvoid* data, Usage usage); void MAGNUM_LOCAL dataImplementationDefault(GLsizeiptr size, const GLvoid* data, Usage usage);
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
void MAGNUM_LOCAL setDataImplementationDSA(GLsizeiptr size, const GLvoid* data, Usage usage); void MAGNUM_LOCAL dataImplementationDSA(GLsizeiptr size, const GLvoid* data, Usage usage);
#endif #endif
static SetDataImplementation setDataImplementation; static DataImplementation dataImplementation;
typedef void(Buffer::*SetSubDataImplementation)(GLintptr, GLsizeiptr, const GLvoid*); typedef void(Buffer::*SubDataImplementation)(GLintptr, GLsizeiptr, const GLvoid*);
void MAGNUM_LOCAL setSubDataImplementationDefault(GLintptr offset, GLsizeiptr size, const GLvoid* data); void MAGNUM_LOCAL subDataImplementationDefault(GLintptr offset, GLsizeiptr size, const GLvoid* data);
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES
void MAGNUM_LOCAL setSubDataImplementationDSA(GLintptr offset, GLsizeiptr size, const GLvoid* data); void MAGNUM_LOCAL subDataImplementationDSA(GLintptr offset, GLsizeiptr size, const GLvoid* data);
#endif #endif
static SetSubDataImplementation setSubDataImplementation; static SubDataImplementation subDataImplementation;
typedef void(Buffer::*InvalidateImplementation)(); typedef void(Buffer::*InvalidateImplementation)();
void MAGNUM_LOCAL invalidateImplementationNoOp(); void MAGNUM_LOCAL invalidateImplementationNoOp();

Loading…
Cancel
Save