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

Side by Side Diff: src/gpu/glsl/GrGLSLCaps.cpp

Issue 1431433003: Move shader compiling to ProgramBuilder and various ShaderBuilder cleanups. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 1 month 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
OLDNEW
1 /* 1 /*
2 * Copyright 2012 Google Inc. 2 * Copyright 2012 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 8
9 #include "GrGLSLCaps.h" 9 #include "GrGLSLCaps.h"
10 10
11 //////////////////////////////////////////////////////////////////////////////// //////////// 11 //////////////////////////////////////////////////////////////////////////////// ////////////
12 12
13 GrGLSLCaps::GrGLSLCaps(const GrContextOptions& options) { 13 GrGLSLCaps::GrGLSLCaps(const GrContextOptions& options) {
14 fGLSLGeneration = k330_GrGLSLGeneration; 14 fGLSLGeneration = k330_GrGLSLGeneration;
15 15
16 fDropsTileOnZeroDivide = false; 16 fDropsTileOnZeroDivide = false;
17 fFBFetchSupport = false; 17 fFBFetchSupport = false;
18 fFBFetchNeedsCustomOutput = false; 18 fFBFetchNeedsCustomOutput = false;
19 fBindlessTextureSupport = false; 19 fBindlessTextureSupport = false;
20 fUsesPrecisionModifiers = false; 20 fUsesPrecisionModifiers = false;
21 fCanUseAnyFunctionInShader = true; 21 fCanUseAnyFunctionInShader = true;
22 fForceHighPrecisionNDSTransform = false; 22 fForceHighPrecisionNDSTransform = false;
23 fTextureSwizzleSupport = false;
24 fTextureRedSupport = false;
23 fVersionDeclString = nullptr; 25 fVersionDeclString = nullptr;
26 fShaderDerivativeExtensionString = nullptr;
24 fFBFetchColorName = nullptr; 27 fFBFetchColorName = nullptr;
25 fFBFetchExtensionString = nullptr; 28 fFBFetchExtensionString = nullptr;
26 fAdvBlendEqInteraction = kNotSupported_AdvBlendEqInteraction; 29 fAdvBlendEqInteraction = kNotSupported_AdvBlendEqInteraction;
27 } 30 }
28 31
29 SkString GrGLSLCaps::dump() const { 32 SkString GrGLSLCaps::dump() const {
30 SkString r = INHERITED::dump(); 33 SkString r = INHERITED::dump();
31 34
32 static const char* kAdvBlendEqInteractionStr[] = { 35 static const char* kAdvBlendEqInteractionStr[] = {
33 "Not Supported", 36 "Not Supported",
34 "Automatic", 37 "Automatic",
35 "General Enable", 38 "General Enable",
36 "Specific Enables", 39 "Specific Enables",
37 }; 40 };
38 GR_STATIC_ASSERT(0 == kNotSupported_AdvBlendEqInteraction); 41 GR_STATIC_ASSERT(0 == kNotSupported_AdvBlendEqInteraction);
39 GR_STATIC_ASSERT(1 == kAutomatic_AdvBlendEqInteraction); 42 GR_STATIC_ASSERT(1 == kAutomatic_AdvBlendEqInteraction);
40 GR_STATIC_ASSERT(2 == kGeneralEnable_AdvBlendEqInteraction); 43 GR_STATIC_ASSERT(2 == kGeneralEnable_AdvBlendEqInteraction);
41 GR_STATIC_ASSERT(3 == kSpecificEnables_AdvBlendEqInteraction); 44 GR_STATIC_ASSERT(3 == kSpecificEnables_AdvBlendEqInteraction);
42 GR_STATIC_ASSERT(SK_ARRAY_COUNT(kAdvBlendEqInteractionStr) == kLast_AdvBlend EqInteraction + 1); 45 GR_STATIC_ASSERT(SK_ARRAY_COUNT(kAdvBlendEqInteractionStr) == kLast_AdvBlend EqInteraction + 1);
43 46
44 r.appendf("--- GLSL-Specific ---\n"); 47 r.appendf("--- GLSL-Specific ---\n");
45 48
46 r.appendf("FB Fetch Support: %s\n", (fFBFetchSupport ? "YES" : "NO")); 49 r.appendf("FB Fetch Support: %s\n", (fFBFetchSupport ? "YES" : "NO"));
47 r.appendf("Drops tile on zero divide: %s\n", (fDropsTileOnZeroDivide ? "YES" : "NO")); 50 r.appendf("Drops tile on zero divide: %s\n", (fDropsTileOnZeroDivide ? "YES" : "NO"));
48 r.appendf("Bindless texture support: %s\n", (fBindlessTextureSupport ? "YES" : "NO")); 51 r.appendf("Bindless texture support: %s\n", (fBindlessTextureSupport ? "YES" : "NO"));
49 r.appendf("Uses precision modifiers: %s\n", (fUsesPrecisionModifiers ? "YES" : "NO")); 52 r.appendf("Uses precision modifiers: %s\n", (fUsesPrecisionModifiers ? "YES" : "NO"));
50 r.appendf("Can Use any() function: %s\n", (fCanUseAnyFunctionInShader ? "YES " : "NO")); 53 r.appendf("Can Use any() function: %s\n", (fCanUseAnyFunctionInShader ? "YES " : "NO"));
51 r.appendf("Force high precision on NDS transform: %s\n", (fForceHighPrecisio nNDSTransform ? 54 r.appendf("Force high precision on NDS transform: %s\n", (fForceHighPrecisio nNDSTransform ?
52 "YES" : "NO")); 55 "YES" : "NO"));
56 r.appendf("Support texture swizzle: %s\n", (fTextureSwizzleSupport ? "YES": "NO"));
57 r.appendf("Red texture support: %s\n", (fTextureRedSupport ? "YES": "NO"));
53 r.appendf("Advanced blend equation interaction: %s\n", 58 r.appendf("Advanced blend equation interaction: %s\n",
54 kAdvBlendEqInteractionStr[fAdvBlendEqInteraction]); 59 kAdvBlendEqInteractionStr[fAdvBlendEqInteraction]);
55 return r; 60 return r;
56 } 61 }
57 62
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698