Browse Source

GL: clarify an assert.

"Cannot draw multiple instanced meshes." is no better than "SOMETHING
WENT WRONG PLEASE SHRED YOUR APPLE DEVICE."
pull/537/head
Vladimír Vondruš 5 years ago
parent
commit
ae0aa306c6
  1. 4
      src/Magnum/GL/MeshView.cpp
  2. 2
      src/Magnum/GL/Test/MeshGLTest.cpp

4
src/Magnum/GL/MeshView.cpp

@ -99,7 +99,7 @@ void MeshView::multiDrawImplementationDefault(Containers::ArrayView<const Contai
bool hasBaseVertex = false;
std::size_t i = 0;
for(MeshView& mesh: meshes) {
CORRADE_ASSERT(mesh._instanceCount == 1, "GL::AbstractShaderProgram::draw(): cannot draw multiple instanced meshes", );
CORRADE_ASSERT(mesh._instanceCount == 1, "GL::AbstractShaderProgram::draw(): cannot multi-draw instanced meshes", );
count[i] = mesh._count;
indices[i] = reinterpret_cast<GLvoid*>(mesh._indexOffset);
@ -156,7 +156,7 @@ void MeshView::multiDrawImplementationFallback(Containers::ArrayView<const Conta
/* Nothing to draw in this mesh */
if(!mesh._count) continue;
CORRADE_ASSERT(mesh._instanceCount == 1, "GL::AbstractShaderProgram::draw(): cannot draw multiple instanced meshes", );
CORRADE_ASSERT(mesh._instanceCount == 1, "GL::AbstractShaderProgram::draw(): cannot multi-draw instanced meshes", );
#ifndef MAGNUM_TARGET_GLES2
mesh._original.get().drawInternal(mesh._count, mesh._baseVertex, 1, mesh._baseInstance, mesh._indexOffset, mesh._indexStart, mesh._indexEnd);

2
src/Magnum/GL/Test/MeshGLTest.cpp

@ -3715,7 +3715,7 @@ void MeshGLTest::multiDrawInstanced() {
std::ostringstream out;
Error redirectError{&out};
MultiDrawShader{}.draw({view, view});
CORRADE_COMPARE(out.str(), "GL::AbstractShaderProgram::draw(): cannot draw multiple instanced meshes\n");
CORRADE_COMPARE(out.str(), "GL::AbstractShaderProgram::draw(): cannot multi-draw instanced meshes\n");
}
void MeshGLTest::multiDrawDifferentMeshes() {

Loading…
Cancel
Save