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

Side by Side Diff: src/gpu/gl/GrGLGpu.cpp

Issue 1592803002: Differentiate maxColorSamples and maxStencilSamples in GrCaps (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 11 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
« src/gpu/GrContext.cpp ('K') | « src/gpu/gl/GrGLCaps.cpp ('k') | no next file » | 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 2011 Google Inc. 2 * Copyright 2011 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 "GrGLGpu.h" 9 #include "GrGLGpu.h"
10 #include "GrGLGLSL.h" 10 #include "GrGLGLSL.h"
(...skipping 465 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 break; 476 break;
477 case kBorrow_GrWrapOwnership: 477 case kBorrow_GrWrapOwnership:
478 idDesc.fLifeCycle = GrGpuResource::kBorrowed_LifeCycle; 478 idDesc.fLifeCycle = GrGpuResource::kBorrowed_LifeCycle;
479 break; 479 break;
480 } 480 }
481 481
482 surfDesc.fFlags = (GrSurfaceFlags) desc.fFlags; 482 surfDesc.fFlags = (GrSurfaceFlags) desc.fFlags;
483 surfDesc.fWidth = desc.fWidth; 483 surfDesc.fWidth = desc.fWidth;
484 surfDesc.fHeight = desc.fHeight; 484 surfDesc.fHeight = desc.fHeight;
485 surfDesc.fConfig = desc.fConfig; 485 surfDesc.fConfig = desc.fConfig;
486 surfDesc.fSampleCnt = SkTMin(desc.fSampleCnt, this->caps()->maxSampleCount() ); 486 // We require the sample count to be less than both the max color sample cou nt and
487 // max stencil sample count supported by the system
488 int maxSampleCount = SkTMin(this->caps()->maxColorSampleCount(),
489 this->caps()->maxStencilSampleCount());
490 surfDesc.fSampleCnt = SkTMin(desc.fSampleCnt, maxSampleCount);
bsalomon 2016/01/15 18:08:29 Probably want to consider mixed samples here
487 // FIXME: this should be calling resolve_origin(), but Chrome code is curre ntly 491 // FIXME: this should be calling resolve_origin(), but Chrome code is curre ntly
488 // assuming the old behaviour, which is that backend textures are always 492 // assuming the old behaviour, which is that backend textures are always
489 // BottomLeft, even for non-RT's. Once Chrome is fixed, change this to: 493 // BottomLeft, even for non-RT's. Once Chrome is fixed, change this to:
490 // glTexDesc.fOrigin = resolve_origin(desc.fOrigin, renderTarget); 494 // glTexDesc.fOrigin = resolve_origin(desc.fOrigin, renderTarget);
491 if (kDefault_GrSurfaceOrigin == desc.fOrigin) { 495 if (kDefault_GrSurfaceOrigin == desc.fOrigin) {
492 surfDesc.fOrigin = kBottomLeft_GrSurfaceOrigin; 496 surfDesc.fOrigin = kBottomLeft_GrSurfaceOrigin;
493 } else { 497 } else {
494 surfDesc.fOrigin = desc.fOrigin; 498 surfDesc.fOrigin = desc.fOrigin;
495 } 499 }
496 500
(...skipping 29 matching lines...) Expand all
526 idDesc.fLifeCycle = GrGpuResource::kBorrowed_LifeCycle; 530 idDesc.fLifeCycle = GrGpuResource::kBorrowed_LifeCycle;
527 break; 531 break;
528 } 532 }
529 idDesc.fSampleConfig = GrRenderTarget::kUnified_SampleConfig; 533 idDesc.fSampleConfig = GrRenderTarget::kUnified_SampleConfig;
530 534
531 GrSurfaceDesc desc; 535 GrSurfaceDesc desc;
532 desc.fConfig = wrapDesc.fConfig; 536 desc.fConfig = wrapDesc.fConfig;
533 desc.fFlags = kCheckAllocation_GrSurfaceFlag | kRenderTarget_GrSurfaceFlag; 537 desc.fFlags = kCheckAllocation_GrSurfaceFlag | kRenderTarget_GrSurfaceFlag;
534 desc.fWidth = wrapDesc.fWidth; 538 desc.fWidth = wrapDesc.fWidth;
535 desc.fHeight = wrapDesc.fHeight; 539 desc.fHeight = wrapDesc.fHeight;
536 desc.fSampleCnt = SkTMin(wrapDesc.fSampleCnt, this->caps()->maxSampleCount() ); 540 // We require the sample count to be less than both the max color sample cou nt and
541 // max stencil sample count supported by the system
542 int maxSampleCount = SkTMin(this->caps()->maxColorSampleCount(),
543 this->caps()->maxStencilSampleCount());
544 desc.fSampleCnt = SkTMin(wrapDesc.fSampleCnt, maxSampleCount);
bsalomon 2016/01/15 18:08:29 and here
537 desc.fOrigin = resolve_origin(wrapDesc.fOrigin, true); 545 desc.fOrigin = resolve_origin(wrapDesc.fOrigin, true);
538 546
539 return GrGLRenderTarget::CreateWrapped(this, desc, idDesc, wrapDesc.fStencil Bits); 547 return GrGLRenderTarget::CreateWrapped(this, desc, idDesc, wrapDesc.fStencil Bits);
540 } 548 }
541 549
542 //////////////////////////////////////////////////////////////////////////////// 550 ////////////////////////////////////////////////////////////////////////////////
543 bool GrGLGpu::onGetWritePixelsInfo(GrSurface* dstSurface, int width, int height, 551 bool GrGLGpu::onGetWritePixelsInfo(GrSurface* dstSurface, int width, int height,
544 size_t rowBytes, GrPixelConfig srcConfig, 552 size_t rowBytes, GrPixelConfig srcConfig,
545 DrawPreference* drawPreference, 553 DrawPreference* drawPreference,
546 WritePixelTempDrawInfo* tempDrawInfo) { 554 WritePixelTempDrawInfo* tempDrawInfo) {
(...skipping 2937 matching lines...) Expand 10 before | Expand all | Expand 10 after
3484 this->setVertexArrayID(gpu, 0); 3492 this->setVertexArrayID(gpu, 0);
3485 } 3493 }
3486 int attrCount = gpu->glCaps().maxVertexAttributes(); 3494 int attrCount = gpu->glCaps().maxVertexAttributes();
3487 if (fDefaultVertexArrayAttribState.count() != attrCount) { 3495 if (fDefaultVertexArrayAttribState.count() != attrCount) {
3488 fDefaultVertexArrayAttribState.resize(attrCount); 3496 fDefaultVertexArrayAttribState.resize(attrCount);
3489 } 3497 }
3490 attribState = &fDefaultVertexArrayAttribState; 3498 attribState = &fDefaultVertexArrayAttribState;
3491 } 3499 }
3492 return attribState; 3500 return attribState;
3493 } 3501 }
OLDNEW
« src/gpu/GrContext.cpp ('K') | « src/gpu/gl/GrGLCaps.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698