Implement TransformFeedbackGL.
Reland with supression for TransformFeedbackTest.MultiContext on Linux
AMD.
BUG=angleproject:889
Change-Id: I6f2a2e856dacf16308de222dd0936bedbb3b175c
Reviewed-on: https://chromium-review.googlesource.com/307871
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/Program.cpp b/src/libANGLE/Program.cpp
index 814deb9..40d694f 100644
--- a/src/libANGLE/Program.cpp
+++ b/src/libANGLE/Program.cpp
@@ -235,7 +235,7 @@
Program::Data::Data()
: mAttachedFragmentShader(nullptr),
mAttachedVertexShader(nullptr),
- mTransformFeedbackBufferMode(GL_NONE)
+ mTransformFeedbackBufferMode(GL_INTERLEAVED_ATTRIBS)
{
}
@@ -2014,6 +2014,12 @@
}
uniqueNames.insert(tfVaryingName);
+ if (varying->isArray())
+ {
+ infoLog << "Capture of arrays is undefined and not supported.";
+ return false;
+ }
+
// TODO(jmadill): Investigate implementation limits on D3D11
size_t componentCount = gl::VariableComponentCount(varying->type);
if (mData.mTransformFeedbackBufferMode == GL_SEPARATE_ATTRIBS &&
@@ -2031,10 +2037,9 @@
}
}
- // TODO(jmadill): investigate if we can support capturing array elements.
if (tfVaryingName.find('[') != std::string::npos)
{
- infoLog << "Capture of array elements not currently supported.";
+ infoLog << "Capture of array elements is undefined and not supported.";
return false;
}