Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2466)

Side by Side Diff: cc/output/shader.h

Issue 18432002: Blend TextureLayer background-color at draw time. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: resolved conflicts with TOT Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « cc/output/renderer_pixeltest.cc ('k') | cc/output/shader.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CC_OUTPUT_SHADER_H_ 5 #ifndef CC_OUTPUT_SHADER_H_
6 #define CC_OUTPUT_SHADER_H_ 6 #define CC_OUTPUT_SHADER_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
319 class FragmentTexOpaqueBinding { 319 class FragmentTexOpaqueBinding {
320 public: 320 public:
321 FragmentTexOpaqueBinding(); 321 FragmentTexOpaqueBinding();
322 322
323 void Init(WebKit::WebGraphicsContext3D* context, 323 void Init(WebKit::WebGraphicsContext3D* context,
324 unsigned program, 324 unsigned program,
325 bool using_bind_uniform, 325 bool using_bind_uniform,
326 int* base_uniform_index); 326 int* base_uniform_index);
327 int alpha_location() const { return -1; } 327 int alpha_location() const { return -1; }
328 int fragment_tex_transform_location() const { return -1; } 328 int fragment_tex_transform_location() const { return -1; }
329 int background_color_location() const { return -1; }
329 int sampler_location() const { return sampler_location_; } 330 int sampler_location() const { return sampler_location_; }
330 331
331 private: 332 private:
332 int sampler_location_; 333 int sampler_location_;
333 334
334 DISALLOW_COPY_AND_ASSIGN(FragmentTexOpaqueBinding); 335 DISALLOW_COPY_AND_ASSIGN(FragmentTexOpaqueBinding);
335 }; 336 };
336 337
338 class FragmentTexBackgroundBinding {
339 public:
340 FragmentTexBackgroundBinding();
341
342 void Init(WebKit::WebGraphicsContext3D* context,
343 unsigned program,
344 bool using_bind_uniform,
345 int* base_uniform_index);
346 int background_color_location() const { return background_color_location_; }
347 int sampler_location() const { return sampler_location_; }
348
349 private:
350 int background_color_location_;
351 int sampler_location_;
352
353 DISALLOW_COPY_AND_ASSIGN(FragmentTexBackgroundBinding);
354 };
355
337 class FragmentShaderRGBATexVaryingAlpha : public FragmentTexOpaqueBinding { 356 class FragmentShaderRGBATexVaryingAlpha : public FragmentTexOpaqueBinding {
338 public: 357 public:
339 std::string GetShaderString(TexCoordPrecision precision) const; 358 std::string GetShaderString(TexCoordPrecision precision) const;
340 }; 359 };
341 360
342 class FragmentShaderRGBATexPremultiplyAlpha : public FragmentTexOpaqueBinding { 361 class FragmentShaderRGBATexPremultiplyAlpha : public FragmentTexOpaqueBinding {
343 public: 362 public:
344 std::string GetShaderString(TexCoordPrecision precision) const; 363 std::string GetShaderString(TexCoordPrecision precision) const;
345 }; 364 };
346 365
366 class FragmentShaderTexBackgroundVaryingAlpha
367 : public FragmentTexBackgroundBinding {
368 public:
369 std::string GetShaderString(TexCoordPrecision precision) const;
370 };
371
372 class FragmentShaderTexBackgroundPremultiplyAlpha
373 : public FragmentTexBackgroundBinding {
374 public:
375 std::string GetShaderString(TexCoordPrecision precision) const;
376 };
377
347 class FragmentShaderRGBATexAlpha : public FragmentTexAlphaBinding { 378 class FragmentShaderRGBATexAlpha : public FragmentTexAlphaBinding {
348 public: 379 public:
349 std::string GetShaderString(TexCoordPrecision precision) const; 380 std::string GetShaderString(TexCoordPrecision precision) const;
350 }; 381 };
351 382
352 class FragmentShaderRGBATexColorMatrixAlpha 383 class FragmentShaderRGBATexColorMatrixAlpha
353 : public FragmentTexColorMatrixAlphaBinding { 384 : public FragmentTexColorMatrixAlphaBinding {
354 public: 385 public:
355 std::string GetShaderString(TexCoordPrecision precision) const; 386 std::string GetShaderString(TexCoordPrecision precision) const;
356 }; 387 };
357 388
358 class FragmentShaderRGBATexRectVaryingAlpha : public FragmentTexAlphaBinding { 389 class FragmentShaderRGBATexRectVaryingAlpha : public FragmentTexOpaqueBinding {
359 public: 390 public:
360 std::string GetShaderString(TexCoordPrecision precision) const; 391 std::string GetShaderString(TexCoordPrecision precision) const;
361 }; 392 };
362 393
363 class FragmentShaderRGBATexOpaque : public FragmentTexOpaqueBinding { 394 class FragmentShaderRGBATexOpaque : public FragmentTexOpaqueBinding {
364 public: 395 public:
365 std::string GetShaderString(TexCoordPrecision precision) const; 396 std::string GetShaderString(TexCoordPrecision precision) const;
366 }; 397 };
367 398
368 class FragmentShaderRGBATex : public FragmentTexOpaqueBinding { 399 class FragmentShaderRGBATex : public FragmentTexOpaqueBinding {
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 int tex_transform_location_; 736 int tex_transform_location_;
706 int frequency_location_; 737 int frequency_location_;
707 int color_location_; 738 int color_location_;
708 739
709 DISALLOW_COPY_AND_ASSIGN(FragmentShaderCheckerboard); 740 DISALLOW_COPY_AND_ASSIGN(FragmentShaderCheckerboard);
710 }; 741 };
711 742
712 } // namespace cc 743 } // namespace cc
713 744
714 #endif // CC_OUTPUT_SHADER_H_ 745 #endif // CC_OUTPUT_SHADER_H_
OLDNEW
« no previous file with comments | « cc/output/renderer_pixeltest.cc ('k') | cc/output/shader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698