|
|
|
|
@ -25,7 +25,10 @@
|
|
|
|
|
|
|
|
|
|
#include "Magnum/AbstractShaderProgram.h" |
|
|
|
|
#include "Magnum/Buffer.h" |
|
|
|
|
#include "Magnum/Framebuffer.h" |
|
|
|
|
#include "Magnum/Mesh.h" |
|
|
|
|
#include "Magnum/Renderbuffer.h" |
|
|
|
|
#include "Magnum/RenderbufferFormat.h" |
|
|
|
|
#include "Magnum/Shader.h" |
|
|
|
|
#include "Magnum/TransformFeedback.h" |
|
|
|
|
#include "Magnum/Math/Vector2.h" |
|
|
|
|
@ -229,6 +232,13 @@ void TransformFeedbackGLTest::attachBase() {
|
|
|
|
|
CORRADE_SKIP(Extensions::GL::ARB::transform_feedback2::string() + std::string(" is not supported.")); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
/* Bind some FB to avoid errors on contexts w/o default FB */ |
|
|
|
|
Renderbuffer color; |
|
|
|
|
color.setStorage(RenderbufferFormat::RGBA8, Vector2i{32}); |
|
|
|
|
Framebuffer fb{{{}, Vector2i{32}}}; |
|
|
|
|
fb.attachRenderbuffer(Framebuffer::ColorAttachment{0}, color) |
|
|
|
|
.bind(); |
|
|
|
|
|
|
|
|
|
XfbShader shader; |
|
|
|
|
|
|
|
|
|
Buffer input; |
|
|
|
|
@ -265,6 +275,13 @@ void TransformFeedbackGLTest::attachRange() {
|
|
|
|
|
CORRADE_SKIP(Extensions::GL::ARB::transform_feedback2::string() + std::string(" is not supported.")); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
/* Bind some FB to avoid errors on contexts w/o default FB */ |
|
|
|
|
Renderbuffer color; |
|
|
|
|
color.setStorage(RenderbufferFormat::RGBA8, Vector2i{32}); |
|
|
|
|
Framebuffer fb{{{}, Vector2i{32}}}; |
|
|
|
|
fb.attachRenderbuffer(Framebuffer::ColorAttachment{0}, color) |
|
|
|
|
.bind(); |
|
|
|
|
|
|
|
|
|
XfbShader shader; |
|
|
|
|
|
|
|
|
|
Buffer input; |
|
|
|
|
@ -347,6 +364,13 @@ void TransformFeedbackGLTest::attachBases() {
|
|
|
|
|
CORRADE_SKIP(Extensions::GL::ARB::transform_feedback2::string() + std::string(" is not supported.")); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
/* Bind some FB to avoid errors on contexts w/o default FB */ |
|
|
|
|
Renderbuffer color; |
|
|
|
|
color.setStorage(RenderbufferFormat::RGBA8, Vector2i{32}); |
|
|
|
|
Framebuffer fb{{{}, Vector2i{32}}}; |
|
|
|
|
fb.attachRenderbuffer(Framebuffer::ColorAttachment{0}, color) |
|
|
|
|
.bind(); |
|
|
|
|
|
|
|
|
|
XfbMultiShader shader; |
|
|
|
|
|
|
|
|
|
Buffer input; |
|
|
|
|
@ -389,6 +413,13 @@ void TransformFeedbackGLTest::attachRanges() {
|
|
|
|
|
CORRADE_SKIP(Extensions::GL::ARB::transform_feedback2::string() + std::string(" is not supported.")); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
/* Bind some FB to avoid errors on contexts w/o default FB */ |
|
|
|
|
Renderbuffer color; |
|
|
|
|
color.setStorage(RenderbufferFormat::RGBA8, Vector2i{32}); |
|
|
|
|
Framebuffer fb{{{}, Vector2i{32}}}; |
|
|
|
|
fb.attachRenderbuffer(Framebuffer::ColorAttachment{0}, color) |
|
|
|
|
.bind(); |
|
|
|
|
|
|
|
|
|
Buffer input; |
|
|
|
|
input.setData(inputData, BufferUsage::StaticDraw); |
|
|
|
|
Buffer output1, output2; |
|
|
|
|
@ -434,6 +465,13 @@ void TransformFeedbackGLTest::interleaved() {
|
|
|
|
|
if(!Context::current().isExtensionSupported<Extensions::GL::ARB::transform_feedback3>()) |
|
|
|
|
CORRADE_SKIP(Extensions::GL::ARB::transform_feedback3::string() + std::string(" is not supported.")); |
|
|
|
|
|
|
|
|
|
/* Bind some FB to avoid errors on contexts w/o default FB */ |
|
|
|
|
Renderbuffer color; |
|
|
|
|
color.setStorage(RenderbufferFormat::RGBA8, Vector2i{32}); |
|
|
|
|
Framebuffer fb{{{}, Vector2i{32}}}; |
|
|
|
|
fb.attachRenderbuffer(Framebuffer::ColorAttachment{0}, color) |
|
|
|
|
.bind(); |
|
|
|
|
|
|
|
|
|
struct XfbInterleavedShader: AbstractShaderProgram { |
|
|
|
|
typedef Attribute<0, Vector2> Input; |
|
|
|
|
|
|
|
|
|
|