Index: cc/output/program_binding.cc |
diff --git a/cc/output/program_binding.cc b/cc/output/program_binding.cc |
index d80ef682d8d84967f7ab46d6d96cdf80c2089010..fed93b582350b356a06fa5f83d5b60dc50b61c40 100644 |
--- a/cc/output/program_binding.cc |
+++ b/cc/output/program_binding.cc |
@@ -29,7 +29,8 @@ bool ProgramKey::operator==(const ProgramKey& other) const { |
has_color_matrix_ == other.has_color_matrix_ && |
yuv_alpha_texture_mode_ == other.yuv_alpha_texture_mode_ && |
uv_texture_mode_ == other.uv_texture_mode_ && |
- color_conversion_mode_ == other.color_conversion_mode_; |
+ has_resource_offset_ == other.has_resource_offset_ && |
+ has_lut_ == other.has_lut_; |
} |
// static |
@@ -111,7 +112,7 @@ ProgramKey ProgramKey::YUVVideo(TexCoordPrecision precision, |
SamplerType sampler, |
YUVAlphaTextureMode yuv_alpha_texture_mode, |
UVTextureMode uv_texture_mode, |
- ColorConversionMode color_conversion_mode) { |
+ bool use_lut) { |
ProgramKey result; |
result.type_ = PROGRAM_TYPE_YUV_VIDEO; |
result.precision_ = precision; |
@@ -122,7 +123,12 @@ ProgramKey ProgramKey::YUVVideo(TexCoordPrecision precision, |
result.uv_texture_mode_ = uv_texture_mode; |
DCHECK(uv_texture_mode == UV_TEXTURE_MODE_UV || |
uv_texture_mode == UV_TEXTURE_MODE_U_V); |
- result.color_conversion_mode_ = color_conversion_mode; |
+ if (use_lut) { |
+ result.has_lut_ = true; |
+ result.has_resource_offset_ = true; |
+ } else { |
+ result.has_color_matrix_ = true; |
+ } |
return result; |
} |