Re-land "Compute packed varyings in ProgramD3D only."
Instead of storing varying information in the shader, use a temporary
set when linking a D3D program. This also means we won't have to
modify information in the Shader object when linking a D3D program.
This completes the refactoring for PackedVaryings.
Re-land with fix for missing init of PackedVarying::vertexOnly.
BUG=angleproject:1123
Change-Id: If110809c3817d88b0370ac575d739d7385b067d9
Reviewed-on: https://chromium-review.googlesource.com/296731
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
diff --git a/util/shader_utils.h b/util/shader_utils.h
index 6ac7eb2..3fdb747 100644
--- a/util/shader_utils.h
+++ b/util/shader_utils.h
@@ -17,12 +17,18 @@
#include <EGL/eglext.h>
#include <string>
+#include <vector>
#define SHADER_SOURCE(...) #__VA_ARGS__
GLuint CompileShader(GLenum type, const std::string &source);
GLuint CompileShaderFromFile(GLenum type, const std::string &sourcePath);
+GLuint CompileProgramWithTransformFeedback(
+ const std::string &vsSource,
+ const std::string &fsSource,
+ const std::vector<std::string> &transformFeedbackVaryings,
+ GLenum bufferMode);
GLuint CompileProgram(const std::string &vsSource, const std::string &fsSource);
GLuint CompileProgramFromFiles(const std::string &vsPath, const std::string &fsPath);