Index: gpu/command_buffer/service/program_manager.h |
diff --git a/gpu/command_buffer/service/program_manager.h b/gpu/command_buffer/service/program_manager.h |
index e513a9d0c529ad271ded1d9c24371142f5aeb8eb..29b54f5d51aa5cc7d4dabfb815655854eb71f051 100644 |
--- a/gpu/command_buffer/service/program_manager.h |
+++ b/gpu/command_buffer/service/program_manager.h |
@@ -20,6 +20,7 @@ |
namespace gpu { |
namespace gles2 { |
+class FeatureInfo; |
class ProgramCache; |
class ProgramManager; |
class Shader; |
@@ -183,6 +184,14 @@ class GPU_EXPORT Program : public base::RefCounted<Program> { |
// glGetProgramInfoCHROMIUM. |
bool GetUniformsES3(CommonDecoder::Bucket* bucket) const; |
+ // Returns the fragment shader output variable color name binding. |
+ // Returns -1 if |original_name| is not an out variable or error. |
+ GLint GetFragDataLocation(const std::string& original_name) const; |
+ |
+ // Returns the fragment shader output variable color index binding. |
+ // Returns -1 if |original_name| is not an out variable or error. |
+ GLint GetFragDataIndex(const std::string& original_name) const; |
+ |
// Sets the sampler values for a uniform. |
// This is safe to call for any location. If the location is not |
// a sampler uniform nothing will happen. |
@@ -333,6 +342,8 @@ class GPU_EXPORT Program : public base::RefCounted<Program> { |
// translated. |
void ExecuteBindAttribLocationCalls(); |
+ void ExecuteBindFragDataLocationIndexedCalls(); |
+ |
bool AddUniformInfo( |
GLsizei size, GLenum type, GLint location, GLint fake_base_location, |
const std::string& name, const std::string& original_name, |
@@ -446,6 +457,7 @@ class GPU_EXPORT ProgramManager { |
public: |
explicit ProgramManager(ProgramCache* program_cache, |
uint32 max_varying_vectors, |
+ uint32 max_dual_source_draw_buffers, |
FeatureInfo* feature_info); |
~ProgramManager(); |
@@ -488,6 +500,10 @@ class GPU_EXPORT ProgramManager { |
return max_varying_vectors_; |
} |
+ uint32 max_dual_source_draw_buffers() const { |
+ return max_dual_source_draw_buffers_; |
+ } |
+ |
private: |
friend class Program; |
@@ -514,6 +530,7 @@ class GPU_EXPORT ProgramManager { |
ProgramCache* program_cache_; |
uint32 max_varying_vectors_; |
+ uint32 max_dual_source_draw_buffers_; |
scoped_refptr<FeatureInfo> feature_info_; |