diff --git a/build/gn/BUILDCONFIG.gn b/build/gn/BUILDCONFIG.gn index 1eaa3981dfef5ff4554401c3cb308c91d004b1da..1f2244a2d3b180d4f0af9cf7b011f2bb4042e7cf 100644 --- a/build/gn/BUILDCONFIG.gn +++ b/build/gn/BUILDCONFIG.gn @@ -76,6 +76,7 @@ declare_args() { is_ft_build = current_os == "linux" sys_inc = "/usr/local/include" + usr_inc = "/usr/include" } if (use_musl_oh == true) { diff --git a/build/prebuild.sh b/build/prebuild.sh index c6fd4895343c214a128923b14405b70d021be295..4fc6dc7fbfb5929bbea79af70dedc702fa238801 100755 --- a/build/prebuild.sh +++ b/build/prebuild.sh @@ -94,22 +94,6 @@ fi cd ${FT_PREBUILD_DIR}/inc sudo cp -fr * /usr/local/include -# install ft_surface_wrapper -if [ ! -d ${FT_PREBUILD_DIR}/rpm/ft_surface_wrapper ]; then - git clone https://gitee.com/ShaoboFeng/ft_surface_wrapper.git ${FT_PREBUILD_DIR}/rpm/ft_surface_wrapper -fi -cd ${FT_PREBUILD_DIR}/rpm/ft_surface_wrapper/ -if [ ! -d ${FT_PREBUILD_DIR}/rpm/ft_surface_wrapper/build ]; then - mkdir build -fi - -cd build -cmake .. -make -j6 -sudo make install -rm -fr ${FT_PREBUILD_DIR}/rpm/ft_surface_wrapper -cd ${PROJECT_DIR} - # install mesa_fangtian if [ ! -d ${FT_PREBUILD_DIR}/rpm/binary ]; then git clone https://gitee.com/ShaoboFeng/rpm-fangtian.git ${FT_PREBUILD_DIR}/rpm/binary diff --git a/display_server/drivers/hal/drm_backend/display_device/drm_frame_buffer.h b/display_server/drivers/hal/drm_backend/display_device/drm_frame_buffer.h index 6cee6d9acdb7548c441d3e83bcdeabee07d285ed..0c2c166584ea93e1a0a0dd8b913f0f2612a4bb15 100644 --- a/display_server/drivers/hal/drm_backend/display_device/drm_frame_buffer.h +++ b/display_server/drivers/hal/drm_backend/display_device/drm_frame_buffer.h @@ -18,7 +18,6 @@ #include #include -#include "buffer_handle.h" #include "display_type.h" #include "drm_common.h" diff --git a/display_server/drivers/hal/drm_backend/display_device/hdi_layer.h b/display_server/drivers/hal/drm_backend/display_device/hdi_layer.h index 291c922fb862a6690eb47e2c08669477cdc323b0..30ac6993068ec64e4663383edff819a6b6304bb4 100644 --- a/display_server/drivers/hal/drm_backend/display_device/hdi_layer.h +++ b/display_server/drivers/hal/drm_backend/display_device/hdi_layer.h @@ -19,7 +19,6 @@ #include #include "unique_fd.h" -#include "buffer_handle.h" #include "display_type.h" #include "noncopyable_hal.h" diff --git a/display_server/drivers/hal/drm_backend/display_gralloc/BUILD.gn b/display_server/drivers/hal/drm_backend/display_gralloc/BUILD.gn index c962b325645f40319868c3c44dc26a7b1ec97b33..3dd8760fc93e74c22d6b0d66b56f28baa5be2ac2 100644 --- a/display_server/drivers/hal/drm_backend/display_gralloc/BUILD.gn +++ b/display_server/drivers/hal/drm_backend/display_gralloc/BUILD.gn @@ -16,9 +16,9 @@ config("display_gralloc_public_config") { include_dirs = [ "//display_server/drivers/hal/drm_backend/display_gralloc", "//display_server/drivers/hal/drm_backend/include", - "//display_server/drivers/interfaces", "//display_server/drivers/base", + "${usr_inc}/ftsurface", ] } diff --git a/display_server/drivers/hal/drm_backend/display_gralloc/gbm_allocator.cpp b/display_server/drivers/hal/drm_backend/display_gralloc/gbm_allocator.cpp index 6b81bbf39085a12cfbfeb657669f6f501ba2d8fe..f5310b788a3b462eb4da06b208d710aa89d2cbff 100644 --- a/display_server/drivers/hal/drm_backend/display_gralloc/gbm_allocator.cpp +++ b/display_server/drivers/hal/drm_backend/display_gralloc/gbm_allocator.cpp @@ -19,7 +19,6 @@ #include "display_gralloc_private.h" #include "hi_gbm_format.h" #include "display_type.h" -#include "buffer_handle.h" #include "log.h" #include "types.h" diff --git a/display_server/drivers/hdi_service/gralloc/client/allocator_adapter.h b/display_server/drivers/hdi_service/gralloc/client/allocator_adapter.h index 5801c2131ce258a22b85972d0192ba72680422d9..6063331907e0ed89997453761909cb5879c21cac 100644 --- a/display_server/drivers/hdi_service/gralloc/client/allocator_adapter.h +++ b/display_server/drivers/hdi_service/gralloc/client/allocator_adapter.h @@ -16,7 +16,6 @@ #ifndef HDI_ALLOCATOR_ADAPTER_V1_0_H #define HDI_ALLOCATOR_ADAPTER_V1_0_H -#include "buffer_handle.h" #include "display_gralloc.h" #include "display_type.h" #include "idisplay_allocator.h" @@ -40,4 +39,4 @@ private: } // namespace HDI } // namespace OHOS -#endif // HDI_MAPPER_ADAPTER_V1_0_H \ No newline at end of file +#endif // HDI_MAPPER_ADAPTER_V1_0_H diff --git a/display_server/drivers/hdi_service/gralloc/client/display_gralloc_client.h b/display_server/drivers/hdi_service/gralloc/client/display_gralloc_client.h index 2f06df1f848b747c6a3e8a1df0650fd0e5169e94..5533e07a43047ec18bae2a7c76034a7dedc1df10 100644 --- a/display_server/drivers/hdi_service/gralloc/client/display_gralloc_client.h +++ b/display_server/drivers/hdi_service/gralloc/client/display_gralloc_client.h @@ -16,7 +16,6 @@ #ifndef HDI_DISPLAY_GRALLOC_CLIENT_V1_0_H #define HDI_DISPLAY_GRALLOC_CLIENT_V1_0_H -#include "buffer_handle.h" #include "display_type.h" #include "idisplay_gralloc.h" #include "allocator_adapter.h" diff --git a/display_server/drivers/hdi_service/gralloc/client/mapper_adapter.h b/display_server/drivers/hdi_service/gralloc/client/mapper_adapter.h index 4910ad6f346cb1dc7c01f2bb10ff464d5613e6f6..e7ac61c095378a01e5474ab14d3695a71ba2cab2 100644 --- a/display_server/drivers/hdi_service/gralloc/client/mapper_adapter.h +++ b/display_server/drivers/hdi_service/gralloc/client/mapper_adapter.h @@ -16,7 +16,6 @@ #ifndef HDI_MAPPER_ADAPTER_V1_0_H #define HDI_MAPPER_ADAPTER_V1_0_H -#include "buffer_handle.h" #include "display_gralloc.h" #include "display_type.h" diff --git a/display_server/drivers/hdi_service/gralloc/include/idisplay_gralloc.h b/display_server/drivers/hdi_service/gralloc/include/idisplay_gralloc.h index 7eb39652ac1a522d8d7a96917b168f8b80cf416d..88ca11016a5c328615a45abaabec8853ac8bf05c 100644 --- a/display_server/drivers/hdi_service/gralloc/include/idisplay_gralloc.h +++ b/display_server/drivers/hdi_service/gralloc/include/idisplay_gralloc.h @@ -18,7 +18,6 @@ #include #include "display_type.h" -#include "buffer_handle.h" namespace OHOS { namespace HDI { diff --git a/display_server/drivers/interfaces/display_type.h b/display_server/drivers/interfaces/display_type.h index d36bcdd654482551318c46ffb8bf248cb056aa50..4cbffddc9dfd2a64d1906ea7f63cfa8188acfe8d 100644 --- a/display_server/drivers/interfaces/display_type.h +++ b/display_server/drivers/interfaces/display_type.h @@ -46,7 +46,7 @@ #include #include #include -#include "buffer_handle.h" +#include "ftsurface/buffer_handle.h" #ifdef __cplusplus extern "C" { diff --git a/display_server/frameworks/surface/ft_build/BUILD.gn b/display_server/frameworks/surface/ft_build/BUILD.gn index e639b0b6a96efed70f49de60640307243b8ff52f..3db9c9555067b2bc6d70a2a73049b727400f317a 100644 --- a/display_server/frameworks/surface/ft_build/BUILD.gn +++ b/display_server/frameworks/surface/ft_build/BUILD.gn @@ -33,6 +33,7 @@ config("surface_public_config") { "$display_server_root/interfaces/inner_api/common", "$display_server_root/utils/sandbox", "$display_server_root/utils/buffer_handle/export", + "${usr_inc}/ftsurface", ] defines = gpu_defines diff --git a/display_server/frameworks/surface/src/native_window.cpp b/display_server/frameworks/surface/src/native_window.cpp index ae41a9606adc7a81477505d1ee5e8946fc8d80c4..f50228f136f752b88da79501a36f0c58eec51044 100644 --- a/display_server/frameworks/surface/src/native_window.cpp +++ b/display_server/frameworks/surface/src/native_window.cpp @@ -41,7 +41,7 @@ OHNativeWindow* CreateNativeWindowFromSurface(void* pSurface) nativeWindow->config.width = nativeWindow->surface->GetDefaultWidth(); nativeWindow->config.height = nativeWindow->surface->GetDefaultHeight(); nativeWindow->config.usage = BUFFER_USAGE_CPU_READ | BUFFER_USAGE_MEM_DMA; - nativeWindow->config.format = GRAPHIC_PIXEL_FMT_RGBA_8888; + nativeWindow->config.format = GRAPHIC_PIXEL_FMT_BGRA_8888; // TODO get from hal nativeWindow->config.strideAlignment = 8; // default stride is 8 nativeWindow->config.timeout = 3000; // default timeout is 3000 ms nativeWindow->config.colorGamut = GraphicColorGamut::GRAPHIC_COLOR_GAMUT_SRGB; diff --git a/display_server/rosen/modules/2d_graphics/src/render_context/render_context.cpp b/display_server/rosen/modules/2d_graphics/src/render_context/render_context.cpp index ae5badb49b3f7f27738b038d771a77b1a9c71dd2..0b7b2dc3dfcb6e2c64d02e6b607f25e7ebacef1f 100644 --- a/display_server/rosen/modules/2d_graphics/src/render_context/render_context.cpp +++ b/display_server/rosen/modules/2d_graphics/src/render_context/render_context.cpp @@ -291,9 +291,10 @@ sk_sp RenderContext::AcquireSurface(int width, int height) GrGLFramebufferInfo framebufferInfo; framebufferInfo.fFBOID = 0; + framebufferInfo.fFormat = GL_RGBA8; - SkColorType colorType = kRGBA_8888_SkColorType; // TODO: check whether colorType is right + SkColorType colorType = kRGBA_8888_SkColorType; GrBackendRenderTarget backendRenderTarget(width, height, 0, 8, framebufferInfo); SkSurfaceProps surfaceProps = SkSurfaceProps::kLegacyFontHost_InitType; diff --git a/display_server/rosen/modules/render_service/core/pipeline/rs_base_render_engine.cpp b/display_server/rosen/modules/render_service/core/pipeline/rs_base_render_engine.cpp index f230009b1eb67f89fd8e20559b4e45639bd89aba..94b9f88aaeed01177b289de9546e869f7e08946f 100644 --- a/display_server/rosen/modules/render_service/core/pipeline/rs_base_render_engine.cpp +++ b/display_server/rosen/modules/render_service/core/pipeline/rs_base_render_engine.cpp @@ -103,7 +103,7 @@ sk_sp RSBaseRenderEngine::CreateEglImageFromBuffer( } SkColorType colorType = (buffer->GetFormat() == PIXEL_FMT_BGRA_8888) ? kBGRA_8888_SkColorType : kRGBA_8888_SkColorType; - GrGLTextureInfo grExternalTextureInfo = { GL_TEXTURE_EXTERNAL_OES, eglTextureId, GL_RGBA8 }; + GrGLTextureInfo grExternalTextureInfo = { GL_TEXTURE_EXTERNAL_OES, eglTextureId, GL_BGRA8_EXT}; // TODO get from hal GrBackendTexture backendTexture(buffer->GetSurfaceBufferWidth(), buffer->GetSurfaceBufferHeight(), GrMipMapped::kNo, grExternalTextureInfo); return SkImage::MakeFromTexture(renderContext_->GetGrContext(), backendTexture, diff --git a/display_server/utils/buffer_handle/ft_build/BUILD.gn b/display_server/utils/buffer_handle/ft_build/BUILD.gn index ea69a94de19aea54f8a15a6347d0062583e398fb..5c837a69c2ff8a09605f742470481d12d296ff45 100644 --- a/display_server/utils/buffer_handle/ft_build/BUILD.gn +++ b/display_server/utils/buffer_handle/ft_build/BUILD.gn @@ -25,6 +25,7 @@ ft_static_library("buffer_handle") { "${sys_inc}/ipc_core", "${sys_inc}/hilog", "//drivers/peripheral/base", + "${usr_inc}/ftsurface", ] public_configs = [ ":buffer_handle_public" ] diff --git a/samples/BUILD.gn b/samples/BUILD.gn index 8d5ef7d8bab6f41a7db3676a508f3b6102749381..a8ff75596c58431096c220e829af1b9df73690eb 100644 --- a/samples/BUILD.gn +++ b/samples/BUILD.gn @@ -24,7 +24,8 @@ ft_executable("clock") { cflags = [ "-Wno-c++11-narrowing" ] if (enable_gpu) { - defines = [ "ENABLE_GPU" ] + defines = [ "ENABLE_GPU" ] + libs = [ "EGL", "GLESv2" ] } include_dirs = [ @@ -46,5 +47,4 @@ ft_executable("clock") { "//build/gn/configs/system_libs:c_utils", "//build/gn/configs/system_libs:ipc_core", ] - libs = [ "EGL", "GLESv2" ] }