diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-07-11 23:29:50 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-07-11 23:31:02 +0200 |
commit | 70dd5e7c66b1fe3f82e5b4db2406050baba15f05 (patch) | |
tree | 3f012200ef3c934f33db1a4ef2b790fae3141860 /gfx/angle/src/libANGLE/Program.h | |
parent | 3b7ffb477eec078c7036c92c6a51bb5de6de4f28 (diff) | |
parent | 8481fa25d246f1968d0a254ee3c6cdd82c60781a (diff) | |
download | UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar.gz UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar.lz UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.tar.xz UXP-70dd5e7c66b1fe3f82e5b4db2406050baba15f05.zip |
Merge branch 'ANGLE-rollback'
This resolves #624
Note: Cherry-picked some fixes on top of the ANGLE version that we want to keep.
Diffstat (limited to 'gfx/angle/src/libANGLE/Program.h')
-rwxr-xr-x | gfx/angle/src/libANGLE/Program.h | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/gfx/angle/src/libANGLE/Program.h b/gfx/angle/src/libANGLE/Program.h index 18bec495f..03212a5cd 100755 --- a/gfx/angle/src/libANGLE/Program.h +++ b/gfx/angle/src/libANGLE/Program.h @@ -241,16 +241,13 @@ class Program final : angle::NonCopyable, public LabeledObject void setLabel(const std::string &label) override; const std::string &getLabel() const override; - rx::ProgramImpl *getImplementation() const { return mProgram; } + rx::ProgramImpl *getImplementation() { return mProgram; } + const rx::ProgramImpl *getImplementation() const { return mProgram; } - void attachShader(Shader *shader); + bool attachShader(Shader *shader); bool detachShader(Shader *shader); int getAttachedShadersCount() const; - const Shader *getAttachedVertexShader() const { return mState.mAttachedVertexShader; } - const Shader *getAttachedFragmentShader() const { return mState.mAttachedFragmentShader; } - const Shader *getAttachedComputeShader() const { return mState.mAttachedComputeShader; } - void bindAttributeLocation(GLuint index, const char *name); void bindUniformLocation(GLuint index, const char *name); @@ -327,6 +324,7 @@ class Program final : angle::NonCopyable, public LabeledObject void getUniformuiv(GLint location, GLuint *params) const; void getActiveUniformBlockName(GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName) const; + void getActiveUniformBlockiv(GLuint uniformBlockIndex, GLenum pname, GLint *params) const; GLuint getActiveUniformBlockCount() const; GLint getActiveUniformBlockMaxLength() const; @@ -460,15 +458,11 @@ class Program final : angle::NonCopyable, public LabeledObject void defineUniformBlock(const sh::InterfaceBlock &interfaceBlock, GLenum shaderType); - // Both these function update the cached uniform values and return a modified "count" - // so that the uniform update doesn't overflow the uniform. template <typename T> - GLsizei setUniformInternal(GLint location, GLsizei count, int vectorSize, const T *v); + void setUniformInternal(GLint location, GLsizei count, const T *v); + template <size_t cols, size_t rows, typename T> - GLsizei setMatrixUniformInternal(GLint location, - GLsizei count, - GLboolean transpose, - const T *v); + void setMatrixUniformInternal(GLint location, GLsizei count, GLboolean transpose, const T *v); template <typename DestT> void getUniformInternal(GLint location, DestT *dataOut) const; |