Browse Source

GL: the unused member function warnings were useful, actually!

Because I had a stupid bug in the test and wasn't testing all of them.
And then the function itself had a bug that made it no-op exactly when
it shouldn't be a no-op.
next
Vladimír Vondruš 2 months ago
parent
commit
6dbd48559b
  1. 2
      src/Magnum/GL/AbstractShaderProgram.cpp
  2. 10
      src/Magnum/GL/Test/AbstractShaderProgramGLTest.cpp

2
src/Magnum/GL/AbstractShaderProgram.cpp

@ -524,7 +524,7 @@ AbstractShaderProgram& AbstractShaderProgram::drawTransformFeedback(Mesh& mesh,
AbstractShaderProgram& AbstractShaderProgram::drawTransformFeedback(MeshView& mesh, TransformFeedback& xfb, UnsignedInt stream) {
/* If nothing to draw, exit without touching any state */
if(mesh._instanceCount)
if(!mesh._instanceCount)
return *this;
use();

10
src/Magnum/GL/Test/AbstractShaderProgramGLTest.cpp

@ -1319,11 +1319,6 @@ void AbstractShaderProgramGLTest::compute() {
/* These are outside of any namespace to verify the macros fully qualify all
names */
namespace {
/* Yes, Clang, I know, the macros add unused members. That's fine. */
#ifdef CORRADE_TARGET_CLANG
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-member-function"
#endif
struct ShaderSubclassDraw: Magnum::GL::AbstractShaderProgram {
MAGNUM_GL_ABSTRACTSHADERPROGRAM_SUBCLASS_DRAW_IMPLEMENTATION(ShaderSubclassDraw)
};
@ -1332,9 +1327,6 @@ namespace {
MAGNUM_GL_ABSTRACTSHADERPROGRAM_SUBCLASS_DISPATCH_IMPLEMENTATION(ShaderSubclassDispatch)
};
#endif
#ifdef CORRADE_TARGET_CLANG
#pragma GCC diagnostic pop
#endif
}
namespace Magnum { namespace GL { namespace Test { namespace {
@ -1350,7 +1342,7 @@ void AbstractShaderProgramGLTest::subclassDraw() {
Mesh meshNoInstances;
meshNoInstances
.setInstanceCount(0);
Mesh meshViewNoInstances;
MeshView meshViewNoInstances{mesh};
meshViewNoInstances
.setInstanceCount(0);
#ifndef MAGNUM_TARGET_GLES

Loading…
Cancel
Save