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

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

Issue 1886613003: Remove GrTextureStorageAllocator. This was added from Chromium but never used and not expected to b… (Closed) Base URL: https://chromium.googlesource.com/skia.git@master
Patch Set: Created 4 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
« no previous file with comments | « include/core/SkSurface.h ('k') | src/gpu/GrTexture.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 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 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
437 kTopLeft_GrSurfaceOrigin, 437 kTopLeft_GrSurfaceOrigin,
438 kBottomLeft_GrSurfaceOrigin, 438 kBottomLeft_GrSurfaceOrigin,
439 }; 439 };
440 440
441 struct GrMipLevel { 441 struct GrMipLevel {
442 const void* fPixels; 442 const void* fPixels;
443 size_t fRowBytes; 443 size_t fRowBytes;
444 }; 444 };
445 445
446 /** 446 /**
447 * An container of function pointers which consumers of Skia can fill in and
448 * pass to Skia. Skia will use these function pointers in place of its backend
449 * API texture creation function. Either all of the function pointers should be
450 * filled in, or they should all be nullptr.
451 */
452 struct GrTextureStorageAllocator {
453 GrTextureStorageAllocator()
454 : fAllocateTextureStorage(nullptr)
455 , fDeallocateTextureStorage(nullptr) {
456 }
457
458 enum class Result {
459 kSucceededAndUploaded,
460 kSucceededWithoutUpload,
461 kFailed
462 };
463 typedef Result (*AllocateTextureStorageProc)(
464 void* ctx, GrBackendObject texture, unsigned width,
465 unsigned height, GrPixelConfig config, const void* srcData, GrSurfac eOrigin);
466 typedef void (*DeallocateTextureStorageProc)(void* ctx, GrBackendObject text ure);
467
468 /*
469 * Generates and binds a texture to |textureStorageTarget()|. Allocates
470 * storage for the texture.
471 *
472 * In OpenGL, the MIN and MAX filters for the created texture must be
473 * GL_LINEAR. The WRAP_S and WRAP_T must be GL_CLAMP_TO_EDGE.
474 *
475 * If |srcData| is not nullptr, then the implementation of this function
476 * may attempt to upload the data into the texture. On successful upload,
477 * or if |srcData| is nullptr, returns kSucceededAndUploaded.
478 */
479 AllocateTextureStorageProc fAllocateTextureStorage;
480
481 /*
482 * Deallocate the storage for the given texture.
483 *
484 * Skia does not always destroy its outstanding textures. See
485 * GrContext::abandonContext() for more details. The consumer of Skia is
486 * responsible for making sure that all textures are destroyed, even if this
487 * callback is not invoked.
488 */
489 DeallocateTextureStorageProc fDeallocateTextureStorage;
490
491 /*
492 * The context to use when invoking fAllocateTextureStorage and
493 * fDeallocateTextureStorage.
494 */
495 void* fCtx;
496 };
497
498 /**
499 * Describes a surface to be created. 447 * Describes a surface to be created.
500 */ 448 */
501 struct GrSurfaceDesc { 449 struct GrSurfaceDesc {
502 GrSurfaceDesc() 450 GrSurfaceDesc()
503 : fFlags(kNone_GrSurfaceFlags) 451 : fFlags(kNone_GrSurfaceFlags)
504 , fOrigin(kDefault_GrSurfaceOrigin) 452 , fOrigin(kDefault_GrSurfaceOrigin)
505 , fWidth(0) 453 , fWidth(0)
506 , fHeight(0) 454 , fHeight(0)
507 , fConfig(kUnknown_GrPixelConfig) 455 , fConfig(kUnknown_GrPixelConfig)
508 , fSampleCnt(0) 456 , fSampleCnt(0)
(...skipping 12 matching lines...) Expand all
521 GrPixelConfig fConfig; 469 GrPixelConfig fConfig;
522 470
523 /** 471 /**
524 * The number of samples per pixel or 0 to disable full scene AA. This only 472 * The number of samples per pixel or 0 to disable full scene AA. This only
525 * applies if the kRenderTarget_GrSurfaceFlag is set. The actual number 473 * applies if the kRenderTarget_GrSurfaceFlag is set. The actual number
526 * of samples may not exactly match the request. The request will be rounded 474 * of samples may not exactly match the request. The request will be rounded
527 * up to the next supported sample count, or down if it is larger than the 475 * up to the next supported sample count, or down if it is larger than the
528 * max supported count. 476 * max supported count.
529 */ 477 */
530 int fSampleCnt; 478 int fSampleCnt;
531
532 /**
533 * A custom platform-specific allocator to use in place of the backend APIs
534 * usual texture creation method (e.g. TexImage2D in OpenGL).
535 */
536 GrTextureStorageAllocator fTextureStorageAllocator;
537
538 bool fIsMipMapped; //!< Indicates if the texture has mipma ps 479 bool fIsMipMapped; //!< Indicates if the texture has mipma ps
539 }; 480 };
540 481
541 // Legacy alias 482 // Legacy alias
542 typedef GrSurfaceDesc GrTextureDesc; 483 typedef GrSurfaceDesc GrTextureDesc;
543 484
544 /** 485 /**
545 * Clips are composed from these objects. 486 * Clips are composed from these objects.
546 */ 487 */
547 enum GrClipType { 488 enum GrClipType {
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 return 4 * width * height; 638 return 4 * width * height;
698 } 639 }
699 } 640 }
700 641
701 /** 642 /**
702 * This value translates to reseting all the context state for any backend. 643 * This value translates to reseting all the context state for any backend.
703 */ 644 */
704 static const uint32_t kAll_GrBackendState = 0xffffffff; 645 static const uint32_t kAll_GrBackendState = 0xffffffff;
705 646
706 #endif 647 #endif
OLDNEW
« no previous file with comments | « include/core/SkSurface.h ('k') | src/gpu/GrTexture.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698