diff options
Diffstat (limited to 'services/surfaceflinger/tests/BufferGenerator.cpp')
-rw-r--r-- | services/surfaceflinger/tests/BufferGenerator.cpp | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/services/surfaceflinger/tests/BufferGenerator.cpp b/services/surfaceflinger/tests/BufferGenerator.cpp index 293738cfcb..47a150dd35 100644 --- a/services/surfaceflinger/tests/BufferGenerator.cpp +++ b/services/surfaceflinger/tests/BufferGenerator.cpp @@ -70,7 +70,7 @@ public: consumer->setDefaultBufferSize(width, height); consumer->setDefaultBufferFormat(format); - mBufferItemConsumer = new BufferItemConsumer(consumer, 0); + mBufferItemConsumer = new BufferItemConsumer(consumer, GraphicBuffer::USAGE_HW_TEXTURE); mListener = new BufferListener(consumer, callback); mBufferItemConsumer->setFrameAvailableListener(mListener); @@ -88,7 +88,7 @@ private: sp<Surface> mSurface; }; -/* Used to generate valid fences. It is not possible to create a dummy sync +/* Used to generate valid fences. It is not possible to create a placeholder sync * fence for testing. Egl can generate buffers along with a valid fence. * The buffer cannot be guaranteed to be the same format across all devices so * a CPU filled buffer is used instead. The Egl fence is used along with the @@ -296,12 +296,12 @@ private: BufferGenerator::BufferGenerator() : mSurfaceManager(new SurfaceManager), mEglManager(new EglManager), mProgram(new Program) { - const float width = 1000.0; - const float height = 1000.0; + mBufferSize.set(1000.0, 1000.0); auto setBufferWithContext = std::bind(setBuffer, std::placeholders::_1, std::placeholders::_2, this); - mSurfaceManager->initialize(width, height, HAL_PIXEL_FORMAT_RGBA_8888, setBufferWithContext); + mSurfaceManager->initialize(mBufferSize.width, mBufferSize.height, HAL_PIXEL_FORMAT_RGBA_8888, + setBufferWithContext); if (!mEglManager->initialize(mSurfaceManager->getSurface())) return; @@ -309,7 +309,9 @@ BufferGenerator::BufferGenerator() if (!mProgram->initialize(VERTEX_SHADER, FRAGMENT_SHADER)) return; mProgram->use(); - mProgram->bindVec4(0, vec4{width, height, 1.0f / width, 1.0f / height}); + mProgram->bindVec4(0, + vec4{mBufferSize.width, mBufferSize.height, 1.0f / mBufferSize.width, + 1.0f / mBufferSize.height}); mProgram->bindVec3(2, &SPHERICAL_HARMONICS[0], 4); glEnableVertexAttribArray(0); @@ -372,6 +374,10 @@ status_t BufferGenerator::get(sp<GraphicBuffer>* outBuffer, sp<Fence>* outFence) return NO_ERROR; } +ui::Size BufferGenerator::getSize() { + return mBufferSize; +} + // static void BufferGenerator::setBuffer(const sp<GraphicBuffer>& buffer, int32_t fence, void* bufferGenerator) { |