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

Side by Side Diff: src/gpu/GrCaps.cpp

Issue 2182783004: Add test configs for instanced rendering (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Add test configs for instanced rendering Created 4 years, 4 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
« no previous file with comments | « include/gpu/GrContextOptions.h ('k') | src/gpu/GrDrawContext.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2015 Google Inc. 2 * Copyright 2015 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 #include "GrCaps.h" 8 #include "GrCaps.h"
9 #include "GrContextOptions.h" 9 #include "GrContextOptions.h"
10 10
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 fMultisampleDisableSupport = false; 99 fMultisampleDisableSupport = false;
100 fUsesMixedSamples = false; 100 fUsesMixedSamples = false;
101 fPreferClientSideDynamicBuffers = false; 101 fPreferClientSideDynamicBuffers = false;
102 fSupportsInstancedDraws = false; 102 fSupportsInstancedDraws = false;
103 fFullClearIsFree = false; 103 fFullClearIsFree = false;
104 fMustClearUploadedBufferData = false; 104 fMustClearUploadedBufferData = false;
105 fSampleShadingSupport = false; 105 fSampleShadingSupport = false;
106 106
107 fUseDrawInsteadOfClear = false; 107 fUseDrawInsteadOfClear = false;
108 108
109 fInstancedSupport = InstancedSupport::kNone;
110
109 fBlendEquationSupport = kBasic_BlendEquationSupport; 111 fBlendEquationSupport = kBasic_BlendEquationSupport;
110 fAdvBlendEqBlacklist = 0; 112 fAdvBlendEqBlacklist = 0;
111 113
112 fMapBufferFlags = kNone_MapFlags; 114 fMapBufferFlags = kNone_MapFlags;
113 115
114 fMaxVertexAttributes = 0; 116 fMaxVertexAttributes = 0;
115 fMaxRenderTargetSize = 1; 117 fMaxRenderTargetSize = 1;
116 fMaxTextureSize = 1; 118 fMaxTextureSize = 1;
117 fMaxColorSampleCount = 0; 119 fMaxColorSampleCount = 0;
118 fMaxStencilSampleCount = 0; 120 fMaxStencilSampleCount = 0;
119 fMaxRasterSamples = 0; 121 fMaxRasterSamples = 0;
120 122
121 fSuppressPrints = options.fSuppressPrints; 123 fSuppressPrints = options.fSuppressPrints;
122 fImmediateFlush = options.fImmediateMode; 124 fImmediateFlush = options.fImmediateMode;
123 fBufferMapThreshold = options.fBufferMapThreshold; 125 fBufferMapThreshold = options.fBufferMapThreshold;
124 fUseDrawInsteadOfPartialRenderTargetWrite = options.fUseDrawInsteadOfPartial RenderTargetWrite; 126 fUseDrawInsteadOfPartialRenderTargetWrite = options.fUseDrawInsteadOfPartial RenderTargetWrite;
125 fUseDrawInsteadOfAllRenderTargetWrites = false; 127 fUseDrawInsteadOfAllRenderTargetWrites = false;
128 fAvoidInstancedDrawsToFPTargets = false;
126 129
127 fPreferVRAMUseOverFlushes = true; 130 fPreferVRAMUseOverFlushes = true;
128 } 131 }
129 132
130 void GrCaps::applyOptionsOverrides(const GrContextOptions& options) { 133 void GrCaps::applyOptionsOverrides(const GrContextOptions& options) {
131 fMaxTextureSize = SkTMin(fMaxTextureSize, options.fMaxTextureSizeOverride); 134 fMaxTextureSize = SkTMin(fMaxTextureSize, options.fMaxTextureSizeOverride);
132 // If the max tile override is zero, it means we should use the max texture size. 135 // If the max tile override is zero, it means we should use the max texture size.
133 if (!options.fMaxTileSizeOverride || options.fMaxTileSizeOverride > fMaxText ureSize) { 136 if (!options.fMaxTileSizeOverride || options.fMaxTileSizeOverride > fMaxText ureSize) {
134 fMaxTileSize = fMaxTextureSize; 137 fMaxTileSize = fMaxTextureSize;
135 } else { 138 } else {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 r.appendf("Advanced Blend Equation Blacklist : 0x%x\n", fAdvBlendEqBlac klist); 193 r.appendf("Advanced Blend Equation Blacklist : 0x%x\n", fAdvBlendEqBlac klist);
191 } 194 }
192 195
193 r.appendf("Max Vertex Attributes : %d\n", fMaxVertexAttributes) ; 196 r.appendf("Max Vertex Attributes : %d\n", fMaxVertexAttributes) ;
194 r.appendf("Max Texture Size : %d\n", fMaxTextureSize); 197 r.appendf("Max Texture Size : %d\n", fMaxTextureSize);
195 r.appendf("Max Render Target Size : %d\n", fMaxRenderTargetSize) ; 198 r.appendf("Max Render Target Size : %d\n", fMaxRenderTargetSize) ;
196 r.appendf("Max Color Sample Count : %d\n", fMaxColorSampleCount) ; 199 r.appendf("Max Color Sample Count : %d\n", fMaxColorSampleCount) ;
197 r.appendf("Max Stencil Sample Count : %d\n", fMaxStencilSampleCoun t); 200 r.appendf("Max Stencil Sample Count : %d\n", fMaxStencilSampleCoun t);
198 r.appendf("Max Raster Samples : %d\n", fMaxRasterSamples); 201 r.appendf("Max Raster Samples : %d\n", fMaxRasterSamples);
199 202
203 static const char* kInstancedSupportNames[] = {
204 "None",
205 "Basic",
206 "Multisampled",
207 "Mixed Sampled",
208 };
209 GR_STATIC_ASSERT(0 == (int)InstancedSupport::kNone);
210 GR_STATIC_ASSERT(1 == (int)InstancedSupport::kBasic);
211 GR_STATIC_ASSERT(2 == (int)InstancedSupport::kMultisampled);
212 GR_STATIC_ASSERT(3 == (int)InstancedSupport::kMixedSampled);
213 GR_STATIC_ASSERT(4 == SK_ARRAY_COUNT(kInstancedSupportNames));
214
215 r.appendf("Instanced Support : %s\n",
216 kInstancedSupportNames[(int)fInstancedSupport]);
217
200 static const char* kBlendEquationSupportNames[] = { 218 static const char* kBlendEquationSupportNames[] = {
201 "Basic", 219 "Basic",
202 "Advanced", 220 "Advanced",
203 "Advanced Coherent", 221 "Advanced Coherent",
204 }; 222 };
205 GR_STATIC_ASSERT(0 == kBasic_BlendEquationSupport); 223 GR_STATIC_ASSERT(0 == kBasic_BlendEquationSupport);
206 GR_STATIC_ASSERT(1 == kAdvanced_BlendEquationSupport); 224 GR_STATIC_ASSERT(1 == kAdvanced_BlendEquationSupport);
207 GR_STATIC_ASSERT(2 == kAdvancedCoherent_BlendEquationSupport); 225 GR_STATIC_ASSERT(2 == kAdvancedCoherent_BlendEquationSupport);
208 GR_STATIC_ASSERT(SK_ARRAY_COUNT(kBlendEquationSupportNames) == kLast_BlendEq uationSupport + 1); 226 GR_STATIC_ASSERT(SK_ARRAY_COUNT(kBlendEquationSupportNames) == kLast_BlendEq uationSupport + 1);
209 227
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 281
264 for (size_t i = 1; i < SK_ARRAY_COUNT(kConfigNames); ++i) { 282 for (size_t i = 1; i < SK_ARRAY_COUNT(kConfigNames); ++i) {
265 GrPixelConfig config = static_cast<GrPixelConfig>(i); 283 GrPixelConfig config = static_cast<GrPixelConfig>(i);
266 r.appendf("%s is uploadable to a texture: %s\n", 284 r.appendf("%s is uploadable to a texture: %s\n",
267 kConfigNames[i], 285 kConfigNames[i],
268 gNY[this->isConfigTexturable(config)]); 286 gNY[this->isConfigTexturable(config)]);
269 } 287 }
270 288
271 return r; 289 return r;
272 } 290 }
OLDNEW
« no previous file with comments | « include/gpu/GrContextOptions.h ('k') | src/gpu/GrDrawContext.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698