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 | |
parent | 33c594c9611529ba72474ec52586be65f3e2d76f (diff) |
skia: add ability to load command_buffer_gles2
BUG=skia:
Review URL: https://codereview.chromium.org/1306823003
Diffstat (limited to 'samplecode')
-rw-r--r-- | samplecode/SampleApp.cpp | 27 | ||||
-rw-r--r-- | samplecode/SampleApp.h | 6 |
2 files changed, 32 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, diff --git a/samplecode/SampleApp.h b/samplecode/SampleApp.h index d8724955e0..e8eec8bf88 100644 --- a/samplecode/SampleApp.h +++ b/samplecode/SampleApp.h @@ -39,6 +39,9 @@ public: #if SK_ANGLE kANGLE_DeviceType, #endif // SK_ANGLE +#if SK_COMMAND_BUFFER + kCommandBuffer_DeviceType, +#endif // SK_COMMAND_BUFFER #endif // SK_SUPPORT_GPU kDeviceTypeCnt }; @@ -50,6 +53,9 @@ public: #if SK_ANGLE case kANGLE_DeviceType: #endif // SK_ANGLE + #if SK_COMMAND_BUFFER + case kCommandBuffer_DeviceType: + #endif // SK_COMMAND_BUFFER return true; default: return false; |