Browse Source

GL: Remove deprecated std::tuple functions in Buffer/TransformFeedback

pull/588/head
Hugo Amiard 4 years ago
parent
commit
c7a76a45fa
  1. 5
      doc/snippets/MagnumGL.cpp
  2. 14
      src/Magnum/GL/Buffer.cpp
  3. 10
      src/Magnum/GL/Buffer.h
  4. 5
      src/Magnum/GL/Test/BufferGLTest.cpp
  5. 5
      src/Magnum/GL/Test/TransformFeedbackGLTest.cpp
  6. 14
      src/Magnum/GL/TransformFeedback.cpp
  7. 10
      src/Magnum/GL/TransformFeedback.h

5
doc/snippets/MagnumGL.cpp

@ -196,10 +196,9 @@ MyShader& setTransformFeedback(GL::TransformFeedback& feedback, Int totalCount,
GL::Buffer& positions, GLintptr positionsOffset, GL::Buffer& data,
GLintptr dataOffset)
{
using BufferOffset = Containers::Triple<GL::Buffer*, GLintptr, GLsizeiptr>;
feedback.attachBuffers(0, {
BufferOffset{&positions, positionsOffset, (GLsizeiptr)totalCount*sizeof(Vector3)},
BufferOffset{&data, dataOffset, (GLsizeiptr)totalCount*sizeof(Vector2ui)}
{&positions, positionsOffset, GLsizeiptr(totalCount*sizeof(Vector3))},
{&data, dataOffset, GLsizeiptr(totalCount*sizeof(Vector2ui))}
});
return *this;
}

14
src/Magnum/GL/Buffer.cpp

@ -26,9 +26,6 @@
#include "Buffer.h"
#ifdef MAGNUM_BUILD_DEPRECATED
#include <tuple>
#endif
#include <Corrade/Containers/Array.h>
#include <Corrade/Containers/Triple.h>
#ifndef MAGNUM_TARGET_WEBGL
@ -162,17 +159,6 @@ void Buffer::bind(const Target target, const UnsignedInt firstIndex, std::initia
Context::current().state().buffer.bindRangesImplementation(target, firstIndex, {buffers.begin(), buffers.size()});
}
#ifdef MAGNUM_BUILD_DEPRECATED
void Buffer::bind(const Target target, const UnsignedInt firstIndex, std::initializer_list<std::tuple<Buffer*, GLintptr, GLsizeiptr>> buffers) {
Containers::Array<Containers::Triple<Buffer*, GLintptr, GLsizeiptr>> copy{NoInit, buffers.size()};
for(std::size_t i = 0, max = buffers.size(); i != max; ++i) {
const auto& t = *(buffers.begin() + i);
copy[i] = {std::get<0>(t), std::get<1>(t), std::get<2>(t)};
}
bind(target, firstIndex, copy);
}
#endif
void Buffer::bind(const Target target, const UnsignedInt firstIndex, Containers::ArrayView<Buffer* const> buffers) {
Context::current().state().buffer.bindBasesImplementation(target, firstIndex, {buffers.begin(), buffers.size()});
}

10
src/Magnum/GL/Buffer.h

