diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 44f32c1c5d..4785273b78 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -5,7 +5,7 @@ on: pull_request: push: branches: ["main", "release/*", "project/*"] - tags: ["Second_Life_*"] + tags: ["Second_Life*"] jobs: build: @@ -176,16 +176,22 @@ jobs: # seen before, so numerous tests don't know about it. [[ "$arch" == "MINGW6" ]] && arch=CYGWIN export AUTOBUILD="$(which autobuild)" - # Build with a tag like "Second_Life_Project_Shiny#abcdef0" to get a - # viewer channel "Second Life Project Shiny" (ignoring "#hash", - # needed to disambiguate tags). - if [[ "$GITHUB_REF_TYPE" == "tag" && "${GITHUB_REF_NAME:0:12}" == "Second_Life_" ]] - then viewer_channel="${GITHUB_REF_NAME%#*}" - export viewer_channel="${viewer_channel//_/ }" - else export viewer_channel="Second Life Test" + + # determine the viewer channel from the branch name + branch=$AUTOBUILD_VCS_BRANCH + IFS='/' read -ra ba <<< $branch + prefix=${ba[0]} + if [ "$prefix" == "project" ]; then + IFS='_' read -ra prj <<< "${ba[1]}" + # uppercase first letter of each word + export viewer_channel="Second Life Project ${prj[*]^}" + elif [[ "$prefix" == "release" || "$prefix" == "main" ]]; + then + export viewer_channel="Second Life Release" + else + export viewer_channel="Second Life Test" fi echo "viewer_channel=$viewer_channel" >> "$GITHUB_OUTPUT" - # On windows we need to point the build to the correct python # as neither CMake's FindPython nor our custom Python.cmake module # will resolve the correct interpreter location. @@ -354,7 +360,8 @@ jobs: release: needs: [build, sign-and-package-windows, sign-and-package-mac] runs-on: ubuntu-latest - if: github.ref_type == 'tag' && startsWith(github.ref_name, 'Second_Life_') + # Build with a tag like "Second_Life#abcdef0" to generate a release page (used for builds we are planning to deploy). + if: github.ref_type == 'tag' && startsWith(github.ref_name, 'Second_Life') steps: - uses: actions/download-artifact@v4 with: diff --git a/autobuild.xml b/autobuild.xml index 1d68af033b..6506988d77 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -821,18 +821,6 @@ emoji_shortcodes - canonical_repo - https://github.com/secondlife/3p-emoji-shortcodes - copyright - Copyright 2017-2019 Miles Johnson. - description - Emoji shortcodes - license - MIT - license_file - LICENSES/emojibase-license.txt - name - emoji_shortcodes platforms darwin64 @@ -878,8 +866,20 @@ windows64 + license + MIT + license_file + LICENSES/emojibase-license.txt + copyright + Copyright 2017-2019 Miles Johnson. version 6.1.0.5413f58 + name + emoji_shortcodes + canonical_repo + https://github.com/secondlife/3p-emoji-shortcodes + description + Emoji shortcodes expat @@ -1003,16 +1003,6 @@ freetype - copyright - Copyright 2006, 2007, 2008, 2009, 2010 by David Turner, Robert Wilhelm, and Werner Lemberg. - description - Font rendering library - license - FreeType - license_file - LICENSES/freetype.txt - name - freetype platforms darwin64 @@ -1058,8 +1048,18 @@ windows64 + license + FreeType + license_file + LICENSES/freetype.txt + copyright + Copyright 2006, 2007, 2008, 2009, 2010 by David Turner, Robert Wilhelm, and Werner Lemberg. version 2.12.1.557becd + name + freetype + description + Font rendering library glext @@ -1765,15 +1765,6 @@ llca - copyright - Copyright (c) 2016, Linden Research, Inc.; data provided by the Mozilla NSS Project. - - license - mit - license_file - LICENSES/ca-license.txt - name - llca platforms common @@ -1791,8 +1782,17 @@ common + license + mit + license_file + LICENSES/ca-license.txt + copyright + Copyright (c) 2016, Linden Research, Inc.; data provided by the Mozilla NSS Project. + version 202402012004.0 + name + llca llphysicsextensions_source @@ -2176,18 +2176,6 @@ nanosvg - canonical_repo - https://bitbucket.org/lindenlab/3p-nanosvg - copyright - Copyright (c) 2013-14 Mikko Mononen - description - NanoSVG is a simple single-header-file SVG parser and rasterizer - license - Zlib - license_file - LICENSES/nanosvg.txt - name - nanosvg platforms darwin64 @@ -2227,8 +2215,20 @@ windows64 + license + Zlib + license_file + LICENSES/nanosvg.txt + copyright + Copyright (c) 2013-14 Mikko Mononen version 2022.09.27 + name + nanosvg + canonical_repo + https://bitbucket.org/lindenlab/3p-nanosvg + description + NanoSVG is a simple single-header-file SVG parser and rasterizer nghttp2 @@ -2711,7 +2711,7 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors copyright 2010 Vivox, including audio coding using Polycom¨ Siren14TM (ITU-T Rec. G.722.1 Annex C) version - 4.10.0000.32327.5fc3fe7c.571099 + 4.10.0000.32327.5fc3fe7c.5942f08 name slvoice description @@ -2959,16 +2959,6 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors viewer-fonts - copyright - Copyright 2016-2022 Brad Erickson CC-BY-4.0/MIT, Copyright 2016-2022 Twitter, Inc. CC-BY-4.0, Copyright 2013 Joe Loughry and Terence Eden MIT - description - Viewer fonts - license - Various open source - license_file - LICENSES/fonts.txt - name - viewer-fonts platforms darwin64 @@ -3008,8 +2998,18 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors windows64 + license + Various open source + license_file + LICENSES/fonts.txt + copyright + Copyright 2016-2022 Brad Erickson CC-BY-4.0/MIT, Copyright 2016-2022 Twitter, Inc. CC-BY-4.0, Copyright 2013 Joe Loughry and Terence Eden MIT version 1.579464 + name + viewer-fonts + description + Viewer fonts viewer-manager diff --git a/build.sh b/build.sh index 05f6e038e3..b40a86e9e5 100755 --- a/build.sh +++ b/build.sh @@ -178,6 +178,7 @@ pre_build() "$autobuild" configure --quiet -c $variant \ ${eval_autobuild_configure_parameters:---} \ + -DLL_TESTS:BOOL=ON \ -DPACKAGE:BOOL=ON \ -DHAVOK:BOOL="$HAVOK" \ -DRELEASE_CRASH_REPORTING:BOOL="$RELEASE_CRASH_REPORTING" \ diff --git a/indra/llcommon/llcoros.cpp b/indra/llcommon/llcoros.cpp index 20340397db..aa8eca7d90 100644 --- a/indra/llcommon/llcoros.cpp +++ b/indra/llcommon/llcoros.cpp @@ -123,7 +123,7 @@ LLCoros::LLCoros(): // Previously we used // boost::context::guarded_stack_allocator::default_stacksize(); // empirically this is insufficient. - mStackSize(900*1024), + mStackSize(1024*1024), // mCurrent does NOT own the current CoroData instance -- it simply // points to it. So initialize it with a no-op deleter. mCurrent{ [](CoroData*){} } diff --git a/indra/llprimitive/llgltfmaterial.h b/indra/llprimitive/llgltfmaterial.h index dac9c44f8a..c3fdc8d720 100644 --- a/indra/llprimitive/llgltfmaterial.h +++ b/indra/llprimitive/llgltfmaterial.h @@ -122,13 +122,20 @@ public: F32 mRoughnessFactor = 1.f; F32 mAlphaCutoff = 0.5f; - bool mDoubleSided = false; AlphaMode mAlphaMode = ALPHA_MODE_OPAQUE; + bool mDoubleSided = false; + // override specific flags for state that can't use off-by-epsilon or UUID hack bool mOverrideDoubleSided = false; bool mOverrideAlphaMode = false; + // These fields are local to viewer and are a part of local bitmap support + typedef std::map local_tex_map_t; + local_tex_map_t mTrackingIdToLocalTexture; + +public: + // get a UUID based on a hash of this LLGLTFMaterial LLUUID getHash() const; @@ -229,10 +236,6 @@ public: virtual bool replaceLocalTexture(const LLUUID& tracking_id, const LLUUID &old_id, const LLUUID& new_id); virtual void updateTextureTracking(); - // These fields are local to viewer and are a part of local bitmap support - typedef std::map local_tex_map_t; - local_tex_map_t mTrackingIdToLocalTexture; - protected: static LLVector2 vec2FromJson(const std::map& object, const char* key, const LLVector2& default_value); static F32 floatFromJson(const std::map& object, const char* key, const F32 default_value); diff --git a/indra/llprimitive/tests/llgltfmaterial_test.cpp b/indra/llprimitive/tests/llgltfmaterial_test.cpp index 143cf8e9c0..006ab7688d 100644 --- a/indra/llprimitive/tests/llgltfmaterial_test.cpp +++ b/indra/llprimitive/tests/llgltfmaterial_test.cpp @@ -143,7 +143,7 @@ namespace tut #if LL_WINDOWS // If any fields are added/changed, these tests should be updated (consider also updating ASSET_VERSION in LLGLTFMaterial) // This test result will vary between compilers, so only test a single platform - ensure_equals("fields supported for GLTF (sizeof check)", sizeof(LLGLTFMaterial), 216); + ensure_equals("fields supported for GLTF (sizeof check)", sizeof(LLGLTFMaterial), 224); #endif #endif ensure_equals("LLGLTFMaterial texture info count", (U32)LLGLTFMaterial::GLTF_TEXTURE_INFO_COUNT, 4); diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 906b0c57e3..61bfcc86e8 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -920,12 +920,6 @@ bool get_is_category_and_children_removable(LLInventoryModel* model, const LLUUI return false; } - const LLUUID mp_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS); - if (mp_id.notNull() && gInventory.isObjectDescendentOf(folder_id, mp_id)) - { - return false; - } - LLInventoryModel::cat_array_t cat_array; LLInventoryModel::item_array_t item_array; model->collectDescendents(