summaryrefslogtreecommitdiff
path: root/chromium/gpu/command_buffer/service/program_manager.h
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2014-03-18 13:16:26 +0100
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2014-03-20 15:55:39 +0100
commit3f0f86b0caed75241fa71c95a5d73bc0164348c5 (patch)
tree92b9fb00f2e9e90b0be2262093876d4f43b6cd13 /chromium/gpu/command_buffer/service/program_manager.h
parente90d7c4b152c56919d963987e2503f9909a666d2 (diff)
downloadqtwebengine-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.h24
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_;