diff options
author | Andras Becsi <andras.becsi@digia.com> | 2014-03-18 13:16:26 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-03-20 15:55:39 +0100 |
commit | 3f0f86b0caed75241fa71c95a5d73bc0164348c5 (patch) | |
tree | 92b9fb00f2e9e90b0be2262093876d4f43b6cd13 /chromium/gpu/command_buffer/service/program_manager.h | |
parent | e90d7c4b152c56919d963987e2503f9909a666d2 (diff) | |
download | qtwebengine-chromium-3f0f86b0caed75241fa71c95a5d73bc0164348c5.tar.gz |
Update to new stable branch 1750
This also includes an updated ninja and chromium dependencies
needed on Windows.
Change-Id: Icd597d80ed3fa4425933c9f1334c3c2e31291c42
Reviewed-by: Zoltan Arvai <zarvai@inf.u-szeged.hu>
Reviewed-by: Zeno Albisser <zeno.albisser@digia.com>
Diffstat (limited to 'chromium/gpu/command_buffer/service/program_manager.h')
-rw-r--r-- | chromium/gpu/command_buffer/service/program_manager.h | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/chromium/gpu/command_buffer/service/program_manager.h b/chromium/gpu/command_buffer/service/program_manager.h index 258a3c3cf5f..50dd0ff1b80 100644 --- a/chromium/gpu/command_buffer/service/program_manager.h +++ b/chromium/gpu/command_buffer/service/program_manager.h @@ -20,7 +20,6 @@ namespace gpu { namespace gles2 { -class FeatureInfo; class ProgramCache; class ProgramManager; class Shader; @@ -34,6 +33,11 @@ class GPU_EXPORT Program : public base::RefCounted<Program> { public: static const int kMaxAttachedShaders = 2; + enum VaryingsPackingOption { + kCountOnlyStaticallyUsed, + kCountAll + }; + struct UniformInfo { UniformInfo(); UniformInfo( @@ -157,7 +161,7 @@ class GPU_EXPORT Program : public base::RefCounted<Program> { bool Link(ShaderManager* manager, ShaderTranslator* vertex_translator, ShaderTranslator* fragment_shader, - FeatureInfo* feature_info, + VaryingsPackingOption varyings_packing_option, const ShaderCacheCallback& shader_callback); // Performs glValidateProgram and related activities. @@ -200,7 +204,7 @@ class GPU_EXPORT Program : public base::RefCounted<Program> { // Return false if varyings can't be packed into the max available // varying registers. - bool CheckVaryingsPacking() const; + bool CheckVaryingsPacking(VaryingsPackingOption option) const; // Visible for testing const LocationMap& bind_attrib_location_map() const { @@ -336,6 +340,11 @@ class GPU_EXPORT Program : public base::RefCounted<Program> { // need to be shared by multiple GLES2Decoders. class GPU_EXPORT ProgramManager { public: + enum TranslatedShaderSourceType { + kANGLE, + kGL, // GL or GLES + }; + explicit ProgramManager(ProgramCache* program_cache, uint32 max_varying_vectors); ~ProgramManager(); @@ -375,9 +384,10 @@ class GPU_EXPORT ProgramManager { static int32 MakeFakeLocation(int32 index, int32 element); - void DoCompileShader(Shader* shader, - ShaderTranslator* translator, - FeatureInfo* feature_info); + void DoCompileShader( + Shader* shader, + ShaderTranslator* translator, + TranslatedShaderSourceType translated_shader_source_type); uint32 max_varying_vectors() const { return max_varying_vectors_; @@ -403,8 +413,6 @@ class GPU_EXPORT ProgramManager { bool have_context_; - bool disable_workarounds_; - // Used to clear uniforms. std::vector<uint8> zero_; |