[RenderEngine] Organize RenderEngine directory.
This patch:
1. adds proper namespace renderengine to all RenderEngine code,
and namespace gl to all GLES related code
2. creates gl/ directory for GLES backend code
3. Reorder include header files, remove unused header files.
BUG: 112585051
Test: Build, flash, run display validation
Change-Id: I81f0b8831213607cde08562958f7c38ddaf4c9e6
diff --git a/services/surfaceflinger/RenderEngine/Android.bp b/services/surfaceflinger/RenderEngine/Android.bp
index 13752f2..f62596f 100644
--- a/services/surfaceflinger/RenderEngine/Android.bp
+++ b/services/surfaceflinger/RenderEngine/Android.bp
@@ -41,18 +41,24 @@
name: "librenderengine_sources",
srcs: [
"Description.cpp",
- "GLES20RenderEngine.cpp",
- "GLExtensions.cpp",
"Image.cpp",
"Mesh.cpp",
- "Program.cpp",
- "ProgramCache.cpp",
"RenderEngine.cpp",
"Surface.cpp",
"Texture.cpp",
],
}
+filegroup {
+ name: "librenderengine_gl_sources",
+ srcs: [
+ "gl/GLES20RenderEngine.cpp",
+ "gl/GLExtensions.cpp",
+ "gl/Program.cpp",
+ "gl/ProgramCache.cpp",
+ ],
+}
+
cc_library_static {
name: "librenderengine",
defaults: ["librenderengine_defaults"],
@@ -68,6 +74,7 @@
],
srcs: [
":librenderengine_sources",
+ ":librenderengine_gl_sources",
],
lto: {
thin: true,
diff --git a/services/surfaceflinger/RenderEngine/Description.cpp b/services/surfaceflinger/RenderEngine/Description.cpp
index d5f2103..b7522da 100644
--- a/services/surfaceflinger/RenderEngine/Description.cpp
+++ b/services/surfaceflinger/RenderEngine/Description.cpp
@@ -14,14 +14,14 @@
* limitations under the License.
*/
-#include <renderengine/Description.h>
+#include <renderengine/private/Description.h>
#include <stdint.h>
-#include <string.h>
#include <utils/TypeHelpers.h>
namespace android {
+namespace renderengine {
void Description::setPremultipliedAlpha(bool premultipliedAlpha) {
mPremultipliedAlpha = premultipliedAlpha;
@@ -95,4 +95,5 @@
mDisplayMaxLuminance = maxLuminance;
}
-} /* namespace android */
+} // namespace renderengine
+} // namespace android
diff --git a/services/surfaceflinger/RenderEngine/Image.cpp b/services/surfaceflinger/RenderEngine/Image.cpp
index ee140eb..cabcace 100644
--- a/services/surfaceflinger/RenderEngine/Image.cpp
+++ b/services/surfaceflinger/RenderEngine/Image.cpp
@@ -19,12 +19,11 @@
#include <vector>
#include <log/log.h>
-
-#include <renderengine/GLExtensions.h>
#include <renderengine/RenderEngine.h>
+#include "gl/GLExtensions.h"
namespace android {
-namespace RE {
+namespace renderengine {
Image::~Image() = default;
@@ -43,7 +42,7 @@
attrs.push_back(EGL_IMAGE_PRESERVED_KHR);
attrs.push_back(EGL_TRUE);
- if (isProtected && GLExtensions::getInstance().hasProtectedContent()) {
+ if (isProtected && gl::GLExtensions::getInstance().hasProtectedContent()) {
attrs.push_back(EGL_PROTECTED_CONTENT_EXT);
attrs.push_back(EGL_TRUE);
}
@@ -74,6 +73,6 @@
return true;
}
-} // namespace impl
-} // namespace RE
-} // namespace android
+} // namespace impl
+} // namespace renderengine
+} // namespace android
diff --git a/services/surfaceflinger/RenderEngine/Mesh.cpp b/services/surfaceflinger/RenderEngine/Mesh.cpp
index 43852eb..5a3c2c8 100644
--- a/services/surfaceflinger/RenderEngine/Mesh.cpp
+++ b/services/surfaceflinger/RenderEngine/Mesh.cpp
@@ -19,6 +19,7 @@
#include <utils/Log.h>
namespace android {
+namespace renderengine {
Mesh::Mesh(Primitive primitive, size_t vertexCount, size_t vertexSize, size_t texCoordSize)
: mVertexCount(vertexCount),
@@ -94,4 +95,5 @@
return mStride;
}
-} /* namespace android */
+} // namespace renderengine
+} // namespace android
diff --git a/services/surfaceflinger/RenderEngine/RenderEngine.cpp b/services/surfaceflinger/RenderEngine/RenderEngine.cpp
index 594b1ed..c843428 100644
--- a/services/surfaceflinger/RenderEngine/RenderEngine.cpp
+++ b/services/surfaceflinger/RenderEngine/RenderEngine.cpp
@@ -16,29 +16,30 @@
#include <renderengine/RenderEngine.h>
+#include <vector>
+
#include <android/hardware/configstore/1.0/ISurfaceFlingerConfigs.h>
#include <configstore/Utils.h>
#include <log/log.h>
#include <private/gui/SyncFeatures.h>
-#include <renderengine/GLES20RenderEngine.h>
-#include <renderengine/GLExtensions.h>
#include <renderengine/Image.h>
#include <renderengine/Mesh.h>
#include <renderengine/Surface.h>
#include <ui/Rect.h>
#include <ui/Region.h>
-
-#include <vector>
+#include <utils/KeyedVector.h>
+#include "gl/GLES20RenderEngine.h"
+#include "gl/GLExtensions.h"
+#include "gl/ProgramCache.h"
using namespace android::hardware::configstore;
using namespace android::hardware::configstore::V1_0;
+using namespace android::renderengine::gl;
extern "C" EGLAPI const char* eglQueryStringImplementationANDROID(EGLDisplay dpy, EGLint name);
-// ---------------------------------------------------------------------------
namespace android {
-namespace RE {
-// ---------------------------------------------------------------------------
+namespace renderengine {
RenderEngine::~RenderEngine() = default;
@@ -187,22 +188,22 @@
return mEGLDisplay == eglGetCurrentDisplay() && mEGLContext == eglGetCurrentContext();
}
-std::unique_ptr<RE::Surface> RenderEngine::createSurface() {
+std::unique_ptr<renderengine::Surface> RenderEngine::createSurface() {
return std::make_unique<Surface>(*this);
}
-std::unique_ptr<RE::Image> RenderEngine::createImage() {
+std::unique_ptr<renderengine::Image> RenderEngine::createImage() {
return std::make_unique<Image>(*this);
}
-bool RenderEngine::setCurrentSurface(const android::RE::Surface& surface) {
- // Note: RE::Surface is an abstract interface. This implementation only ever
- // creates RE::impl::Surface's, so it is safe to just cast to the actual
+bool RenderEngine::setCurrentSurface(const android::renderengine::Surface& surface) {
+ // Note: renderengine::Surface is an abstract interface. This implementation only ever
+ // creates renderengine::impl::Surface's, so it is safe to just cast to the actual
// type.
- return setCurrentSurface(static_cast<const android::RE::impl::Surface&>(surface));
+ return setCurrentSurface(static_cast<const android::renderengine::impl::Surface&>(surface));
}
-bool RenderEngine::setCurrentSurface(const android::RE::impl::Surface& surface) {
+bool RenderEngine::setCurrentSurface(const android::renderengine::impl::Surface& surface) {
bool success = true;
EGLSurface eglSurface = surface.getEGLSurface();
if (eglSurface != eglGetCurrentSurface(EGL_DRAW)) {
@@ -374,14 +375,16 @@
glDeleteTextures(count, names);
}
-void RenderEngine::bindExternalTextureImage(uint32_t texName, const android::RE::Image& image) {
- // Note: RE::Image is an abstract interface. This implementation only ever
- // creates RE::impl::Image's, so it is safe to just cast to the actual type.
- return bindExternalTextureImage(texName, static_cast<const android::RE::impl::Image&>(image));
+void RenderEngine::bindExternalTextureImage(uint32_t texName,
+ const android::renderengine::Image& image) {
+ // Note: renderengine::Image is an abstract interface. This implementation only ever
+ // creates renderengine::impl::Image's, so it is safe to just cast to the actual type.
+ return bindExternalTextureImage(texName,
+ static_cast<const android::renderengine::impl::Image&>(image));
}
void RenderEngine::bindExternalTextureImage(uint32_t texName,
- const android::RE::impl::Image& image) {
+ const android::renderengine::impl::Image& image) {
const GLenum target = GL_TEXTURE_EXTERNAL_OES;
glBindTexture(target, texName);
@@ -405,10 +408,9 @@
result.appendFormat("%s\n", extensions.getExtensions());
}
-// ---------------------------------------------------------------------------
-
-void RenderEngine::bindNativeBufferAsFrameBuffer(ANativeWindowBuffer* buffer,
- RE::BindNativeBufferAsFramebuffer* bindHelper) {
+void RenderEngine::bindNativeBufferAsFrameBuffer(
+ ANativeWindowBuffer* buffer,
+ renderengine::BindNativeBufferAsFramebuffer* bindHelper) {
bindHelper->mImage = eglCreateImageKHR(mEGLDisplay, EGL_NO_CONTEXT, EGL_NATIVE_BUFFER_ANDROID,
buffer, nullptr);
if (bindHelper->mImage == EGL_NO_IMAGE_KHR) {
@@ -426,7 +428,8 @@
bindHelper->mStatus = glStatus == GL_FRAMEBUFFER_COMPLETE_OES ? NO_ERROR : BAD_VALUE;
}
-void RenderEngine::unbindNativeBufferAsFrameBuffer(RE::BindNativeBufferAsFramebuffer* bindHelper) {
+void RenderEngine::unbindNativeBufferAsFrameBuffer(
+ renderengine::BindNativeBufferAsFramebuffer* bindHelper) {
if (bindHelper->mImage == EGL_NO_IMAGE_KHR) {
return;
}
@@ -598,8 +601,7 @@
ProgramCache::getInstance().primeCache(mFeatureFlags & USE_COLOR_MANAGEMENT);
}
-// ---------------------------------------------------------------------------
-} // namespace impl
-} // namespace RE
-} // namespace android
+} // namespace impl
+} // namespace renderengine
+} // namespace android
diff --git a/services/surfaceflinger/RenderEngine/Surface.cpp b/services/surfaceflinger/RenderEngine/Surface.cpp
index 3e98ab4..b9f095b 100644
--- a/services/surfaceflinger/RenderEngine/Surface.cpp
+++ b/services/surfaceflinger/RenderEngine/Surface.cpp
@@ -21,7 +21,7 @@
#include <ui/PixelFormat.h>
namespace android {
-namespace RE {
+namespace renderengine {
Surface::~Surface() = default;
@@ -106,6 +106,6 @@
return querySurface(EGL_HEIGHT);
}
-} // namespace impl
-} // namespace RE
-} // namespace android
+} // namespace impl
+} // namespace renderengine
+} // namespace android
diff --git a/services/surfaceflinger/RenderEngine/Texture.cpp b/services/surfaceflinger/RenderEngine/Texture.cpp
index c07ba08..5eabbcf 100644
--- a/services/surfaceflinger/RenderEngine/Texture.cpp
+++ b/services/surfaceflinger/RenderEngine/Texture.cpp
@@ -16,9 +16,8 @@
#include <renderengine/Texture.h>
-#include <string.h>
-
namespace android {
+namespace renderengine {
Texture::Texture()
: mTextureName(0), mTextureTarget(TEXTURE_2D), mWidth(0), mHeight(0), mFiltering(false) {}
@@ -74,4 +73,5 @@
return mHeight;
}
-} /* namespace android */
+} // namespace renderengine
+} // namespace android
diff --git a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp b/services/surfaceflinger/RenderEngine/gl/GLES20RenderEngine.cpp
similarity index 96%
rename from services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp
rename to services/surfaceflinger/RenderEngine/gl/GLES20RenderEngine.cpp
index 617ba76..e0f1850 100644
--- a/services/surfaceflinger/RenderEngine/GLES20RenderEngine.cpp
+++ b/services/surfaceflinger/RenderEngine/gl/GLES20RenderEngine.cpp
@@ -19,28 +19,26 @@
#define LOG_TAG "RenderEngine"
#define ATRACE_TAG ATRACE_TAG_GRAPHICS
-#include <renderengine/GLES20RenderEngine.h>
+#include "GLES20RenderEngine.h"
+
+#include <math.h>
+#include <fstream>
+#include <sstream>
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
-#include <renderengine/Description.h>
+#include <cutils/compiler.h>
#include <renderengine/Mesh.h>
-#include <renderengine/Program.h>
-#include <renderengine/ProgramCache.h>
#include <renderengine/Texture.h>
+#include <renderengine/private/Description.h>
#include <ui/ColorSpace.h>
#include <ui/DebugUtils.h>
#include <ui/Rect.h>
#include <utils/String8.h>
#include <utils/Trace.h>
+#include "Program.h"
+#include "ProgramCache.h"
-#include <cutils/compiler.h>
-#include <math.h>
-
-#include <fstream>
-#include <sstream>
-
-// ---------------------------------------------------------------------------
bool checkGlError(const char* op, int lineNumber) {
bool errorFound = false;
GLint error = glGetError();
@@ -100,11 +98,9 @@
file.write(reinterpret_cast<char*>(outBuffer.data()), outBuffer.size());
}
-// ---------------------------------------------------------------------------
namespace android {
-namespace RE {
-namespace impl {
-// ---------------------------------------------------------------------------
+namespace renderengine {
+namespace gl {
using ui::Dataspace;
@@ -463,11 +459,9 @@
return (isInputHdrDataSpace || isOutputHdrDataSpace) && inputTransfer != outputTransfer;
}
-// ---------------------------------------------------------------------------
-} // namespace impl
-} // namespace RE
-} // namespace android
-// ---------------------------------------------------------------------------
+} // namespace gl
+} // namespace renderengine
+} // namespace android
#if defined(__gl_h_)
#error "don't include gl/gl.h in this file"
diff --git a/services/surfaceflinger/RenderEngine/include/renderengine/GLES20RenderEngine.h b/services/surfaceflinger/RenderEngine/gl/GLES20RenderEngine.h
similarity index 85%
rename from services/surfaceflinger/RenderEngine/include/renderengine/GLES20RenderEngine.h
rename to services/surfaceflinger/RenderEngine/gl/GLES20RenderEngine.h
index 0e9efdb..c830184 100644
--- a/services/surfaceflinger/RenderEngine/include/renderengine/GLES20RenderEngine.h
+++ b/services/surfaceflinger/RenderEngine/gl/GLES20RenderEngine.h
@@ -21,22 +21,21 @@
#include <sys/types.h>
#include <GLES2/gl2.h>
-#include <renderengine/Description.h>
-#include <renderengine/ProgramCache.h>
#include <renderengine/RenderEngine.h>
+#include <renderengine/private/Description.h>
-// ---------------------------------------------------------------------------
namespace android {
-// ---------------------------------------------------------------------------
class String8;
+
+namespace renderengine {
+
class Mesh;
class Texture;
-namespace RE {
-namespace impl {
+namespace gl {
-class GLES20RenderEngine : public RenderEngine {
+class GLES20RenderEngine : public impl::RenderEngine {
GLuint mProtectedTexName;
GLint mMaxViewportDims[2];
GLint mMaxTextureSize;
@@ -52,7 +51,6 @@
};
Description mState;
- Vector<Group> mGroupStack;
virtual void bindImageAsFramebuffer(EGLImageKHR image, uint32_t* texName, uint32_t* fbName,
uint32_t* status);
@@ -112,10 +110,8 @@
bool needsXYZTransformMatrix() const;
};
-// ---------------------------------------------------------------------------
-} // namespace impl
-} // namespace RE
-} // namespace android
-// ---------------------------------------------------------------------------
+} // namespace gl
+} // namespace renderengine
+} // namespace android
#endif /* SF_GLES20RENDERENGINE_H_ */
diff --git a/services/surfaceflinger/RenderEngine/GLExtensions.cpp b/services/surfaceflinger/RenderEngine/gl/GLExtensions.cpp
similarity index 92%
rename from services/surfaceflinger/RenderEngine/GLExtensions.cpp
rename to services/surfaceflinger/RenderEngine/gl/GLExtensions.cpp
index b4fb2a1..6f50ea7 100644
--- a/services/surfaceflinger/RenderEngine/GLExtensions.cpp
+++ b/services/surfaceflinger/RenderEngine/gl/GLExtensions.cpp
@@ -14,16 +14,17 @@
* limitations under the License.
*/
-#include <renderengine/GLExtensions.h>
+#include "GLExtensions.h"
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
-namespace android {
-// ---------------------------------------------------------------------------
+ANDROID_SINGLETON_STATIC_INSTANCE(android::renderengine::gl::GLExtensions)
-ANDROID_SINGLETON_STATIC_INSTANCE(GLExtensions)
+namespace android {
+namespace renderengine {
+namespace gl {
SortedVector<String8> GLExtensions::parseExtensionString(char const* extensions) {
SortedVector<String8> list;
@@ -120,5 +121,6 @@
return mEGLExtensionList.indexOf(s) >= 0;
}
-// ---------------------------------------------------------------------------
-}; // namespace android
+} // namespace gl
+} // namespace renderengine
+} // namespace android
diff --git a/services/surfaceflinger/RenderEngine/include/renderengine/GLExtensions.h b/services/surfaceflinger/RenderEngine/gl/GLExtensions.h
similarity index 93%
rename from services/surfaceflinger/RenderEngine/include/renderengine/GLExtensions.h
rename to services/surfaceflinger/RenderEngine/gl/GLExtensions.h
index 1ff0d24..efdd8b7 100644
--- a/services/surfaceflinger/RenderEngine/include/renderengine/GLExtensions.h
+++ b/services/surfaceflinger/RenderEngine/gl/GLExtensions.h
@@ -24,13 +24,13 @@
#include <EGL/eglext.h>
#include <GLES/gl.h>
#include <GLES/glext.h>
-
#include <utils/Singleton.h>
#include <utils/SortedVector.h>
#include <utils/String8.h>
namespace android {
-// ---------------------------------------------------------------------------
+namespace renderengine {
+namespace gl {
class GLExtensions : public Singleton<GLExtensions> {
friend class Singleton<GLExtensions>;
@@ -82,7 +82,8 @@
bool hasEGLExtension(char const* extension) const;
};
-// ---------------------------------------------------------------------------
-}; // namespace android
+} // namespace gl
+} // namespace renderengine
+} // namespace android
#endif // ANDROID_SF_GLEXTENSION_H
diff --git a/services/surfaceflinger/RenderEngine/Program.cpp b/services/surfaceflinger/RenderEngine/gl/Program.cpp
similarity index 96%
rename from services/surfaceflinger/RenderEngine/Program.cpp
rename to services/surfaceflinger/RenderEngine/gl/Program.cpp
index 87371dc..4d6839b 100644
--- a/services/surfaceflinger/RenderEngine/Program.cpp
+++ b/services/surfaceflinger/RenderEngine/gl/Program.cpp
@@ -14,17 +14,19 @@
* limitations under the License.
*/
-#include <renderengine/Program.h>
+#include "Program.h"
#include <stdint.h>
#include <log/log.h>
#include <math/mat4.h>
-#include <renderengine/Description.h>
-#include <renderengine/ProgramCache.h>
+#include <renderengine/private/Description.h>
#include <utils/String8.h>
+#include "ProgramCache.h"
namespace android {
+namespace renderengine {
+namespace gl {
Program::Program(const ProgramCache::Key& /*needs*/, const char* vertex, const char* fragment)
: mInitialized(false) {
@@ -152,4 +154,6 @@
glUniformMatrix4fv(mProjectionMatrixLoc, 1, GL_FALSE, desc.mProjectionMatrix.asArray());
}
-} /* namespace android */
+} // namespace gl
+} // namespace renderengine
+} // namespace android
diff --git a/services/surfaceflinger/RenderEngine/include/renderengine/Program.h b/services/surfaceflinger/RenderEngine/gl/Program.h
similarity index 92%
rename from services/surfaceflinger/RenderEngine/include/renderengine/Program.h
rename to services/surfaceflinger/RenderEngine/gl/Program.h
index 5e621cb..bb429ef 100644
--- a/services/surfaceflinger/RenderEngine/include/renderengine/Program.h
+++ b/services/surfaceflinger/RenderEngine/gl/Program.h
@@ -20,13 +20,16 @@
#include <stdint.h>
#include <GLES2/gl2.h>
-#include <renderengine/Description.h>
-#include <renderengine/ProgramCache.h>
+#include <renderengine/private/Description.h>
+#include "ProgramCache.h"
namespace android {
class String8;
+namespace renderengine {
+namespace gl {
+
/*
* Abstracts a GLSL program comprising a vertex and fragment shader
*/
@@ -85,6 +88,8 @@
GLint mOutputTransformMatrixLoc;
};
-} /* namespace android */
+} // namespace gl
+} // namespace renderengine
+} // namespace android
#endif /* SF_RENDER_ENGINE_PROGRAM_H */
diff --git a/services/surfaceflinger/RenderEngine/ProgramCache.cpp b/services/surfaceflinger/RenderEngine/gl/ProgramCache.cpp
similarity index 98%
rename from services/surfaceflinger/RenderEngine/ProgramCache.cpp
rename to services/surfaceflinger/RenderEngine/gl/ProgramCache.cpp
index b7101e0..a19c1f1 100644
--- a/services/surfaceflinger/RenderEngine/ProgramCache.cpp
+++ b/services/surfaceflinger/RenderEngine/gl/ProgramCache.cpp
@@ -16,17 +16,20 @@
#define ATRACE_TAG ATRACE_TAG_GRAPHICS
-#include <renderengine/ProgramCache.h>
+#include "ProgramCache.h"
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
-#include <renderengine/Description.h>
-#include <renderengine/Program.h>
+#include <renderengine/private/Description.h>
#include <utils/String8.h>
#include <utils/Trace.h>
+#include "Program.h"
+
+ANDROID_SINGLETON_STATIC_INSTANCE(android::renderengine::gl::ProgramCache)
namespace android {
-// -----------------------------------------------------------------------------------------------
+namespace renderengine {
+namespace gl {
/*
* A simple formatter class to automatically add the endl and
@@ -73,10 +76,6 @@
return f;
}
-// -----------------------------------------------------------------------------------------------
-
-ANDROID_SINGLETON_STATIC_INSTANCE(ProgramCache)
-
ProgramCache::ProgramCache() {}
ProgramCache::~ProgramCache() {}
@@ -685,4 +684,6 @@
}
}
-} /* namespace android */
+} // namespace gl
+} // namespace renderengine
+} // namespace android
diff --git a/services/surfaceflinger/RenderEngine/include/renderengine/ProgramCache.h b/services/surfaceflinger/RenderEngine/gl/ProgramCache.h
similarity index 96%
rename from services/surfaceflinger/RenderEngine/include/renderengine/ProgramCache.h
rename to services/surfaceflinger/RenderEngine/gl/ProgramCache.h
index a5bee45..ea77a2d 100644
--- a/services/surfaceflinger/RenderEngine/include/renderengine/ProgramCache.h
+++ b/services/surfaceflinger/RenderEngine/gl/ProgramCache.h
@@ -18,17 +18,23 @@
#define SF_RENDER_ENGINE_PROGRAMCACHE_H
#include <GLES2/gl2.h>
-#include <renderengine/Description.h>
+#include <renderengine/private/Description.h>
#include <utils/KeyedVector.h>
#include <utils/Singleton.h>
#include <utils/TypeHelpers.h>
namespace android {
+class String8;
+
+namespace renderengine {
+
class Description;
+
+namespace gl {
+
class Formatter;
class Program;
-class String8;
/*
* This class generates GLSL programs suitable to handle a given
@@ -188,8 +194,11 @@
DefaultKeyedVector<Key, Program*> mCache;
};
-ANDROID_BASIC_TYPES_TRAITS(ProgramCache::Key)
+} // namespace gl
+} // namespace renderengine
-} /* namespace android */
+ANDROID_BASIC_TYPES_TRAITS(renderengine::gl::ProgramCache::Key)
+
+} // namespace android
#endif /* SF_RENDER_ENGINE_PROGRAMCACHE_H */
diff --git a/services/surfaceflinger/RenderEngine/include/renderengine/Image.h b/services/surfaceflinger/RenderEngine/include/renderengine/Image.h
index c38fe0a..9b34b68 100644
--- a/services/surfaceflinger/RenderEngine/include/renderengine/Image.h
+++ b/services/surfaceflinger/RenderEngine/include/renderengine/Image.h
@@ -24,7 +24,7 @@
struct ANativeWindowBuffer;
namespace android {
-namespace RE {
+namespace renderengine {
class Image {
public:
@@ -36,7 +36,7 @@
class RenderEngine;
-class Image : public RE::Image {
+class Image : public renderengine::Image {
public:
explicit Image(const RenderEngine& engine);
~Image() override;
@@ -55,6 +55,6 @@
EGLImageKHR mEGLImage = EGL_NO_IMAGE_KHR;
};
-} // namespace impl
-} // namespace RE
-} // namespace android
+} // namespace impl
+} // namespace renderengine
+} // namespace android
diff --git a/services/surfaceflinger/RenderEngine/include/renderengine/Mesh.h b/services/surfaceflinger/RenderEngine/include/renderengine/Mesh.h
index d0a9ac0..39ca2f7 100644
--- a/services/surfaceflinger/RenderEngine/include/renderengine/Mesh.h
+++ b/services/surfaceflinger/RenderEngine/include/renderengine/Mesh.h
@@ -20,6 +20,7 @@
#include <stdint.h>
namespace android {
+namespace renderengine {
class Mesh {
public:
@@ -97,5 +98,6 @@
Primitive mPrimitive;
};
-} /* namespace android */
+} // namespace renderengine
+} // namespace android
#endif /* SF_RENDER_ENGINE_MESH_H */
diff --git a/services/surfaceflinger/RenderEngine/include/renderengine/RenderEngine.h b/services/surfaceflinger/RenderEngine/include/renderengine/RenderEngine.h
index 6213784..c532adc 100644
--- a/services/surfaceflinger/RenderEngine/include/renderengine/RenderEngine.h
+++ b/services/surfaceflinger/RenderEngine/include/renderengine/RenderEngine.h
@@ -17,10 +17,9 @@
#ifndef SF_RENDERENGINE_H_
#define SF_RENDERENGINE_H_
-#include <memory>
-
#include <stdint.h>
#include <sys/types.h>
+#include <memory>
#include <EGL/egl.h>
#include <EGL/eglext.h>
@@ -33,21 +32,19 @@
struct ANativeWindowBuffer;
-// ---------------------------------------------------------------------------
namespace android {
-// ---------------------------------------------------------------------------
class String8;
class Rect;
class Region;
+
+namespace renderengine {
+
+class BindNativeBufferAsFramebuffer;
class Mesh;
-class Texture;
-
-namespace RE {
-
class Image;
class Surface;
-class BindNativeBufferAsFramebuffer;
+class Texture;
namespace impl {
class RenderEngine;
@@ -61,8 +58,8 @@
virtual ~RenderEngine() = 0;
- virtual std::unique_ptr<RE::Surface> createSurface() = 0;
- virtual std::unique_ptr<RE::Image> createImage() = 0;
+ virtual std::unique_ptr<renderengine::Surface> createSurface() = 0;
+ virtual std::unique_ptr<renderengine::Image> createImage() = 0;
virtual void primeCache() const = 0;
@@ -73,7 +70,7 @@
virtual bool useWaitSync() const = 0;
virtual bool isCurrent() const = 0;
- virtual bool setCurrentSurface(const RE::Surface& surface) = 0;
+ virtual bool setCurrentSurface(const renderengine::Surface& surface) = 0;
virtual void resetCurrentSurface() = 0;
// helpers
@@ -97,11 +94,11 @@
virtual void disableScissor() = 0;
virtual void genTextures(size_t count, uint32_t* names) = 0;
virtual void deleteTextures(size_t count, uint32_t const* names) = 0;
- virtual void bindExternalTextureImage(uint32_t texName, const RE::Image& image) = 0;
+ virtual void bindExternalTextureImage(uint32_t texName, const renderengine::Image& image) = 0;
virtual void readPixels(size_t l, size_t b, size_t w, size_t h, uint32_t* pixels) = 0;
virtual void bindNativeBufferAsFrameBuffer(ANativeWindowBuffer* buffer,
- RE::BindNativeBufferAsFramebuffer* bindHelper) = 0;
- virtual void unbindNativeBufferAsFrameBuffer(RE::BindNativeBufferAsFramebuffer* bindHelper) = 0;
+ BindNativeBufferAsFramebuffer* bindHelper) = 0;
+ virtual void unbindNativeBufferAsFrameBuffer(BindNativeBufferAsFramebuffer* bindHelper) = 0;
// set-up
virtual void checkErrors() const;
@@ -155,7 +152,7 @@
class Image;
class Surface;
-class RenderEngine : public RE::RenderEngine {
+class RenderEngine : public renderengine::RenderEngine {
enum GlesVersion {
GLES_VERSION_1_0 = 0x10000,
GLES_VERSION_1_1 = 0x10001,
@@ -185,8 +182,8 @@
// RenderEngine interface implementation
- std::unique_ptr<RE::Surface> createSurface() override;
- std::unique_ptr<RE::Image> createImage() override;
+ std::unique_ptr<renderengine::Surface> createSurface() override;
+ std::unique_ptr<renderengine::Image> createImage() override;
void primeCache() const override;
@@ -197,7 +194,7 @@
bool useWaitSync() const override;
bool isCurrent() const;
- bool setCurrentSurface(const RE::Surface& surface) override;
+ bool setCurrentSurface(const renderengine::Surface& surface) override;
void resetCurrentSurface() override;
// synchronization
@@ -223,7 +220,7 @@
void disableScissor() override;
void genTextures(size_t count, uint32_t* names) override;
void deleteTextures(size_t count, uint32_t const* names) override;
- void bindExternalTextureImage(uint32_t texName, const RE::Image& image) override;
+ void bindExternalTextureImage(uint32_t texName, const renderengine::Image& image) override;
void readPixels(size_t l, size_t b, size_t w, size_t h, uint32_t* pixels) override;
void checkErrors() const override;
@@ -235,12 +232,14 @@
EGLConfig getEGLConfig() const;
// Common implementation
- bool setCurrentSurface(const RE::impl::Surface& surface);
- void bindExternalTextureImage(uint32_t texName, const RE::impl::Image& image);
+ bool setCurrentSurface(const renderengine::impl::Surface& surface);
+ void bindExternalTextureImage(uint32_t texName, const renderengine::impl::Image& image);
- void bindNativeBufferAsFrameBuffer(ANativeWindowBuffer* buffer,
- RE::BindNativeBufferAsFramebuffer* bindHelper) override;
- void unbindNativeBufferAsFrameBuffer(RE::BindNativeBufferAsFramebuffer* bindHelper) override;
+ void bindNativeBufferAsFrameBuffer(
+ ANativeWindowBuffer* buffer,
+ renderengine::BindNativeBufferAsFramebuffer* bindHelper) override;
+ void unbindNativeBufferAsFrameBuffer(
+ renderengine::BindNativeBufferAsFramebuffer* bindHelper) override;
// Overriden by each specialization
virtual void bindImageAsFramebuffer(EGLImageKHR image, uint32_t* texName, uint32_t* fbName,
@@ -248,8 +247,8 @@
virtual void unbindFramebuffer(uint32_t texName, uint32_t fbName) = 0;
};
-} // namespace impl
-} // namespace RE
-} // namespace android
+} // namespace impl
+} // namespace renderengine
+} // namespace android
#endif /* SF_RENDERENGINE_H_ */
diff --git a/services/surfaceflinger/RenderEngine/include/renderengine/Surface.h b/services/surfaceflinger/RenderEngine/include/renderengine/Surface.h
index d4d3d8c..aaa9c7b 100644
--- a/services/surfaceflinger/RenderEngine/include/renderengine/Surface.h
+++ b/services/surfaceflinger/RenderEngine/include/renderengine/Surface.h
@@ -23,7 +23,7 @@
struct ANativeWindow;
namespace android {
-namespace RE {
+namespace renderengine {
class Surface {
public:
@@ -48,7 +48,7 @@
class RenderEngine;
-class Surface final : public RE::Surface {
+class Surface final : public renderengine::Surface {
public:
Surface(const RenderEngine& engine);
~Surface();
@@ -56,7 +56,7 @@
Surface(const Surface&) = delete;
Surface& operator=(const Surface&) = delete;
- // RE::Surface implementation
+ // renderengine::Surface implementation
void setCritical(bool enable) override { mCritical = enable; }
void setAsync(bool enable) override { mAsync = enable; }
@@ -90,6 +90,6 @@
EGLSurface mEGLSurface = EGL_NO_SURFACE;
};
-} // namespace impl
-} // namespace RE
-} // namespace android
+} // namespace impl
+} // namespace renderengine
+} // namespace android
diff --git a/services/surfaceflinger/RenderEngine/include/renderengine/Texture.h b/services/surfaceflinger/RenderEngine/include/renderengine/Texture.h
index 56b6b31..130037c 100644
--- a/services/surfaceflinger/RenderEngine/include/renderengine/Texture.h
+++ b/services/surfaceflinger/RenderEngine/include/renderengine/Texture.h
@@ -14,13 +14,15 @@
* limitations under the License.
*/
-#include <math/mat4.h>
-#include <stdint.h>
-
#ifndef SF_RENDER_ENGINE_TEXTURE_H
#define SF_RENDER_ENGINE_TEXTURE_H
+#include <stdint.h>
+
+#include <math/mat4.h>
+
namespace android {
+namespace renderengine {
class Texture {
uint32_t mTextureName;
@@ -52,5 +54,6 @@
size_t getHeight() const;
};
-} /* namespace android */
+} // namespace renderengine
+} // namespace android
#endif /* SF_RENDER_ENGINE_TEXTURE_H */
diff --git a/services/surfaceflinger/RenderEngine/include/renderengine/Description.h b/services/surfaceflinger/RenderEngine/include/renderengine/private/Description.h
similarity index 93%
rename from services/surfaceflinger/RenderEngine/include/renderengine/Description.h
rename to services/surfaceflinger/RenderEngine/include/renderengine/private/Description.h
index 9bc7e1c..a6301ae 100644
--- a/services/surfaceflinger/RenderEngine/include/renderengine/Description.h
+++ b/services/surfaceflinger/RenderEngine/include/renderengine/private/Description.h
@@ -14,15 +14,18 @@
* limitations under the License.
*/
-#include <GLES2/gl2.h>
-#include <renderengine/Texture.h>
-
#ifndef SF_RENDER_ENGINE_DESCRIPTION_H_
#define SF_RENDER_ENGINE_DESCRIPTION_H_
-namespace android {
+#include <renderengine/Texture.h>
+namespace android {
+namespace renderengine {
+
+namespace gl {
class Program;
+class ProgramCache;
+}
/*
* This holds the state of the rendering engine. This class is used
@@ -63,8 +66,8 @@
void setDisplayMaxLuminance(const float maxLuminance);
private:
- friend class Program;
- friend class ProgramCache;
+ friend class gl::Program;
+ friend class gl::ProgramCache;
// whether textures are premultiplied
bool mPremultipliedAlpha = false;
@@ -94,6 +97,7 @@
mat4 mOutputTransformMatrix;
};
-} /* namespace android */
+} // namespace renderengine
+} // namespace android
#endif /* SF_RENDER_ENGINE_DESCRIPTION_H_ */