diff options
Diffstat (limited to 'src/3rdparty/angle/src/libANGLE/renderer/ShaderImpl.h')
-rw-r--r-- | src/3rdparty/angle/src/libANGLE/renderer/ShaderImpl.h | 35 |
1 files changed, 9 insertions, 26 deletions
diff --git a/src/3rdparty/angle/src/libANGLE/renderer/ShaderImpl.h b/src/3rdparty/angle/src/libANGLE/renderer/ShaderImpl.h index 3011bc57f8..5a466377a5 100644 --- a/src/3rdparty/angle/src/libANGLE/renderer/ShaderImpl.h +++ b/src/3rdparty/angle/src/libANGLE/renderer/ShaderImpl.h @@ -9,8 +9,6 @@ #ifndef LIBANGLE_RENDERER_SHADERIMPL_H_ #define LIBANGLE_RENDERER_SHADERIMPL_H_ -#include <vector> - #include "common/angleutils.h" #include "libANGLE/Shader.h" @@ -20,36 +18,21 @@ namespace rx class ShaderImpl : angle::NonCopyable { public: - ShaderImpl() { } + ShaderImpl(const gl::Shader::Data &data) : mData(data) {} virtual ~ShaderImpl() { } - virtual bool compile(gl::Compiler *compiler, const std::string &source) = 0; - virtual std::string getDebugInfo() const = 0; - - virtual const std::string &getInfoLog() const { return mInfoLog; } - virtual const std::string &getTranslatedSource() const { return mTranslatedSource; } + // Returns additional ShCompile options. + virtual int prepareSourceAndReturnOptions(std::stringstream *sourceStream, + std::string *sourcePath) = 0; + // Returns success for compiling on the driver. Returns success. + virtual bool postTranslateCompile(gl::Compiler *compiler, std::string *infoLog) = 0; - const std::vector<gl::PackedVarying> &getVaryings() const { return mVaryings; } - const std::vector<sh::Uniform> &getUniforms() const { return mUniforms; } - const std::vector<sh::InterfaceBlock> &getInterfaceBlocks() const { return mInterfaceBlocks; } - const std::vector<sh::Attribute> &getActiveAttributes() const { return mActiveAttributes; } - const std::vector<sh::Attribute> &getActiveOutputVariables() const { return mActiveOutputVariables; } + virtual std::string getDebugInfo() const = 0; - std::vector<gl::PackedVarying> &getVaryings() { return mVaryings; } - std::vector<sh::Uniform> &getUniforms() { return mUniforms; } - std::vector<sh::InterfaceBlock> &getInterfaceBlocks() { return mInterfaceBlocks; } - std::vector<sh::Attribute> &getActiveAttributes() { return mActiveAttributes; } - std::vector<sh::Attribute> &getActiveOutputVariables() { return mActiveOutputVariables; } + const gl::Shader::Data &getData() const { return mData; } protected: - std::string mInfoLog; - std::string mTranslatedSource; - - std::vector<gl::PackedVarying> mVaryings; - std::vector<sh::Uniform> mUniforms; - std::vector<sh::InterfaceBlock> mInterfaceBlocks; - std::vector<sh::Attribute> mActiveAttributes; - std::vector<sh::Attribute> mActiveOutputVariables; + const gl::Shader::Data &mData; }; } |