OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2010 Google Inc. | 2 * Copyright 2010 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 #ifndef GrTypes_DEFINED | 8 #ifndef GrTypes_DEFINED |
9 #define GrTypes_DEFINED | 9 #define GrTypes_DEFINED |
10 | 10 |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 kOpenGL_GrBackend, | 135 kOpenGL_GrBackend, |
136 kVulkan_GrBackend, | 136 kVulkan_GrBackend, |
137 | 137 |
138 kLast_GrBackend = kVulkan_GrBackend | 138 kLast_GrBackend = kVulkan_GrBackend |
139 }; | 139 }; |
140 const int kBackendCount = kLast_GrBackend + 1; | 140 const int kBackendCount = kLast_GrBackend + 1; |
141 | 141 |
142 /** | 142 /** |
143 * Backend-specific 3D context handle | 143 * Backend-specific 3D context handle |
144 * GrGLInterface* for OpenGL. If NULL will use the default GL interface. | 144 * GrGLInterface* for OpenGL. If NULL will use the default GL interface. |
| 145 * GrVkBackendContext* for Vulkan. |
145 */ | 146 */ |
146 typedef intptr_t GrBackendContext; | 147 typedef intptr_t GrBackendContext; |
147 | 148 |
148 /////////////////////////////////////////////////////////////////////////////// | 149 /////////////////////////////////////////////////////////////////////////////// |
149 | 150 |
150 /** | 151 /** |
151 * Geometric primitives used for drawing. | 152 * Geometric primitives used for drawing. |
152 */ | 153 */ |
153 enum GrPrimitiveType { | 154 enum GrPrimitiveType { |
154 kTriangles_GrPrimitiveType, | 155 kTriangles_GrPrimitiveType, |
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
562 int fHeight; //<! height in pixels | 563 int fHeight; //<! height in pixels |
563 GrPixelConfig fConfig; //<! color format | 564 GrPixelConfig fConfig; //<! color format |
564 /** | 565 /** |
565 * If the render target flag is set and sample count is greater than 0 | 566 * If the render target flag is set and sample count is greater than 0 |
566 * then Gr will create an MSAA buffer that resolves to the texture. | 567 * then Gr will create an MSAA buffer that resolves to the texture. |
567 */ | 568 */ |
568 int fSampleCnt; | 569 int fSampleCnt; |
569 /** | 570 /** |
570 * Handle to the 3D API object. | 571 * Handle to the 3D API object. |
571 * OpenGL: Texture ID. | 572 * OpenGL: Texture ID. |
| 573 * Vulkan: GrVkImageInfo* |
572 */ | 574 */ |
573 GrBackendObject fTextureHandle; | 575 GrBackendObject fTextureHandle; |
574 }; | 576 }; |
575 | 577 |
576 /////////////////////////////////////////////////////////////////////////////// | 578 /////////////////////////////////////////////////////////////////////////////// |
577 | 579 |
578 /** | 580 /** |
579 * Gr can wrap an existing render target created by the client in the 3D API | 581 * Gr can wrap an existing render target created by the client in the 3D API |
580 * with a GrRenderTarget object. The client is responsible for ensuring that the | 582 * with a GrRenderTarget object. The client is responsible for ensuring that the |
581 * underlying 3D API object lives at least as long as the GrRenderTarget object | 583 * underlying 3D API object lives at least as long as the GrRenderTarget object |
(...skipping 14 matching lines...) Expand all Loading... |
596 * about applying other forms of anti-aliasing. | 598 * about applying other forms of anti-aliasing. |
597 */ | 599 */ |
598 int fSampleCnt; | 600 int fSampleCnt; |
599 /** | 601 /** |
600 * Number of bits of stencil per-pixel. | 602 * Number of bits of stencil per-pixel. |
601 */ | 603 */ |
602 int fStencilBits; | 604 int fStencilBits; |
603 /** | 605 /** |
604 * Handle to the 3D API object. | 606 * Handle to the 3D API object. |
605 * OpenGL: FBO ID | 607 * OpenGL: FBO ID |
| 608 * Vulkan: GrVkImageInfo* |
606 */ | 609 */ |
607 GrBackendObject fRenderTargetHandle; | 610 GrBackendObject fRenderTargetHandle; |
608 }; | 611 }; |
609 | 612 |
610 /** | 613 /** |
611 * The GrContext's cache of backend context state can be partially invalidated. | 614 * The GrContext's cache of backend context state can be partially invalidated. |
612 * These enums are specific to the GL backend and we'd add a new set for an alte
rnative backend. | 615 * These enums are specific to the GL backend and we'd add a new set for an alte
rnative backend. |
613 */ | 616 */ |
614 enum GrGLBackendState { | 617 enum GrGLBackendState { |
615 kRenderTarget_GrGLBackendState = 1 << 0, | 618 kRenderTarget_GrGLBackendState = 1 << 0, |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
656 return 4 * width * height; | 659 return 4 * width * height; |
657 } | 660 } |
658 } | 661 } |
659 | 662 |
660 /** | 663 /** |
661 * This value translates to reseting all the context state for any backend. | 664 * This value translates to reseting all the context state for any backend. |
662 */ | 665 */ |
663 static const uint32_t kAll_GrBackendState = 0xffffffff; | 666 static const uint32_t kAll_GrBackendState = 0xffffffff; |
664 | 667 |
665 #endif | 668 #endif |
OLD | NEW |