| Index: cc/output/shader.h
|
| diff --git a/cc/output/shader.h b/cc/output/shader.h
|
| index 21b4a70de5aaac404dc18061f6483967841dddf7..d047c82d473f0cb0041b7b6aa3d59ba8d4e8ed13 100644
|
| --- a/cc/output/shader.h
|
| +++ b/cc/output/shader.h
|
| @@ -763,11 +763,21 @@ class FragmentShaderRGBATexAlphaMaskColorMatrix : public FragmentTexBlendMode {
|
|
|
| class FragmentShaderYUVVideo : public FragmentTexBlendMode {
|
| public:
|
| + enum HighbitTexture {
|
| + HIGHBIT_Y8 = 0, // either RED_8 or LUMINANCE_8
|
| + HIGHBIT_LUMINANCE_F16 = 1,
|
| + HIGHBIT_RG88 = 2,
|
| + LAST_HIGHBIT_TEXTURE = HIGHBIT_RG88
|
| + };
|
| +
|
| FragmentShaderYUVVideo();
|
| std::string GetShaderString(
|
| TexCoordPrecision precision, SamplerType sampler) const;
|
|
|
| - void SetFeatures(bool use_alpha_texture, bool use_nv12, bool use_color_lut);
|
| + void SetFeatures(bool use_alpha_texture,
|
| + bool use_nv12,
|
| + bool use_color_lut,
|
| + HighbitTexture highbit_texture);
|
|
|
| void Init(gpu::gles2::GLES2Interface* context,
|
| unsigned program,
|
| @@ -781,8 +791,13 @@ class FragmentShaderYUVVideo : public FragmentTexBlendMode {
|
| int alpha_location() const { return alpha_location_; }
|
| int yuv_matrix_location() const { return yuv_matrix_location_; }
|
| int yuv_adj_location() const { return yuv_adj_location_; }
|
| + int ya_size_location() const { return ya_size_location_; }
|
| + int uv_size_location() const { return uv_size_location_; }
|
| int ya_clamp_rect_location() const { return ya_clamp_rect_location_; }
|
| int uv_clamp_rect_location() const { return uv_clamp_rect_location_; }
|
| + int inverse_max_input_value_location() const {
|
| + return inverse_max_input_value_location_;
|
| + }
|
| int resource_multiplier_location() const {
|
| return resource_multiplier_location_;
|
| }
|
| @@ -792,6 +807,7 @@ class FragmentShaderYUVVideo : public FragmentTexBlendMode {
|
| bool use_alpha_texture_;
|
| bool use_nv12_;
|
| bool use_color_lut_;
|
| + HighbitTexture highbit_texture_ = HIGHBIT_Y8;
|
|
|
| int y_texture_location_;
|
| int u_texture_location_;
|
| @@ -802,6 +818,9 @@ class FragmentShaderYUVVideo : public FragmentTexBlendMode {
|
| int alpha_location_;
|
| int yuv_matrix_location_;
|
| int yuv_adj_location_;
|
| + int inverse_max_input_value_location_;
|
| + int ya_size_location_;
|
| + int uv_size_location_;
|
| int ya_clamp_rect_location_;
|
| int uv_clamp_rect_location_;
|
| int resource_multiplier_location_;
|
|
|