summaryrefslogtreecommitdiff
path: root/libs/hwui/tests/common/TestUtils.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libs/hwui/tests/common/TestUtils.cpp')
-rw-r--r--libs/hwui/tests/common/TestUtils.cpp35
1 files changed, 18 insertions, 17 deletions
diff --git a/libs/hwui/tests/common/TestUtils.cpp b/libs/hwui/tests/common/TestUtils.cpp
index c762eed616e4..5b9b003b4715 100644
--- a/libs/hwui/tests/common/TestUtils.cpp
+++ b/libs/hwui/tests/common/TestUtils.cpp
@@ -18,7 +18,10 @@
#include "hwui/Paint.h"
#include "DeferredLayerUpdater.h"
-#include "LayerRenderer.h"
+
+#include <renderthread/EglManager.h>
+#include <renderthread/OpenGLPipeline.h>
+#include <utils/Unicode.h>
namespace android {
namespace uirenderer {
@@ -43,20 +46,14 @@ SkColor TestUtils::interpolateColor(float fraction, SkColor start, SkColor end)
sp<DeferredLayerUpdater> TestUtils::createTextureLayerUpdater(
renderthread::RenderThread& renderThread, uint32_t width, uint32_t height,
const SkMatrix& transform) {
- Layer* layer = LayerRenderer::createTextureLayer(renderThread.renderState());
- layer->getTransform().load(transform);
-
- sp<DeferredLayerUpdater> layerUpdater = new DeferredLayerUpdater(layer);
+ renderthread::OpenGLPipeline pipeline(renderThread);
+ sp<DeferredLayerUpdater> layerUpdater = pipeline.createTextureLayer();
+ layerUpdater->backingLayer()->getTransform().load(transform);
layerUpdater->setSize(width, height);
layerUpdater->setTransform(&transform);
// updateLayer so it's ready to draw
- bool isOpaque = true;
- bool forceFilter = true;
- GLenum renderTarget = GL_TEXTURE_EXTERNAL_OES;
- LayerRenderer::updateTextureLayer(layer, width, height, isOpaque, forceFilter,
- renderTarget, Matrix4::identity().data);
-
+ layerUpdater->updateLayer(true, GL_TEXTURE_EXTERNAL_OES, Matrix4::identity().data);
return layerUpdater;
}
@@ -68,7 +65,10 @@ void TestUtils::layoutTextUnscaled(const SkPaint& paint, const char* text,
SkSurfaceProps surfaceProps(0, kUnknown_SkPixelGeometry);
SkAutoGlyphCacheNoGamma autoCache(paint, &surfaceProps, &SkMatrix::I());
while (*text != '\0') {
- SkUnichar unichar = SkUTF8_NextUnichar(&text);
+ size_t nextIndex = 0;
+ int32_t unichar = utf32_from_utf8_at(text, 4, 0, &nextIndex);
+ text += nextIndex;
+
glyph_t glyph = autoCache.getCache()->unicharToGlyph(unichar);
autoCache.getCache()->unicharToGlyph(unichar);
@@ -107,12 +107,13 @@ void TestUtils::drawUtf8ToCanvas(Canvas* canvas, const char* text,
void TestUtils::TestTask::run() {
// RenderState only valid once RenderThread is running, so queried here
- RenderState& renderState = renderthread::RenderThread::getInstance().renderState();
+ renderthread::RenderThread& renderThread = renderthread::RenderThread::getInstance();
+ renderThread.eglManager().initialize();
+
+ rtCallback(renderThread);
- renderState.onGLContextCreated();
- rtCallback(renderthread::RenderThread::getInstance());
- renderState.flush(Caches::FlushMode::Full);
- renderState.onGLContextDestroyed();
+ renderThread.renderState().flush(Caches::FlushMode::Full);
+ renderThread.eglManager().destroy();
}
std::unique_ptr<uint16_t[]> TestUtils::asciiToUtf16(const char* str) {