@ -44,8 +44,6 @@
/* For label() / setLabel(), which used to be a std::string. Not ideal for the
return type, but at least something. */
#include <Corrade/Containers/StringStl.h>
/* For deprecated bind(..., std::initializer_list<std::tuple>) */
#include <Corrade/Utility/StlForwardTuple.h>
#endif
namespace Magnum { namespace GL {
@ -773,14 +771,6 @@ class MAGNUM_GL_EXPORT Buffer: public AbstractObject {
/** @overload */
static void bind(Target target, UnsignedInt firstIndex, std::initializer_list<Containers::Triple<Buffer*, GLintptr, GLsizeiptr>> buffers);
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @m_deprecated_since_latest Use @ref bind(Target, UnsignedInt, std::initializer_list<Containers::Triple<Buffer*, GLintptr, GLsizeiptr>>)
* instead.
*/
static CORRADE_DEPRECATED("use the Containers::Triple overload instead") void bind(Target target, UnsignedInt firstIndex, std::initializer_list<std::tuple<Buffer*, GLintptr, GLsizeiptr>> buffers);
#endif
/**
* @brief Bind buffers to given range of indexed targets
*

5
src/Magnum/GL/Test/BufferGLTest.cpp

@ -254,10 +254,9 @@ void BufferGLTest::bindRange() {
MAGNUM_VERIFY_NO_GL_ERROR();
using BufferOffset = Containers::Triple<Buffer*, GLintptr, GLsizeiptr>;
Buffer::bind(Buffer::Target::Uniform, 7, {
BufferOffset{&buffer, 256, 13}, {},
BufferOffset{&buffer, 768, 64}});
{&buffer, 256, 13}, {},
{&buffer, 768, 64}});
MAGNUM_VERIFY_NO_GL_ERROR();
}

5
src/Magnum/GL/Test/TransformFeedbackGLTest.cpp

@ -489,10 +489,9 @@ void TransformFeedbackGLTest::attachRanges() {
.setCount(2);
TransformFeedback feedback;
using BufferOffset = Containers::Triple<Buffer*, GLintptr, GLsizeiptr>;
feedback.attachBuffers(0, {
BufferOffset{&output1, 256, 2*sizeof(Vector2)},
BufferOffset{&output2, 512, 2*sizeof(Float)}
{&output1, 256, 2*sizeof(Vector2)},
{&output2, 512, 2*sizeof(Float)}
});
MAGNUM_VERIFY_NO_GL_ERROR();

14
src/Magnum/GL/TransformFeedback.cpp

@ -26,9 +26,6 @@
#include "TransformFeedback.h"
#ifndef MAGNUM_TARGET_GLES2
#ifdef MAGNUM_BUILD_DEPRECATED
#include <tuple>
#endif
#ifndef MAGNUM_TARGET_WEBGL
#include <Corrade/Containers/String.h>
#endif
@ -220,17 +217,6 @@ TransformFeedback& TransformFeedback::attachBuffers(const UnsignedInt firstIndex
return *this;
}
#ifdef MAGNUM_BUILD_DEPRECATED
TransformFeedback& TransformFeedback::attachBuffers(UnsignedInt firstIndex, std::initializer_list<std::tuple<Buffer*, GLintptr, GLsizeiptr>> buffers) {
Containers::Array<Containers::Triple<Buffer*, GLintptr, GLsizeiptr>> copy{NoInit, buffers.size()};
for(std::size_t i = 0, max = buffers.size(); i != max; ++i) {
const auto& t = *(buffers.begin() + i);
copy[i] = {std::get<0>(t), std::get<1>(t), std::get<2>(t)};
}
return attachBuffers(firstIndex, copy);
}
#endif
TransformFeedback& TransformFeedback::attachBuffers(const UnsignedInt firstIndex, Containers::ArrayView<Buffer* const> buffers) {
(this->*Context::current().state().transformFeedback.attachBasesImplementation)(firstIndex, buffers);
return *this;

10
src/Magnum/GL/TransformFeedback.h

@ -42,8 +42,6 @@
/* For label() / setLabel(), which used to be a std::string. Not ideal for the
return type, but at least something. */
#include <Corrade/Containers/StringStl.h>
/* For deprecated bind(..., std::initializer_list<std::tuple>) */
#include <Corrade/Utility/StlForwardTuple.h>
#endif
#ifndef MAGNUM_TARGET_GLES2
@ -347,14 +345,6 @@ class MAGNUM_GL_EXPORT TransformFeedback: public AbstractObject {
/** @overload */
TransformFeedback& attachBuffers(UnsignedInt firstIndex, std::initializer_list<Containers::Triple<Buffer*, GLintptr, GLsizeiptr>> buffers);
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @m_deprecated_since_latest Use @ref attachBuffers(UnsignedInt, std::initializer_list<Containers::Triple<Buffer*, GLintptr, GLsizeiptr>>)
* instead.
*/
CORRADE_DEPRECATED("use the Containers::Triple overload instead") TransformFeedback& attachBuffers(UnsignedInt firstIndex, std::initializer_list<std::tuple<Buffer*, GLintptr, GLsizeiptr>> buffers);
#endif
/**
* @brief Attach buffers
* @return Reference to self (for method chaining)

Loading…
Cancel
Save