skia: add ability to load command_buffer_gles2
BUG=skia:
Review URL: https://codereview.chromium.org/1306823003
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 44daeb6..5205007 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -81,7 +81,9 @@
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 @@
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 @@
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 @@
#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 @@
#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 @@
#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 @@
#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,