Add branch for viewport or layer selection in VS
The patch extends the behavior of
SH_SELECT_VIEW_IN_NV_GLSL_VERTEX_SHADER so that either the viewport
or layer is selected based on the value of the internal uniform variable
MultiviewRenderPath.
BUG=angleproject:2062
TEST=angle_end2end_tests
TEST=angle_unittests
Change-Id: Ia311b12b1fed642dac78eba8732e2535242f34fd
Reviewed-on: https://chromium-review.googlesource.com/615260
Commit-Queue: Martin Radev <mradev@nvidia.com>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
diff --git a/src/libANGLE/Program.h b/src/libANGLE/Program.h
index 8d3db69..3690fb7 100644
--- a/src/libANGLE/Program.h
+++ b/src/libANGLE/Program.h
@@ -280,6 +280,9 @@
GLuint getSamplerIndexFromUniformIndex(GLuint uniformIndex) const;
GLuint getAttributeLocation(const std::string &name) const;
+ int getNumViews() const { return mNumViews; }
+ bool usesMultiview() const { return mNumViews != -1; }
+
private:
friend class MemoryProgramCache;
friend class Program;
@@ -537,8 +540,8 @@
const Bindings &getUniformLocationBindings() const { return mUniformLocationBindings; }
const Bindings &getFragmentInputBindings() const { return mFragmentInputBindings; }
- int getNumViews() const { return mState.mNumViews; }
- bool usesMultiview() const { return mState.mNumViews != -1; }
+ int getNumViews() const { return mState.getNumViews(); }
+ bool usesMultiview() const { return mState.usesMultiview(); }
private:
~Program();