Index: cc/output/program_binding.h |
diff --git a/cc/output/program_binding.h b/cc/output/program_binding.h |
index 3b9a382b28a8ae5296d409bc7ebf0870fd50aa92..6f1bc9148752f4b58a130a81eaf0e2871a9fb9a1 100644 |
--- a/cc/output/program_binding.h |
+++ b/cc/output/program_binding.h |
@@ -12,6 +12,10 @@ |
#include "cc/output/context_provider.h" |
#include "cc/output/shader.h" |
+namespace gfx { |
+class ColorTransform; |
+} |
+ |
namespace gpu { |
namespace gles2 { |
class GLES2Interface; |
@@ -99,9 +103,7 @@ class CC_EXPORT ProgramKey { |
bool operator==(const ProgramKey& other) const; |
bool operator!=(const ProgramKey& other) const; |
- void SetColorConversionMode(ColorConversionMode color_conversion_mode) { |
- color_conversion_mode_ = color_conversion_mode; |
- } |
+ void SetColorTransform(const gfx::ColorTransform* transform); |
private: |
friend struct ProgramKeyHash; |
@@ -126,6 +128,7 @@ class CC_EXPORT ProgramKey { |
UVTextureMode uv_texture_mode_ = UV_TEXTURE_MODE_NA; |
ColorConversionMode color_conversion_mode_ = COLOR_CONVERSION_MODE_NONE; |
+ const gfx::ColorTransform* color_transform_ = nullptr; |
}; |
struct ProgramKeyHash { |
@@ -164,6 +167,7 @@ class Program : public ProgramBindingBase { |
fragment_shader_.mask_mode_ = key.mask_mode_; |
fragment_shader_.mask_for_background_ = key.mask_for_background_; |
fragment_shader_.color_conversion_mode_ = key.color_conversion_mode_; |
+ fragment_shader_.color_transform_ = key.color_transform_; |
switch (key.type_) { |
case PROGRAM_TYPE_DEBUG_BORDER: |
@@ -271,8 +275,11 @@ class Program : public ProgramBindingBase { |
return fragment_shader_.lut_texture_location_; |
} |
int lut_size_location() const { return fragment_shader_.lut_size_location_; } |
- int yuv_and_resource_matrix_location() const { |
- return fragment_shader_.yuv_and_resource_matrix_location_; |
+ int resource_multiplier_location() const { |
+ return fragment_shader_.resource_multiplier_location_; |
+ } |
+ int resource_offset_location() const { |
+ return fragment_shader_.resource_offset_location_; |
} |
int ya_clamp_rect_location() const { |
return fragment_shader_.ya_clamp_rect_location_; |