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

Side by Side Diff: include/gpu/GrTypes.h

Issue 1001503002: Implement support for mixed sampled render targets (Closed) Base URL: https://skia.googlesource.com/skia.git@mix1
Patch Set: Handle numSamples cases in SkGpuDevice Created 5 years, 8 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
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2010 Google Inc. 3 * Copyright 2010 Google Inc.
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 #ifndef GrTypes_DEFINED 9 #ifndef GrTypes_DEFINED
10 #define GrTypes_DEFINED 10 #define GrTypes_DEFINED
(...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 /** 521 /**
522 * Handle to the 3D API object. 522 * Handle to the 3D API object.
523 * OpenGL: Texture ID. 523 * OpenGL: Texture ID.
524 */ 524 */
525 GrBackendObject fTextureHandle; 525 GrBackendObject fTextureHandle;
526 }; 526 };
527 527
528 /////////////////////////////////////////////////////////////////////////////// 528 ///////////////////////////////////////////////////////////////////////////////
529 529
530 /** 530 /**
531 * Optional bitfield flags that can be set on GrBackendRenderTargetDesc (below).
532 */
533 enum GrBackendRenderTargetFlags {
534 kNone_GrBackendRenderTargetFlags = 0x0,
535 /**
536 * Which buffers are multisampled (color and stencil, or just stencil?).
537 * The default is both. Note that mixing multisampled and aliased buffers
538 * is only possible if NV_framebuffer_mixed_samples is available.
539 */
540 kStencilMSAAOnly_GrBackendRenderTargetFlags = 0x1,
541 };
542
543 GR_MAKE_BITFIELD_OPS(GrBackendRenderTargetFlags)
544
545 /**
531 * Gr can wrap an existing render target created by the client in the 3D API 546 * Gr can wrap an existing render target created by the client in the 3D API
532 * with a GrRenderTarget object. The client is responsible for ensuring that the 547 * with a GrRenderTarget object. The client is responsible for ensuring that the
533 * underlying 3D API object lives at least as long as the GrRenderTarget object 548 * underlying 3D API object lives at least as long as the GrRenderTarget object
534 * wrapping it. We require the client to explicitly provide information about 549 * wrapping it. We require the client to explicitly provide information about
535 * the target, such as width, height, and pixel config rather than querying the 550 * the target, such as width, height, and pixel config rather than querying the
536 * 3D API for these values. We expect these properties to be immutable even if 551 * 3D API for these values. We expect these properties to be immutable even if
537 * the 3D API doesn't require this (OpenGL). 552 * the 3D API doesn't require this (OpenGL).
538 */ 553 */
539 554
540 struct GrBackendRenderTargetDesc { 555 struct GrBackendRenderTargetDesc {
541 GrBackendRenderTargetDesc() { memset(this, 0, sizeof(*this)); } 556 GrBackendRenderTargetDesc() { memset(this, 0, sizeof(*this)); }
557 GrBackendRenderTargetFlags fFlags;
542 int fWidth; //<! width in pixels 558 int fWidth; //<! width in pixels
543 int fHeight; //<! height in pixels 559 int fHeight; //<! height in pixels
544 GrPixelConfig fConfig; //<! color format 560 GrPixelConfig fConfig; //<! color format
545 GrSurfaceOrigin fOrigin; //<! pixel origin 561 GrSurfaceOrigin fOrigin; //<! pixel origin
546 /** 562 /**
547 * The number of samples per pixel. Gr uses this to influence decisions 563 * The number of samples per pixel. Gr uses this to influence decisions
548 * about applying other forms of anti-aliasing. 564 * about applying other forms of anti-aliasing.
549 */ 565 */
550 int fSampleCnt; 566 int fSampleCnt;
551 /** 567 /**
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
626 public: 642 public:
627 GrAutoMalloc() : INHERITED() {} 643 GrAutoMalloc() : INHERITED() {}
628 explicit GrAutoMalloc(size_t size) : INHERITED(size) {} 644 explicit GrAutoMalloc(size_t size) : INHERITED(size) {}
629 virtual ~GrAutoMalloc() {} 645 virtual ~GrAutoMalloc() {}
630 private: 646 private:
631 typedef GrAutoMallocBaseType INHERITED; 647 typedef GrAutoMallocBaseType INHERITED;
632 }; 648 };
633 649
634 #undef GrAutoMallocBaseType 650 #undef GrAutoMallocBaseType
635 #endif 651 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698