From 57bf08b929e934418f06549967cf2cb03a940246 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 25 Oct 2014 21:02:55 +0200 Subject: [PATCH] Test: simplify Query tests. Don't use external resources for *two line* shaders, don't setup whole framebuffer pipeline just to use transform feedback. --- src/Magnum/Test/CMakeLists.txt | 16 +++-------- src/Magnum/Test/PrimitiveQueryGLTest.cpp | 27 ++++++------------- .../Test/QueryGLTestFiles/MyShader.frag | 3 --- .../Test/QueryGLTestFiles/MyShader.vert | 5 ---- .../Test/QueryGLTestFiles/resources.conf | 7 ----- src/Magnum/Test/SampleQueryGLTest.cpp | 13 ++++++--- 6 files changed, 20 insertions(+), 51 deletions(-) delete mode 100644 src/Magnum/Test/QueryGLTestFiles/MyShader.frag delete mode 100644 src/Magnum/Test/QueryGLTestFiles/MyShader.vert delete mode 100644 src/Magnum/Test/QueryGLTestFiles/resources.conf diff --git a/src/Magnum/Test/CMakeLists.txt b/src/Magnum/Test/CMakeLists.txt index c04344f3b..bdc108a93 100644 --- a/src/Magnum/Test/CMakeLists.txt +++ b/src/Magnum/Test/CMakeLists.txt @@ -51,6 +51,7 @@ if(BUILD_GL_TESTS) corrade_add_test(FramebufferGLTest FramebufferGLTest.cpp LIBRARIES ${GL_TEST_LIBRARIES}) corrade_add_test(MeshGLTest MeshGLTest.cpp LIBRARIES ${GL_TEST_LIBRARIES}) corrade_add_test(RenderbufferGLTest RenderbufferGLTest.cpp LIBRARIES ${GL_TEST_LIBRARIES}) + corrade_add_test(SampleQueryGLTest SampleQueryGLTest.cpp LIBRARIES ${GL_TEST_LIBRARIES}) corrade_add_test(TextureGLTest TextureGLTest.cpp LIBRARIES ${GL_TEST_LIBRARIES}) corrade_add_test(TimeQueryGLTest TimeQueryGLTest.cpp LIBRARIES ${GL_TEST_LIBRARIES}) @@ -60,18 +61,6 @@ if(BUILD_GL_TESTS) ${AbstractShaderProgramGLTest_RES} LIBRARIES ${GL_TEST_LIBRARIES}) - corrade_add_resource(QueryGLTest_RES QueryGLTestFiles/resources.conf) - if(NOT MAGNUM_TARGET_GLES2) - corrade_add_test(PrimitiveQueryGLTest - PrimitiveQueryGLTest.cpp - ${QueryGLTest_RES} - LIBRARIES ${GL_TEST_LIBRARIES}) - endif() - corrade_add_test(SampleQueryGLTest - SampleQueryGLTest.cpp - ${QueryGLTest_RES} - LIBRARIES ${GL_TEST_LIBRARIES}) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/configure.h) include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}) @@ -79,8 +68,9 @@ if(BUILD_GL_TESTS) if(NOT MAGNUM_TARGET_GLES2) corrade_add_test(BufferImageGLTest BufferImageGLTest.cpp LIBRARIES ${GL_TEST_LIBRARIES}) - corrade_add_test(TextureArrayGLTest TextureArrayGLTest.cpp LIBRARIES ${GL_TEST_LIBRARIES}) corrade_add_test(MultisampleTextureGLTest MultisampleTextureGLTest.cpp LIBRARIES ${GL_TEST_LIBRARIES}) + corrade_add_test(PrimitiveQueryGLTest PrimitiveQueryGLTest.cpp LIBRARIES ${GL_TEST_LIBRARIES}) + corrade_add_test(TextureArrayGLTest TextureArrayGLTest.cpp LIBRARIES ${GL_TEST_LIBRARIES}) endif() if(NOT MAGNUM_TARGET_GLES) diff --git a/src/Magnum/Test/PrimitiveQueryGLTest.cpp b/src/Magnum/Test/PrimitiveQueryGLTest.cpp index 399f11c0a..129fb253a 100644 --- a/src/Magnum/Test/PrimitiveQueryGLTest.cpp +++ b/src/Magnum/Test/PrimitiveQueryGLTest.cpp @@ -28,12 +28,10 @@ #include "Magnum/AbstractShaderProgram.h" #include "Magnum/Buffer.h" -#include "Magnum/Framebuffer.h" #include "Magnum/Mesh.h" #include "Magnum/PrimitiveQuery.h" -#include "Magnum/Renderbuffer.h" -#include "Magnum/RenderbufferFormat.h" #include "Magnum/Shader.h" +#include "Magnum/Math/Vector2.h" #include "Magnum/Test/AbstractOpenGLTester.h" namespace Magnum { namespace Test { @@ -61,28 +59,19 @@ void PrimitiveQueryGLTest::query() { typedef Attribute<0, Vector2> Position; explicit MyShader() { - Utility::Resource rs("QueryGLTest"); - Shader vert(Version::GL210, Shader::Type::Vertex); - Shader frag(Version::GL210, Shader::Type::Fragment); - - vert.addSource(rs.get("MyShader.vert")); - frag.addSource(rs.get("MyShader.frag")); - - CORRADE_INTERNAL_ASSERT_OUTPUT(Shader::compile({vert, frag})); - attachShaders({vert, frag}); + CORRADE_INTERNAL_ASSERT_OUTPUT(vert.addSource( + "attribute lowp vec4 position;\n" + "void main() {\n" + " gl_Position = position;\n" + "}\n").compile()); + attachShader(vert); CORRADE_INTERNAL_ASSERT_OUTPUT(link()); } } shader; - Renderbuffer renderbuffer; - renderbuffer.setStorage(RenderbufferFormat::RGBA8, Vector2i(32)); - - Framebuffer framebuffer({{}, Vector2i(32)}); - framebuffer.attachRenderbuffer(Framebuffer::ColorAttachment(0), renderbuffer); - constexpr Vector2 data[9]; Buffer vertices; vertices.setData(data, BufferUsage::StaticDraw); @@ -97,7 +86,7 @@ void PrimitiveQueryGLTest::query() { PrimitiveQuery q{PrimitiveQuery::Target::PrimitivesGenerated}; q.begin(); - framebuffer.bind(FramebufferTarget::ReadDraw); + Renderer::enable(Renderer::Feature::RasterizerDiscard); mesh.draw(shader); q.end(); diff --git a/src/Magnum/Test/QueryGLTestFiles/MyShader.frag b/src/Magnum/Test/QueryGLTestFiles/MyShader.frag deleted file mode 100644 index 18cf87582..000000000 --- a/src/Magnum/Test/QueryGLTestFiles/MyShader.frag +++ /dev/null @@ -1,3 +0,0 @@ -void main() { - gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); -} diff --git a/src/Magnum/Test/QueryGLTestFiles/MyShader.vert b/src/Magnum/Test/QueryGLTestFiles/MyShader.vert deleted file mode 100644 index 0fd808f4b..000000000 --- a/src/Magnum/Test/QueryGLTestFiles/MyShader.vert +++ /dev/null @@ -1,5 +0,0 @@ -attribute lowp vec4 position; - -void main() { - gl_Position = position; -} diff --git a/src/Magnum/Test/QueryGLTestFiles/resources.conf b/src/Magnum/Test/QueryGLTestFiles/resources.conf deleted file mode 100644 index daf955dd7..000000000 --- a/src/Magnum/Test/QueryGLTestFiles/resources.conf +++ /dev/null @@ -1,7 +0,0 @@ -group=QueryGLTest - -[file] -filename=MyShader.vert - -[file] -filename=MyShader.frag diff --git a/src/Magnum/Test/SampleQueryGLTest.cpp b/src/Magnum/Test/SampleQueryGLTest.cpp index 60b25c0f4..cc0f80dbc 100644 --- a/src/Magnum/Test/SampleQueryGLTest.cpp +++ b/src/Magnum/Test/SampleQueryGLTest.cpp @@ -67,8 +67,6 @@ namespace { #ifndef DOXYGEN_GENERATING_OUTPUT MyShader::MyShader() { - Utility::Resource rs("QueryGLTest"); - #ifndef MAGNUM_TARGET_GLES Shader vert(Version::GL210, Shader::Type::Vertex); Shader frag(Version::GL210, Shader::Type::Fragment); @@ -77,8 +75,15 @@ MyShader::MyShader() { Shader frag(Version::GLES200, Shader::Type::Fragment); #endif - vert.addSource(rs.get("MyShader.vert")); - frag.addSource(rs.get("MyShader.frag")); + vert.addSource( + "attribute lowp vec4 position;\n" + "void main() {\n" + " gl_Position = position;\n" + "}\n"); + frag.addSource( + "void main() {\n" + " gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0);\n" + "}\n"); CORRADE_INTERNAL_ASSERT_OUTPUT(Shader::compile({vert, frag}));