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

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

Issue 2312173002: Revert of Improve usage of window rectangles (Closed) Base URL: https://skia.googlesource.com/skia.git@upload_drawsinreducedclip
Patch Set: Created 4 years, 3 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 | « gyp/gpu.gypi ('k') | include/private/GrSurfaceProxy.h » ('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 2013 Google Inc. 2 * Copyright 2013 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 GrTypesPriv_DEFINED 8 #ifndef GrTypesPriv_DEFINED
9 #define GrTypesPriv_DEFINED 9 #define GrTypesPriv_DEFINED
10 10
11 #include "GrTypes.h" 11 #include "GrTypes.h"
12 #include "SkRect.h"
12 #include "SkRefCnt.h" 13 #include "SkRefCnt.h"
13 14
14 /** 15 /**
15 * Types of shader-language-specific boxed variables we can create. (Currently only GrGLShaderVars, 16 * Types of shader-language-specific boxed variables we can create. (Currently only GrGLShaderVars,
16 * but should be applicable to other shader languages.) 17 * but should be applicable to other shader languages.)
17 */ 18 */
18 enum GrSLType { 19 enum GrSLType {
19 kVoid_GrSLType, 20 kVoid_GrSLType,
20 kFloat_GrSLType, 21 kFloat_GrSLType,
21 kVec2f_GrSLType, 22 kVec2f_GrSLType,
(...skipping 390 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 413
413 /** 414 /**
414 * Indicates the type of pending IO operations that can be recorded for gpu reso urces. 415 * Indicates the type of pending IO operations that can be recorded for gpu reso urces.
415 */ 416 */
416 enum GrIOType { 417 enum GrIOType {
417 kRead_GrIOType, 418 kRead_GrIOType,
418 kWrite_GrIOType, 419 kWrite_GrIOType,
419 kRW_GrIOType 420 kRW_GrIOType
420 }; 421 };
421 422
423 struct GrScissorState {
424 GrScissorState() : fEnabled(false) {}
425 GrScissorState(const SkIRect& rect) : fEnabled(true), fRect(rect) {}
426 void setDisabled() { fEnabled = false; }
427 void set(const SkIRect& rect) { fRect = rect; fEnabled = true; }
428 bool SK_WARN_UNUSED_RESULT intersect(const SkIRect& rect) {
429 if (!fEnabled) {
430 this->set(rect);
431 return true;
432 }
433 return fRect.intersect(rect);
434 }
435 bool operator==(const GrScissorState& other) const {
436 return fEnabled == other.fEnabled &&
437 (false == fEnabled || fRect == other.fRect);
438 }
439 bool operator!=(const GrScissorState& other) const { return !(*this == other ); }
440
441 bool enabled() const { return fEnabled; }
442 const SkIRect& rect() const { return fRect; }
443
444 private:
445 bool fEnabled;
446 SkIRect fRect;
447 };
448
422 /** 449 /**
423 * Indicates the type of data that a GPU buffer will be used for. 450 * Indicates the type of data that a GPU buffer will be used for.
424 */ 451 */
425 enum GrBufferType { 452 enum GrBufferType {
426 kVertex_GrBufferType, 453 kVertex_GrBufferType,
427 kIndex_GrBufferType, 454 kIndex_GrBufferType,
428 kTexel_GrBufferType, 455 kTexel_GrBufferType,
429 kDrawIndirect_GrBufferType, 456 kDrawIndirect_GrBufferType,
430 kXferCpuToGpu_GrBufferType, 457 kXferCpuToGpu_GrBufferType,
431 kXferGpuToCpu_GrBufferType, 458 kXferGpuToCpu_GrBufferType,
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 /** Holder destroys the backend object. */ 503 /** Holder destroys the backend object. */
477 kOwned = true 504 kOwned = true
478 }; 505 };
479 506
480 template <typename T> T * const * sk_sp_address_as_pointer_address(sk_sp<T> cons t * sp) { 507 template <typename T> T * const * sk_sp_address_as_pointer_address(sk_sp<T> cons t * sp) {
481 static_assert(sizeof(T*) == sizeof(sk_sp<T>), "sk_sp not expected size."); 508 static_assert(sizeof(T*) == sizeof(sk_sp<T>), "sk_sp not expected size.");
482 return reinterpret_cast<T * const *>(sp); 509 return reinterpret_cast<T * const *>(sp);
483 } 510 }
484 511
485 #endif 512 #endif
OLDNEW
« no previous file with comments | « gyp/gpu.gypi ('k') | include/private/GrSurfaceProxy.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698