18bf80f4bSopenharmony_ci#!/bin/bash 28bf80f4bSopenharmony_ci#Copyright (c) 2023 Huawei Device Co., Ltd. 38bf80f4bSopenharmony_ci#Licensed under the Apache License, Version 2.0 (the "License"); 48bf80f4bSopenharmony_ci#you may not use this file except in compliance with the License. 58bf80f4bSopenharmony_ci#You may obtain a copy of the License at 68bf80f4bSopenharmony_ci# 78bf80f4bSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 88bf80f4bSopenharmony_ci 98bf80f4bSopenharmony_ci#Unless required by applicable law or agreed to in writing, software 108bf80f4bSopenharmony_ci#distributed under the License is distributed on an "AS IS" BASIS, 118bf80f4bSopenharmony_ci#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 128bf80f4bSopenharmony_ci#See the License for the specific language governing permissions and 138bf80f4bSopenharmony_ci#limitations under the License. 148bf80f4bSopenharmony_ciset -e 158bf80f4bSopenharmony_ciWORKING_DIR=$(cd "$(dirname "$0")"; pwd) 168bf80f4bSopenharmony_ciPROJECT_ROOT=${WORKING_DIR%/foundation*} 178bf80f4bSopenharmony_cicompile_shader() 188bf80f4bSopenharmony_ci{ 198bf80f4bSopenharmony_ci OPENHARMONY_DIR=$1 208bf80f4bSopenharmony_ci if [ ! -n "$1" ] ;then 218bf80f4bSopenharmony_ci echo "==================orig source shader==================" 228bf80f4bSopenharmony_ci else 238bf80f4bSopenharmony_ci echo "==================copy source shader==================" 248bf80f4bSopenharmony_ci 258bf80f4bSopenharmony_ci cp -r $OPENHARMONY_DIR/foundation/graphic/graphic_3d/lume/Lume_3D/assets/3d/* 3d_source 268bf80f4bSopenharmony_ci cp -r $OPENHARMONY_DIR/foundation/graphic/graphic_3d/lume/Lume_3D/api/* 3d_api 278bf80f4bSopenharmony_ci cp -r $OPENHARMONY_DIR/foundation/graphic/graphic_3d/lume/LumeRender/assets/render/* render_source 288bf80f4bSopenharmony_ci cp -r $OPENHARMONY_DIR/foundation/graphic/graphic_3d/lume/LumeRender/api/* render_api 298bf80f4bSopenharmony_ci cp -r $OPENHARMONY_DIR/foundation/graphic/graphic_3d/lume/LumeEngine/assets/render/* render_source 308bf80f4bSopenharmony_ci fi 318bf80f4bSopenharmony_ci 328bf80f4bSopenharmony_ci rm -rf 3d_dest 338bf80f4bSopenharmony_ci rm -rf render_dest 348bf80f4bSopenharmony_ci rm -rf engine_dest 358bf80f4bSopenharmony_ci 368bf80f4bSopenharmony_ci cp -r 3d_source 3d_dest 378bf80f4bSopenharmony_ci cp -r render_source render_dest 388bf80f4bSopenharmony_ci cp -r engine_source engine_dest 398bf80f4bSopenharmony_ci 408bf80f4bSopenharmony_ci echo "==================build render Shader==================" 418bf80f4bSopenharmony_ci #./LumeShaderCompiler --optimize --source render_dest/shaders --include render_api 428bf80f4bSopenharmony_ci ./LumeShaderCompiler --optimize --source $PROJECT_ROOT/foundation/graphic/graphic_3d/lume/LumeRender/assets/render/shaders --include $PROJECT_ROOT/foundation/graphic/graphic_3d/lume/LumeRender/api/ 438bf80f4bSopenharmony_ci echo "==================build 3d Shader==================" 448bf80f4bSopenharmony_ci ./LumeShaderCompiler --optimize --source $PROJECT_ROOT/foundation/graphic/graphic_3d/lume/Lume_3D/assets/3d/shaders --include $PROJECT_ROOT/foundation/graphic/graphic_3d/lume/Lume_3D/api/ --include $PROJECT_ROOT/foundation/graphic/graphic_3d/lume/LumeRender/api/ 458bf80f4bSopenharmony_ci} 468bf80f4bSopenharmony_ci 478bf80f4bSopenharmony_cicompile_rofs() 488bf80f4bSopenharmony_ci{ 498bf80f4bSopenharmony_ci echo "==================build engine rofs==================" 508bf80f4bSopenharmony_ci ./LumeAssetCompiler -linux -arm64-v8a -extensions ".spv;.json;.lsb;.shader;.shadergs;.shadervid;.shaderpl;.rng;.gl;.gles" engine_dest / BINARYDATAFORCORE SIZEOFDATAFORCORE CORE_ROFS 518bf80f4bSopenharmony_ci mv CORE_ROFS_64.o engine_dest 528bf80f4bSopenharmony_ci 538bf80f4bSopenharmony_ci echo "==================build render rofs==================" 548bf80f4bSopenharmony_ci ./LumeAssetCompiler -linux -arm64-v8a -extensions ".spv;.json;.lsb;.shader;.shadergs;.shadervid;.shaderpl;.rng;.gl;.gles" render_dest / BINARYDATAFORRENDER SIZEOFDATAFORRENDER RENDER_ROFS 558bf80f4bSopenharmony_ci mv RENDER_ROFS_64.o render_dest 568bf80f4bSopenharmony_ci 578bf80f4bSopenharmony_ci echo "==================build 3d rofs==================" 588bf80f4bSopenharmony_ci ./LumeAssetCompiler -linux -arm64-v8a -extensions ".spv;.json;.lsb;.shader;.shadergs;.shadervid;.shaderpl;.rng;.gl;.gles" 3d_dest / BINARY_DATA_FOR_3D SIZE_OF_DATA_FOR_3D CORE3D_ROFS 598bf80f4bSopenharmony_ci mv CORE3D_ROFS_64.o 3d_dest 608bf80f4bSopenharmony_ci 618bf80f4bSopenharmony_ci} 628bf80f4bSopenharmony_ci 638bf80f4bSopenharmony_cimain() 648bf80f4bSopenharmony_ci{ 658bf80f4bSopenharmony_ci if [ "$1" == "shader" ] ;then 668bf80f4bSopenharmony_ci compile_shader $2 678bf80f4bSopenharmony_ci return 688bf80f4bSopenharmony_ci fi 698bf80f4bSopenharmony_ci 708bf80f4bSopenharmony_ci if [ "$1" == "rofs" ] ;then 718bf80f4bSopenharmony_ci compile_rofs 728bf80f4bSopenharmony_ci return 738bf80f4bSopenharmony_ci fi 748bf80f4bSopenharmony_ci 758bf80f4bSopenharmony_ci if [ "$1" == "all" ] ;then 768bf80f4bSopenharmony_ci compile_shader $2 778bf80f4bSopenharmony_ci compile_rofs 788bf80f4bSopenharmony_ci else 798bf80f4bSopenharmony_ci compile_shader 808bf80f4bSopenharmony_ci compile_rofs 818bf80f4bSopenharmony_ci fi 828bf80f4bSopenharmony_ci} 838bf80f4bSopenharmony_ci 848bf80f4bSopenharmony_cimain $1 85