diff options
| author | hendrikw <hendrikw@chromium.org> | 2015-08-27 10:38:39 -0700 |
|---|---|---|
| committer | Commit bot <commit-bot@chromium.org> | 2015-08-27 10:38:39 -0700 |
| commit | 885bf0925514b9dfe3365bab227d36897d866b5d (patch) | |
| tree | 4a80bbcffa086e8bbdede4903a30993dd4783800 /samplecode/SampleApp.cpp | |
| parent | 33c594c9611529ba72474ec52586be65f3e2d76f (diff) | |
skia: add ability to load command_buffer_gles2
BUG=skia:
Review URL: https://codereview.chromium.org/1306823003
Diffstat (limited to 'samplecode/SampleApp.cpp')
| -rw-r--r-- | samplecode/SampleApp.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp index 44daeb63a1..5205007114 100644 --- a/samplecode/SampleApp.cpp +++ b/samplecode/SampleApp.cpp @@ -81,7 +81,9 @@ public: SkTCPServer gServer; #endif -#if SK_ANGLE +#if SK_COMMAND_BUFFER +#define DEFAULT_TO_COMMAND_BUFFER 1 +#elif SK_ANGLE //#define DEFAULT_TO_ANGLE 1 #else #define DEFAULT_TO_GPU 0 // if 1 default rendering is on GPU @@ -197,6 +199,12 @@ public: fBackend = kANGLE_BackEndType; break; #endif // SK_ANGLE +#if SK_COMMAND_BUFFER + case kCommandBuffer_DeviceType: + // Command buffer is really the only other odd man out :D + fBackend = kCommandBuffer_BackEndType; + break; +#endif // SK_COMMAND_BUFFER default: SkASSERT(false); break; @@ -223,6 +231,11 @@ public: glInterface.reset(GrGLCreateANGLEInterface()); break; #endif // SK_ANGLE +#if SK_COMMAND_BUFFER + case kCommandBuffer_DeviceType: + glInterface.reset(GrGLCreateCommandBufferInterface()); + break; +#endif // SK_COMMAND_BUFFER default: SkASSERT(false); break; @@ -670,6 +683,9 @@ static inline SampleWindow::DeviceType cycle_devicetype(SampleWindow::DeviceType #if SK_ANGLE SampleWindow::kANGLE_DeviceType, #endif // SK_ANGLE +#if SK_COMMAND_BUFFER + SampleWindow::kCommandBuffer_DeviceType, +#endif // SK_COMMAND_BUFFER #endif // SK_SUPPORT_GPU SampleWindow::kRaster_DeviceType, }; @@ -790,6 +806,9 @@ SampleWindow::SampleWindow(void* hwnd, int argc, char** argv, DeviceManager* dev #if SK_ANGLE && DEFAULT_TO_ANGLE fDeviceType = kANGLE_DeviceType; #endif +#if SK_COMMAND_BUFFER && DEFAULT_TO_COMMAND_BUFFER + fDeviceType = kCommandBuffer_DeviceType; +#endif fUseClip = false; fAnimating = false; @@ -830,6 +849,9 @@ SampleWindow::SampleWindow(void* hwnd, int argc, char** argv, DeviceManager* dev #if SK_ANGLE "ANGLE", #endif +#if SK_COMMAND_BUFFER + "Command Buffer", +#endif nullptr); fAppMenu->assignKeyEquivalentToItem(itemID, 'd'); itemID = fAppMenu->appendTriState("AA", "AA", sinkID, fAAState); @@ -1939,6 +1961,9 @@ static const char* gDeviceTypePrefix[] = { #if SK_ANGLE "angle: ", #endif // SK_ANGLE +#if SK_COMMAND_BUFFER + "command buffer: ", +#endif // SK_COMMAND_BUFFER #endif // SK_SUPPORT_GPU }; static_assert(SK_ARRAY_COUNT(gDeviceTypePrefix) == SampleWindow::kDeviceTypeCnt, |
