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

Side by Side Diff: src/gpu/GrGpu.h

Issue 1323823003: Remove GrGpuTraceMarker hooks until we rethink the design (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: compiler warning Created 5 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 | « src/gpu/GrDrawTarget.cpp ('k') | src/gpu/GrGpu.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 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 #ifndef GrGpu_DEFINED 8 #ifndef GrGpu_DEFINED
9 #define GrGpu_DEFINED 9 #define GrGpu_DEFINED
10 10
11 #include "GrPipelineBuilder.h" 11 #include "GrPipelineBuilder.h"
12 #include "GrProgramDesc.h" 12 #include "GrProgramDesc.h"
13 #include "GrStencil.h" 13 #include "GrStencil.h"
14 #include "GrTraceMarker.h"
15 #include "GrXferProcessor.h" 14 #include "GrXferProcessor.h"
16 #include "SkPath.h" 15 #include "SkPath.h"
17 16
18 class GrBatchTracker; 17 class GrBatchTracker;
19 class GrContext; 18 class GrContext;
20 class GrGLContext; 19 class GrGLContext;
21 class GrIndexBuffer; 20 class GrIndexBuffer;
22 class GrNonInstancedVertices; 21 class GrNonInstancedVertices;
23 class GrPath; 22 class GrPath;
24 class GrPathRange; 23 class GrPathRange;
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
356 void incRenderTargetBinds() {} 355 void incRenderTargetBinds() {}
357 void incShaderCompilations() {} 356 void incShaderCompilations() {}
358 void incTextureCreates() {} 357 void incTextureCreates() {}
359 void incTextureUploads() {} 358 void incTextureUploads() {}
360 void incStencilAttachmentCreates() {} 359 void incStencilAttachmentCreates() {}
361 #endif 360 #endif
362 }; 361 };
363 362
364 Stats* stats() { return &fStats; } 363 Stats* stats() { return &fStats; }
365 364
366 /**
367 * Called at start and end of gpu trace marking
368 * GR_CREATE_GPU_TRACE_MARKER(marker_str, target) will automatically call th ese at the start
369 * and end of a code block respectively
370 */
371 void addGpuTraceMarker(const GrGpuTraceMarker* marker);
372 void removeGpuTraceMarker(const GrGpuTraceMarker* marker);
373
374 /**
375 * Takes the current active set of markers and stores them for later use. An y current marker
376 * in the active set is removed from the active set and the targets remove f unction is called.
377 * These functions do not work as a stack so you cannot call save a second t ime before calling
378 * restore. Also, it is assumed that when restore is called the current acti ve set of markers
379 * is empty. When the stored markers are added back into the active set, the targets add marker
380 * is called.
381 */
382 void saveActiveTraceMarkers();
383 void restoreActiveTraceMarkers();
384
385 // creation and deletion of raw texture for testing 365 // creation and deletion of raw texture for testing
386 // only to be used in GPU-specific tests 366 // only to be used in GPU-specific tests
387 virtual GrBackendObject createTestingOnlyBackendTexture(void* pixels, int w, int h, 367 virtual GrBackendObject createTestingOnlyBackendTexture(void* pixels, int w, int h,
388 GrPixelConfig config ) const = 0; 368 GrPixelConfig config ) const = 0;
389 virtual bool isTestingOnlyBackendTexture(GrBackendObject id) const = 0; 369 virtual bool isTestingOnlyBackendTexture(GrBackendObject id) const = 0;
390 virtual void deleteTestingOnlyBackendTexture(GrBackendObject id) const = 0; 370 virtual void deleteTestingOnlyBackendTexture(GrBackendObject id) const = 0;
391 371
392 // Given a rt, find or create a stencil buffer and attach it 372 // Given a rt, find or create a stencil buffer and attach it
393 bool attachStencilAttachmentToRenderTarget(GrRenderTarget* target); 373 bool attachStencilAttachmentToRenderTarget(GrRenderTarget* target);
394 374
(...skipping 15 matching lines...) Expand all
410 static void ElevateDrawPreference(GrGpu::DrawPreference* preference, 390 static void ElevateDrawPreference(GrGpu::DrawPreference* preference,
411 GrGpu::DrawPreference elevation) { 391 GrGpu::DrawPreference elevation) {
412 GR_STATIC_ASSERT(GrGpu::kCallerPrefersDraw_DrawPreference > GrGpu::kNoDr aw_DrawPreference); 392 GR_STATIC_ASSERT(GrGpu::kCallerPrefersDraw_DrawPreference > GrGpu::kNoDr aw_DrawPreference);
413 GR_STATIC_ASSERT(GrGpu::kGpuPrefersDraw_DrawPreference > 393 GR_STATIC_ASSERT(GrGpu::kGpuPrefersDraw_DrawPreference >
414 GrGpu::kCallerPrefersDraw_DrawPreference); 394 GrGpu::kCallerPrefersDraw_DrawPreference);
415 GR_STATIC_ASSERT(GrGpu::kRequireDraw_DrawPreference > 395 GR_STATIC_ASSERT(GrGpu::kRequireDraw_DrawPreference >
416 GrGpu::kGpuPrefersDraw_DrawPreference); 396 GrGpu::kGpuPrefersDraw_DrawPreference);
417 *preference = SkTMax(*preference, elevation); 397 *preference = SkTMax(*preference, elevation);
418 } 398 }
419 399
420 const GrTraceMarkerSet& getActiveTraceMarkers() const { return fActiveTraceM arkers; }
421
422 Stats fStats; 400 Stats fStats;
423 SkAutoTDelete<GrPathRendering> fPathRendering; 401 SkAutoTDelete<GrPathRendering> fPathRendering;
424 // Subclass must initialize this in its constructor. 402 // Subclass must initialize this in its constructor.
425 SkAutoTUnref<const GrCaps> fCaps; 403 SkAutoTUnref<const GrCaps> fCaps;
426 404
427 private: 405 private:
428 // called when the 3D context state is unknown. Subclass should emit any 406 // called when the 3D context state is unknown. Subclass should emit any
429 // assumed 3D context state and dirty any state cache. 407 // assumed 3D context state and dirty any state cache.
430 virtual void onResetContext(uint32_t resetBits) = 0; 408 virtual void onResetContext(uint32_t resetBits) = 0;
431 409
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
492 // Should attach the SB to the RT. Returns false if compatible sb could 470 // Should attach the SB to the RT. Returns false if compatible sb could
493 // not be created. 471 // not be created.
494 virtual bool createStencilAttachmentForRenderTarget(GrRenderTarget*, int wid th, int height) = 0; 472 virtual bool createStencilAttachmentForRenderTarget(GrRenderTarget*, int wid th, int height) = 0;
495 473
496 // attaches an existing SB to an existing RT. 474 // attaches an existing SB to an existing RT.
497 virtual bool attachStencilAttachmentToRenderTarget(GrStencilAttachment*, GrR enderTarget*) = 0; 475 virtual bool attachStencilAttachmentToRenderTarget(GrStencilAttachment*, GrR enderTarget*) = 0;
498 476
499 // clears target's entire stencil buffer to 0 477 // clears target's entire stencil buffer to 0
500 virtual void clearStencil(GrRenderTarget* target) = 0; 478 virtual void clearStencil(GrRenderTarget* target) = 0;
501 479
502 virtual void didAddGpuTraceMarker() = 0;
503 virtual void didRemoveGpuTraceMarker() = 0;
504
505 void resetContext() { 480 void resetContext() {
506 this->onResetContext(fResetBits); 481 this->onResetContext(fResetBits);
507 fResetBits = 0; 482 fResetBits = 0;
508 ++fResetTimestamp; 483 ++fResetTimestamp;
509 } 484 }
510 485
511 void handleDirtyContext() { 486 void handleDirtyContext() {
512 if (fResetBits) { 487 if (fResetBits) {
513 this->resetContext(); 488 this->resetContext();
514 } 489 }
515 } 490 }
516 491
517 ResetTimestamp fResetTi mestamp; 492 ResetTimestamp fResetTi mestamp;
518 uint32_t fResetBi ts; 493 uint32_t fResetBi ts;
519 // To keep track that we always have at least as many debug marker adds as r emoves
520 int fGpuTrac eMarkerCount;
521 GrTraceMarkerSet fActiveT raceMarkers;
522 GrTraceMarkerSet fStoredT raceMarkers;
523 // The context owns us, not vice-versa, so this ptr is not ref'ed by Gpu. 494 // The context owns us, not vice-versa, so this ptr is not ref'ed by Gpu.
524 GrContext* fContext ; 495 GrContext* fContext ;
525 496
526 friend class GrPathRendering; 497 friend class GrPathRendering;
527 typedef SkRefCnt INHERITED; 498 typedef SkRefCnt INHERITED;
528 }; 499 };
529 500
530 #endif 501 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrDrawTarget.cpp ('k') | src/gpu/GrGpu.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698