diff options
| -rw-r--r-- | README.md | 63 | ||||
| -rw-r--r-- | indra/cmake/FMODSTUDIO.cmake | 62 | ||||
| -rw-r--r-- | indra/cmake/GLH.cmake | 8 | ||||
| -rw-r--r-- | indra/cmake/LibVLCPlugin.cmake | 27 | ||||
| -rw-r--r-- | indra/cmake/Mikktspace.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/Prebuilt.cmake | 35 | ||||
| -rw-r--r-- | indra/cmake/TinyEXR.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/TinyGLTF.cmake | 2 | ||||
| -rw-r--r-- | indra/cmake/ViewerMiscLibs.cmake | 14 | ||||
| -rw-r--r-- | indra/llrender/llglheaders.h | 2 | ||||
| -rw-r--r-- | indra/llrender/llrender.cpp | 2 | ||||
| -rw-r--r-- | indra/llrender/llvertexbuffer.cpp | 45 | ||||
| -rw-r--r-- | indra/newview/CMakeLists.txt | 199 | ||||
| -rw-r--r-- | indra/newview/ViewerInstall.cmake | 58 | ||||
| -rw-r--r-- | indra/newview/app_settings/settings.xml | 4 | ||||
| -rw-r--r-- | indra/newview/fsfloatersearch.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/lllogininstance.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_mp_performance.xml | 10 | 
19 files changed, 301 insertions, 240 deletions
@@ -27,27 +27,19 @@ As a third party maintained fork, which includes Apple Silicon native builds, Me  ## Build Instructions  ``` +$ git clone git://megapahit.org/viewer.git  $ cd viewer -$ git remote add megapahit git://megapahit.org/viewer.git -$ git fetch megapahit -$ git checkout megapahit/main -$ git switch -c megapahit  ```  ### macOS  ``` -$ sudo port install cmake pkgconfig apr-util +universal boost +universal collada-dom +universal hunspell +universal jsoncpp +universal openjpeg +universal libsdl2 +universal uriparser +universal libvorbis +universal +$ sudo port install cmake pkgconfig autoconf automake apr-util +universal boost +universal collada-dom +universal hunspell +universal freetype +universal jsoncpp +universal openjpeg +universal openssl11 +universal uriparser +universal libvorbis +universal xxhashlib  $ mkdir -p build/universal-apple-darwin`uname -r`/packages  $ cd ~/Downloads -$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-darwin64-513145c.tar.zst -OL https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwinuniversal-233471337.tar.bz2 -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -L https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz -o meshoptimizer-0.21.tar.gz -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-darwin64-8756084692.tar.zst -OL https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/115452/994130/nanosvg-2022.09.27-darwin64-580364.tar.bz2 -OL https://github.com/secondlife/3p-libndofdev/releases/download/v0.1.8e9edc7/libndofdev-0.1.8e9edc7-darwin64-8e9edc7.tar.zst -L https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.2.tar.gz -o openjpeg-2.5.2.tar.gz -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst -OL https://get.videolan.org/vlc/3.0.21/macosx/vlc-3.0.21-universal.dmg -OL https://github.com/secondlife/3p-webrtc-build/releases/download/m114.5735.08.61/webrtc-m114.5735.08.61.9571920264-darwin64-9571920264.tar.zst -OL https://github.com/crow-misia/libwebrtc-bin/releases/download/114.5735.6.1/libwebrtc-macos-arm64.tar.xz -OL https://sourceforge.net/projects/xmlrpc-epi/files/xmlrpc-epi-base/0.54.2/xmlrpc-epi-0.54.2.tar.bz2 +$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-darwin64-513145c.tar.zst -OL https://megapahit.net/downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwinuniversal-233471337.tar.bz2 -L https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz -o meshoptimizer-0.21.tar.gz -OL https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/115452/994130/nanosvg-2022.09.27-darwin64-580364.tar.bz2 -OL https://github.com/secondlife/3p-libndofdev/releases/download/v0.1.8e9edc7/libndofdev-0.1.8e9edc7-darwin64-8e9edc7.tar.zst -L https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.2.tar.gz -o openjpeg-2.5.2.tar.gz -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst -OL https://get.videolan.org/vlc/3.0.21/macosx/vlc-3.0.21-universal.dmg -OL https://github.com/secondlife/3p-webrtc-build/releases/download/m114.5735.08.61/webrtc-m114.5735.08.61.9571920264-darwin64-9571920264.tar.zst -OL https://github.com/crow-misia/libwebrtc-bin/releases/download/114.5735.6.1/libwebrtc-macos-arm64.tar.xz -OL https://sourceforge.net/projects/xmlrpc-epi/files/xmlrpc-epi-base/0.54.2/xmlrpc-epi-0.54.2.tar.bz2  $ cd -  $ cd .. -$ open ~/Downloads/fmodstudioapi20222mac-installer.dmg -$ open ~/Downloads/vlc-3.0.21-universal.dmg -$ mkdir -p viewer/build/universal-apple-darwin`uname -r`/packages/include/fmodstudio -$ cp /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod*.h* viewer/build/universal-apple-darwin`uname -r`/packages/include/fmodstudio/ -$ cp /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/lib/libfmod.dylib viewer/build/universal-apple-darwin`uname -r`/packages/lib/release/  $ tar xf ~/Downloads/meshoptimizer-0.21.tar.gz  $ tar xf ~/Downloads/openjpeg-2.5.2.tar.gz  $ tar xf ~/Downloads/libwebrtc-macos-arm64.tar.xz @@ -58,7 +50,7 @@ $ git clone https://github.com/secondlife/3p-libndofdev  $ cd meshoptimizer-0.21  $ mkdir -p build/universal-apple-darwin`uname -r`  $ cd build/universal-apple-darwin`uname -r` -$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=12.0 -DMESHOPT_BUILD_SHARED_LIBS:BOOL=ON ../.. +$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.5 -DMESHOPT_BUILD_SHARED_LIBS:BOOL=ON ../..  $ make -j`sysctl -n hw.ncpu`  $ sudo make install  $ cd ../../../openjpeg-2.5.2 @@ -73,7 +65,7 @@ $ rm -f config.sub missing  $ autoreconf -is  $ mkdir -p build/x86_64-apple-darwin`uname -r`  $ cd build/x86_64-apple-darwin`uname -r` -$ export CFLAGS="-arch x86_64" +$ export CFLAGS="-arch x86_64 -mmacosx-version-min=10.5"  $ ../../configure --host=x86_64-apple-darwin`uname -r`  $ make -j`sysctl -n hw.ncpu`  $ sudo make install @@ -82,13 +74,13 @@ $ sed -i '' -e 's/XMLRPC_VALUE find_named_value/__attribute__((always_inline)) X  $ sed -i '' -e 's/void describe_method/__attribute__((always_inline)) void describe_method/g' src/xmlrpc_introspection.c  $ mkdir -p build/aarch64-apple-darwin`uname -r`  $ cd build/aarch64-apple-darwin`uname -r` -$ export CFLAGS="-arch arm64" +$ export CFLAGS="-arch arm64 -mmacosx-version-min=11.0"  $ ../../configure --host=aarch64-apple-darwin`uname -r`  $ make -j`sysctl -n hw.ncpu`  $ sudo lipo src/.libs/libxmlrpc-epi.a /usr/local/lib/libxmlrpc-epi.a -create -output /usr/local/lib/libxmlrpc-epi.a  $ sudo lipo src/.libs/libxmlrpc-epi.0.dylib /usr/local/lib/libxmlrpc-epi.0.dylib -create -output /usr/local/lib/libxmlrpc-epi.0.dylib  $ unset CPPFLAGS CFLAGS -$ cd ../../../../3p-openssl/openssl +$ cd ../../../3p-openssl/openssl  $ mkdir -p build/aarch64-apple-darwin`uname -r`  $ cd build/aarch64-apple-darwin`uname -r`  $ ../../Configure no-shared darwin64-arm64-cc @@ -107,20 +99,12 @@ $ mkdir -p build/aarch64-apple-darwin`uname -r`  $ cd build/aarch64-apple-darwin`uname -r`  $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_OSX_ARCHITECTURES:STRING=arm64 -DCMAKE_C_FLAGS:STRING=-DTARGET_OS_MAC ../..  $ make -j`sysctl -n hw.ncpu` -$ cd ../../../../viewer/indra/newview -$ tar xf ~/Downloads/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst -$ cd ../../build/universal-apple-darwin`uname -r`/packages +$ cd ../../../../viewer/build/universal-apple-darwin`uname -r`/packages  $ tar xf ~/Downloads/curl-7.54.1-513145c-darwin64-513145c.tar.zst  $ tar xf ~/Downloads/dullahan-1.14.0.202312131437_118.7.1_g99817d2_chromium-118.0.5993.119-darwinuniversal-233471337.tar.bz2 -$ tar xf ~/Downloads/emoji_shortcodes-6.1.0.5413f58-darwin64-5413f58.tar.zst -$ tar xf ~/Downloads/glh_linear-1.0.1-dev4-common-984c397.tar.zst -$ tar xf ~/Downloads/llca-202402012004.0-common-0f5d9c3.tar.zst -$ tar xf ~/Downloads/mikktspace-1-darwin64-8756084692.tar.zst  $ tar xf ~/Downloads/nanosvg-2022.09.27-darwin64-580364.tar.bz2  $ tar xf ~/Downloads/libndofdev-0.1.8e9edc7-darwin64-8e9edc7.tar.zst  $ tar xf ~/Downloads/openssl-1.1.1q.de53f55-darwin64-de53f55.tar.zst -$ tar xf ~/Downloads/tinyexr-v1.0.8-common-9373975608.tar.zst -$ tar xf ~/Downloads/tinygltf-v2.5.0-common-1ae57fd.tar.zst  $ tar xf ~/Downloads/webrtc-m114.5735.08.61.9571920264-darwin64-9571920264.tar.zst  $ cd lib/release  $ lipo ../../../../../../3p-openssl/openssl/build/aarch64-apple-darwin`uname -r`/libcrypto.a libcrypto.a -create -output libcrypto.a @@ -134,9 +118,8 @@ $ cd ../../../../../..  $ cd /opt/local/include  $ sudo curl -OL https://raw.githubusercontent.com/DLTcollab/sse2neon/master/sse2neon.h  $ cd - -$ export LL_BUILD="-O3 -gdwarf-2 -stdlib=libc++ -iwithsysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -std=c++17 -fPIC -DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -DNDEBUG -DPIC -DLL_DARWIN=1" +$ export LL_BUILD="-O3 -gdwarf-2 -stdlib=libc++ -mmacosx-version-min=10.15 -iwithsysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -std=c++17 -fPIC -DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -DNDEBUG -DPIC -DLL_DARWIN=1"  $ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=newview/Megapahit.app/Contents/Resources -DCMAKE_OSX_ARCHITECTURES:STRING="arm64;x86_64" -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=OFF -DUSE_FMODSTUDIO:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=ON -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=OFF ../../indra -$ cmake ../../indra  $ make -j`sysctl -n hw.ncpu`  $ make install  $ open newview/Megapahit.app @@ -147,27 +130,15 @@ $ open newview/Megapahit.app  ```  $ mkdir -p build/`uname -m`-linux-gnu/packages  $ cd ~/Downloads -$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-linux64-513145c.tar.zst -OL https://github.com/secondlife/dullahan/releases/download/v1.14.0-r2/dullahan-1.14.0.202404051708_118.4.1_g3dd6078_chromium-118.0.5993.54-linux64-8573290624.tar.zst -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-linux64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-linux64-8756084692.tar.zst -OL https://github.com/secondlife/3p-open-libndofdev/releases/download/v1.14-r2/open_libndofdev-0.14.8730039102-linux64-8730039102.tar.zst -OL https://github.com/uclouvain/openjpeg/releases/download/v2.5.2/openjpeg-v2.5.2-linux-x86_64.tar.gz -L https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.2.tar.gz -o openjpeg-2.5.2.tar.gz -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-linux64-de53f55.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst -OL https://github.com/secondlife/3p-webrtc-build/releases/download/m114.5735.08.61/webrtc-m114.5735.08.61.9571920264-linux64-9571920264.tar.zst +$ curl -OL https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-linux64-513145c.tar.zst -OL https://github.com/secondlife/dullahan/releases/download/v1.14.0-r2/dullahan-1.14.0.202404051708_118.4.1_g3dd6078_chromium-118.0.5993.54-linux64-8573290624.tar.zst -OL https://github.com/secondlife/3p-open-libndofdev/releases/download/v1.14-r2/open_libndofdev-0.14.8730039102-linux64-8730039102.tar.zst -OL https://github.com/uclouvain/openjpeg/releases/download/v2.5.2/openjpeg-v2.5.2-linux-x86_64.tar.gz -L https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.2.tar.gz -o openjpeg-2.5.2.tar.gz -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-linux64-de53f55.tar.zst -OL https://github.com/secondlife/3p-webrtc-build/releases/download/m114.5735.08.61/webrtc-m114.5735.08.61.9571920264-linux64-9571920264.tar.zst  $ cd - -$ cd indra/newview -$ tar xf ~/Downloads/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst -$ cd ../../build/`uname -m`-linux-gnu/packages +$ cd build/`uname -m`-linux-gnu/packages  $ tar xf ~/Downloads/curl-7.54.1-513145c-linux64-513145c.tar.zst  $ tar xf ~/Downloads/dullahan-1.14.0.202404051708_118.4.1_g3dd6078_chromium-118.0.5993.54-linux64-8573290624.tar.zst -$ tar xf ~/Downloads/emoji_shortcodes-6.1.0.5413f58-linux64-5413f58.tar.zst -$ tar xf ~/Downloads/glh_linear-1.0.1-dev4-common-984c397.tar.zst -$ tar xf ~/Downloads/llca-202402012004.0-common-0f5d9c3.tar.zst -$ tar xf ~/Downloads/mikktspace-1-linux64-8756084692.tar.zst  $ tar xf ~/Downloads/open_libndofdev-0.14.8730039102-linux64-8730039102.tar.zst  $ tar xf ~/Downloads/openssl-1.1.1q.de53f55-linux64-de53f55.tar.zst -$ tar xf ~/Downloads/tinyexr-v1.0.8-common-9373975608.tar.zst -$ tar xf ~/Downloads/tinygltf-v2.5.0-common-1ae57fd.tar.zst  $ tar xf ~/Downloads/webrtc-m114.5735.08.61.9571920264-linux64-9571920264.tar.zst  $ cd ../../../.. -$ tar xf ~/Downloads/fmodstudioapi20223linux.tar.gz -$ mkdir viewer/build/`uname -m`-linux-gnu/packages/include/fmodstudio -$ cp fmodstudioapi20223linux/api/core/inc/fmod*.h* viewer/build/`uname -m`-linux-gnu/packages/include/fmodstudio/ -$ cp -P fmodstudioapi20223linux/api/core/lib/x86_64/libfmod.so* viewer/build/`uname -m`-linux-gnu/packages/lib/release/  $ tar xf ~/Downloads/openjpeg-v2.5.2-linux-x86_64.tar.gz  $ cp -R openjpeg-v2.5.2-linux-x86_64/include/openjpeg-2.5 viewer/build/`uname -m`-linux-gnu/packages/include/openjpeg  $ cp openjpeg-v2.5.2-linux-x86_64/lib/libopenjp2.a viewer/build/`uname -m`-linux-gnu/packages/lib/release/ @@ -243,7 +214,7 @@ $ megapahit  ```  $ mkdir -p build/`uname -m`-unknown-freebsd14.1/packages  $ cd ~/Downloads -$ curl -OL https://github.com/secondlife/3p-emoji-shortcodes/releases/download/v6.1.0.5413f58/emoji_shortcodes-6.1.0.5413f58-linux64-5413f58.tar.zst -OL https://github.com/secondlife/3p-glh_linear/releases/download/v1.0.1-dev4-984c397/glh_linear-1.0.1-dev4-common-984c397.tar.zst -OL https://github.com/secondlife/llca/releases/download/v202402012004.0-0f5d9c3/llca-202402012004.0-common-0f5d9c3.tar.zst -OL https://github.com/secondlife/3p-mikktspace/releases/download/v2-e967e1b/mikktspace-1-linux64-8756084692.tar.zst -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-linux64-de53f55.tar.zst -OL https://github.com/secondlife/3p-tinyexr/releases/download/v1.0.8-ba4bc64/tinyexr-v1.0.8-common-9373975608.tar.zst -OL https://github.com/secondlife/3p-tinygltf/releases/download/v2.5.0-1ae57fd/tinygltf-v2.5.0-common-1ae57fd.tar.zst -OL https://github.com/secondlife/3p-viewer-fonts/releases/download/v1.0.0-r1/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst +$ curl -OL https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-linux64-de53f55.tar.zst  $ cd -  $ cd ..  $ git clone https://github.com/secondlife/3p-openssl @@ -253,16 +224,8 @@ $ mkdir -p build/`uname -m`-unknown-freebsd14.1  $ cd -p build/`uname -m`-unknown-freebsd14.1  $ ../../config no-shared  $ make -j`nproc` -$ cd ../../../../viewer/indra/newview -$ tar xf ~/Downloads/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst -$ cd ../../build/`uname -m`-unknown-freebsd14.1/packages -$ tar xf ~/Downloads/emoji_shortcodes-6.1.0.5413f58-linux64-5413f58.tar.zst -$ tar xf ~/Downloads/glh_linear-1.0.1-dev4-common-984c397.tar.zst -$ tar xf ~/Downloads/llca-202402012004.0-common-0f5d9c3.tar.zst -$ tar xf ~/Downloads/mikktspace-1-linux64-8756084692.tar.zst +$ cd ../../../../viewer/build/`uname -m`-unknown-freebsd14.1/packages  $ tar xf ~/Downloads/openssl-1.1.1q.de53f55-linux64-de53f55.tar.zst -$ tar xf ~/Downloads/tinyexr-v1.0.8-common-9373975608.tar.zst -$ tar xf ~/Downloads/tinygltf-v2.5.0-common-1ae57fd.tar.zst  $ cp ../../../../3p-openssl/openssl/build/`uname -m`-unknown-freebsd14.1/lib*.a lib/release/  $ cd ..  $ setenv LL_BUILD "-O3 -std=c++17 -fPIC" diff --git a/indra/cmake/FMODSTUDIO.cmake b/indra/cmake/FMODSTUDIO.cmake index 38437b7bfb..39636d7522 100644 --- a/indra/cmake/FMODSTUDIO.cmake +++ b/indra/cmake/FMODSTUDIO.cmake @@ -30,9 +30,65 @@ if (USE_FMODSTUDIO)      # Note: if you're not using INSTALL_PROPRIETARY, the package URL should be local (file:/// URL)      # as accessing the private LL location will fail if you don't have the credential      include(Prebuilt) -    if (NOT USESYSTEMLIBS) +    if (USESYSTEMLIBS) +      if (DARWIN) +        execute_process( +          COMMAND hdiutil attach -noverify $ENV{HOME}/Downloads/fmodstudioapi20223mac-installer.dmg +          COMMAND mkdir -p +            ${AUTOBUILD_INSTALL_DIR}/include/fmodstudio +            ${AUTOBUILD_INSTALL_DIR}/lib/release +          ) +        execute_process( +          COMMAND cp +            /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod.h +            /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod.hpp +            /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_codec.h +            /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_common.h +            /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_dsp.h +            /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_dsp_effects.h +            /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_errors.h +            /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/inc/fmod_output.h +            ${AUTOBUILD_INSTALL_DIR}/include/fmodstudio/ +          COMMAND cp +            /Volumes/FMOD\ Programmers\ API\ Mac/FMOD\ Programmers\ API/api/core/lib/libfmod.dylib +            ${AUTOBUILD_INSTALL_DIR}/lib/release/ +          ) +        execute_process( +          COMMAND hdiutil detach /Volumes/FMOD\ Programmers\ API\ Mac +          WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" +          RESULT_VARIABLE ${_binary}_installed +          ) +      else (DARWIN) +        execute_process( +          COMMAND tar -xf $ENV{HOME}/Downloads/fmodstudioapi20223linux.tar.gz -C /tmp +          COMMAND mkdir -p ${AUTOBUILD_INSTALL_DIR}/include/fmodstudio +          ) +        execute_process( +          COMMAND cp +            /tmp/fmodstudioapi20223linux/api/core/inc/fmod.h +            /tmp/fmodstudioapi20223linux/api/core/inc/fmod.hpp +            /tmp/fmodstudioapi20223linux/api/core/inc/fmod_codec.h +            /tmp/fmodstudioapi20223linux/api/core/inc/fmod_common.h +            /tmp/fmodstudioapi20223linux/api/core/inc/fmod_dsp.h +            /tmp/fmodstudioapi20223linux/api/core/inc/fmod_dsp_effects.h +            /tmp/fmodstudioapi20223linux/api/core/inc/fmod_errors.h +            /tmp/fmodstudioapi20223linux/api/core/inc/fmod_output.h +            ${AUTOBUILD_INSTALL_DIR}/include/fmodstudio/ +          COMMAND cp -P +            /tmp/fmodstudioapi20223linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so +            /tmp/fmodstudioapi20223linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13 +            /tmp/fmodstudioapi20223linux/api/core/lib/${CMAKE_SYSTEM_PROCESSOR}/libfmod.so.13.23 +            ${AUTOBUILD_INSTALL_DIR}/lib/release/ +          ) +        execute_process( +          COMMAND rm -rf /tmp/fmodstudioapi20223linux +          WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" +          RESULT_VARIABLE ${_binary}_installed +          ) +      endif (DARWIN) +    else (USESYSTEMLIBS)      use_prebuilt_binary(fmodstudio) -    endif () +    endif (USESYSTEMLIBS)      if (WINDOWS)        target_link_libraries( ll::fmodstudio INTERFACE  fmod_vc)      elseif (DARWIN) @@ -42,9 +98,7 @@ if (USE_FMODSTUDIO)        target_link_libraries( ll::fmodstudio INTERFACE  fmod)      endif (WINDOWS) -    if (NOT USESYSTEMLIBS)      target_include_directories( ll::fmodstudio SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/fmodstudio) -    endif ()    endif (FMODSTUDIO_LIBRARY AND FMODSTUDIO_INCLUDE_DIR)  else()    set( USE_FMODSTUDIO "OFF") diff --git a/indra/cmake/GLH.cmake b/indra/cmake/GLH.cmake index bdd8bc4836..648a08454b 100644 --- a/indra/cmake/GLH.cmake +++ b/indra/cmake/GLH.cmake @@ -2,11 +2,9 @@  include(Prebuilt)  add_library( ll::glh_linear INTERFACE IMPORTED ) +target_include_directories( ll::glh_linear SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) -if (USESYSTEMLIBS) -  target_include_directories( ll::glh_linear SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include) -  return () -endif () - +if (NOT USESYSTEMLIBS)  use_system_binary( glh_linear ) +endif (NOT USESYSTEMLIBS)  use_prebuilt_binary(glh_linear) diff --git a/indra/cmake/LibVLCPlugin.cmake b/indra/cmake/LibVLCPlugin.cmake index 9f0419c5e6..e2ecb8b248 100644 --- a/indra/cmake/LibVLCPlugin.cmake +++ b/indra/cmake/LibVLCPlugin.cmake @@ -5,26 +5,37 @@ include(Prebuilt)  include_guard()  add_library( ll::libvlc INTERFACE IMPORTED ) -if (USE_AUTOBUILD_3P OR USE_CONAN) -use_prebuilt_binary(vlc-bin) -set(LIBVLCPLUGIN ON CACHE BOOL -        "LIBVLCPLUGIN support for the llplugin/llmedia test apps.") -else () +if (USESYSTEMLIBS) +      if (DARWIN) +        if (CMAKE_OSX_ARCHITECTURES MATCHES arm64) +            execute_process(COMMAND hdiutil attach -noverify $ENV{HOME}/Downloads/vlc-3.0.21-arm64.dmg) +        elseif (CMAKE_OSX_ARCHITECTURES MATCHES x86_64) +            execute_process(COMMAND hdiutil attach -noverify $ENV{HOME}/Downloads/vlc-3.0.21-intel64.dmg) +        else () +            execute_process(COMMAND hdiutil attach -noverify $ENV{HOME}/Downloads/vlc-3.0.21-universal.dmg) +        endif ()          target_include_directories( ll::libvlc SYSTEM INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/include)          target_link_directories( ll::libvlc INTERFACE /Volumes/VLC\ media\ player/VLC.app/Contents/MacOS/lib)          target_link_libraries( ll::libvlc INTERFACE vlc vlccore ) -    else () +    else (DARWIN)          include(FindPkgConfig)          pkg_check_modules(Libvlc REQUIRED libvlc vlc-plugin)          target_include_directories( ll::libvlc SYSTEM INTERFACE ${Libvlc_INCLUDE_DIRS} )          target_link_directories( ll::libvlc INTERFACE ${Libvlc_LIBRARY_DIRS} )          target_link_libraries( ll::libvlc INTERFACE ${Libvlc_LIBRARIES} ) -    endif () +    endif (DARWIN)      set(LIBVLCPLUGIN ON CACHE BOOL              "LIBVLCPLUGIN support for the llplugin/llmedia test apps.")      return() -endif () + +else (USESYSTEMLIBS) + +use_prebuilt_binary(vlc-bin) +set(LIBVLCPLUGIN ON CACHE BOOL +        "LIBVLCPLUGIN support for the llplugin/llmedia test apps.") + +endif (USESYSTEMLIBS)  if (WINDOWS)      target_link_libraries( ll::libvlc INTERFACE diff --git a/indra/cmake/Mikktspace.cmake b/indra/cmake/Mikktspace.cmake index 9fd2becba4..c73321e313 100644 --- a/indra/cmake/Mikktspace.cmake +++ b/indra/cmake/Mikktspace.cmake @@ -1,6 +1,4 @@  # -*- cmake -*-  include(Prebuilt) -if (NOT USESYSTEMLIBS)    use_prebuilt_binary(mikktspace) -endif (NOT USESYSTEMLIBS) diff --git a/indra/cmake/Prebuilt.cmake b/indra/cmake/Prebuilt.cmake index b0acae279b..9125864c1d 100644 --- a/indra/cmake/Prebuilt.cmake +++ b/indra/cmake/Prebuilt.cmake @@ -40,6 +40,40 @@ macro (use_prebuilt_binary _binary)          --install-dir=${AUTOBUILD_INSTALL_DIR}          ${_binary} ")          endif(DEBUG_PREBUILT) +        if(USESYSTEMLIBS) +            execute_process(COMMAND xmllint +                --xpath +                "//map/map/map/map/map/map/string[contains(text(),'${_binary}')][contains(text(),'common')]/text()" autobuild.xml +                WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/.. +                OUTPUT_VARIABLE package_url +                OUTPUT_STRIP_TRAILING_WHITESPACE +                ) +            if ("${package_url}" STREQUAL "") +                string(TOLOWER ${CMAKE_SYSTEM_NAME} system_name) +                if (${system_name} MATCHES freebsd) +                    set(system_name "linux") +                endif (${system_name} MATCHES freebsd) +                execute_process(COMMAND xmllint +                    --xpath +                    "//map/map/map/map/map/map/string[contains(text(),'${_binary}')][contains(text(),'${system_name}64')]/text()" autobuild.xml +                    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/.. +                    OUTPUT_VARIABLE package_url +                    OUTPUT_STRIP_TRAILING_WHITESPACE +                    ) +            endif ("${package_url}" STREQUAL "") +            execute_process(COMMAND curl +                -L +                ${package_url} +                -o ${_binary}.tar.zst +                WORKING_DIRECTORY /tmp +                ) +            execute_process(COMMAND tar +                xf +                /tmp/${_binary}.tar.zst +                WORKING_DIRECTORY ${AUTOBUILD_INSTALL_DIR} +                RESULT_VARIABLE ${_binary}_installed +                ) +        else(USESYSTEMLIBS)          execute_process(COMMAND "${AUTOBUILD_EXECUTABLE}"                  install                  --install-dir=${AUTOBUILD_INSTALL_DIR} @@ -47,6 +81,7 @@ macro (use_prebuilt_binary _binary)                  WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"                  RESULT_VARIABLE ${_binary}_installed                  ) +        endif(USESYSTEMLIBS)          file(WRITE ${PREBUILD_TRACKING_DIR}/${_binary}_installed "${${_binary}_installed}")      endif(${PREBUILD_TRACKING_DIR}/sentinel_installed IS_NEWER_THAN ${PREBUILD_TRACKING_DIR}/${_binary}_installed OR NOT ${${_binary}_installed} EQUAL 0) diff --git a/indra/cmake/TinyEXR.cmake b/indra/cmake/TinyEXR.cmake index c3053b8149..e6d142d19d 100644 --- a/indra/cmake/TinyEXR.cmake +++ b/indra/cmake/TinyEXR.cmake @@ -1,9 +1,7 @@  # -*- cmake -*-  include(Prebuilt) -if (NOT USESYSTEMLIBS)  use_prebuilt_binary(tinyexr) -endif ()  set(TINYEXR_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tinyexr)  diff --git a/indra/cmake/TinyGLTF.cmake b/indra/cmake/TinyGLTF.cmake index 7e74089208..92b2de309f 100644 --- a/indra/cmake/TinyGLTF.cmake +++ b/indra/cmake/TinyGLTF.cmake @@ -1,9 +1,7 @@  # -*- cmake -*-  include(Prebuilt) -if (NOT USESYSTEMLIBS)  use_prebuilt_binary(tinygltf) -endif (NOT USESYSTEMLIBS)  set(TINYGLTF_INCLUDE_DIR ${LIBS_PREBUILT_DIR}/include/tinygltf) diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index 7de21fd59b..fad95beae8 100644 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -1,24 +1,22 @@  # -*- cmake -*-  include(Prebuilt) -if (NOT (USE_AUTOBUILD_3P OR USE_CONAN)) -  add_library( ll::fontconfig INTERFACE IMPORTED ) -  use_system_binary(fontconfig) -endif () - -if (LINUX) +if (NOT DARWIN)    add_library( ll::fontconfig INTERFACE IMPORTED )    find_package(Fontconfig REQUIRED)    target_link_libraries( ll::fontconfig INTERFACE  Fontconfig::Fontconfig ) -endif (LINUX) +endif (NOT DARWIN) -if( NOT USE_CONAN ) +if( USE_AUTOBUILD_3P )    use_prebuilt_binary(libhunspell)  endif() +if (NOT USESYSTEMLIBS)  use_prebuilt_binary(slvoice)  use_prebuilt_binary(nanosvg) +endif (NOT USESYSTEMLIBS) +  use_prebuilt_binary(viewer-fonts)  use_prebuilt_binary(emoji_shortcodes) diff --git a/indra/llrender/llglheaders.h b/indra/llrender/llglheaders.h index 0e278e1744..715e559ca3 100644 --- a/indra/llrender/llglheaders.h +++ b/indra/llrender/llglheaders.h @@ -839,7 +839,7 @@ extern PFNGLPOLYGONOFFSETCLAMPPROC              glPolygonOffsetClamp;  #define GL_EXT_separate_specular_color 1  #define GL_GLEXT_PROTOTYPES -#include "GL/glext.h" +#include <OpenGL/glext.h>  #define GL_DO_NOT_WARN_IF_MULTI_GL_VERSION_HEADERS_INCLUDED  #include <OpenGL/gl3.h> diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp index 0a522c88d7..99d7b897ee 100644 --- a/indra/llrender/llrender.cpp +++ b/indra/llrender/llrender.cpp @@ -1711,7 +1711,7 @@ void LLRender::flush()                  }                  //LL_INFOS() << "LLVertexBuffer::sMappingMode " << LLVertexBuffer::sMappingMode << LL_ENDL; -                if(LLVertexBuffer::sMappingMode > 1) +                if(LLVertexBuffer::sMappingMode == 3)                  {                      vb->unmapBuffer();                  } diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp index db881efd2b..5e936c1428 100644 --- a/indra/llrender/llvertexbuffer.cpp +++ b/indra/llrender/llvertexbuffer.cpp @@ -317,7 +317,7 @@ public:      ~LLVBOPool()      { -        if(mMappingMode > 1) return; +        if(mMappingMode == 3) return;          clear();      } @@ -336,7 +336,7 @@ public:      U64 getVramBytesUsed()      { -        if(mMappingMode > 1) return mAllocated; +        if(mMappingMode == 3) return mAllocated;          else return mAllocated + mReserved;      } @@ -359,7 +359,7 @@ public:          llassert(data == nullptr);  // non null data indicates a buffer that wasn't freed          llassert(size >= 2);  // any buffer size smaller than a single index is nonsensical -        if(mMappingMode > 1) +        if(mMappingMode == 3)          {              mAllocated += size; @@ -427,7 +427,7 @@ public:          llassert(type == GL_ARRAY_BUFFER || type == GL_ELEMENT_ARRAY_BUFFER);          llassert(size >= 2); -        if(mMappingMode > 1) +        if(mMappingMode == 3)          {              if (data)              { @@ -785,7 +785,7 @@ void LLVertexBuffer::initClass(LLWindow* window)      sVBOPool = new LLVBOPool();      sVBOPool->mMappingMode = sMappingMode; -    //LL_INFOS() << "milo sVBOPool intialized with " << sMappingMode << LL_ENDL; +    //LL_INFOS() << "sVBOPool intialized with mapping mode: " << sMappingMode << LL_ENDL;  #if ENABLE_GL_WORK_QUEUE      sQueue = new GLWorkQueue(); @@ -1093,7 +1093,7 @@ U8* LLVertexBuffer::mapVertexBuffer(LLVertexBuffer::AttributeType type, U32 inde          count = mNumVerts - index;      } -    if(sMappingMode < 2) +    if(sMappingMode != 3)      {          U32 start = mOffsets[type] + sTypeSize[type] * index;          U32 end = start + sTypeSize[type] * count-1; @@ -1130,7 +1130,7 @@ U8* LLVertexBuffer::mapIndexBuffer(U32 index, S32 count)          count = mNumIndices-index;      } -    if(sMappingMode < 2) +    if(sMappingMode != 3)      {          U32 start = sizeof(U16) * index;          U32 end = start + sizeof(U16) * count-1; @@ -1165,9 +1165,24 @@ U8* LLVertexBuffer::mapIndexBuffer(U32 index, S32 count)  //  dst -- mMappedData or mMappedIndexData  void LLVertexBuffer::flush_vbo(GLenum target, U32 start, U32 end, void* data, U8* dst)  { -    if(sMappingMode > 1) +    if(sMappingMode == 2) +    { +        //LL_PROFILE_ZONE_NAMED_CATEGORY_VERTEX("vb glMapBufferRange"); +        if (end == 0) return; +        U32 buffer_size = end-start+1; +        U8 * mptr = (U8*) glMapBufferRange( target, start, end-start+1, GL_MAP_WRITE_BIT); + +        if (mptr) +        { +            std::memcpy(mptr, (U8*) data, buffer_size); +            if(!glUnmapBuffer(target)) LL_WARNS() << "glUnmapBuffer() failed" << LL_ENDL; +        } +        else LL_WARNS() << "glMapBufferRange() returned NULL" << LL_ENDL; +        return; +    } + +    if(sMappingMode == 3)      { -        //LL_INFOS() << "milo flush_vbo() NO POOL" << LL_ENDL;          LL_PROFILE_ZONE_NAMED_CATEGORY_VERTEX("vb memcpy");          //STOP_GLERROR;          // copy into mapped buffer @@ -1208,7 +1223,7 @@ void LLVertexBuffer::unmapBuffer()          }      }; -    if(sMappingMode > 1) +    if(sMappingMode == 3)      {          //STOP_GLERROR;          if (mMappedData) @@ -1220,8 +1235,7 @@ void LLVertexBuffer::unmapBuffer()              mGLBuffer = gen_buffer();              glBindBuffer(GL_ARRAY_BUFFER, mGLBuffer);              sGLRenderBuffer = mGLBuffer; -            if(sMappingMode==2) glBufferData(GL_ARRAY_BUFFER, mSize, mMappedData, GL_STATIC_DRAW); -            else glBufferData(GL_ARRAY_BUFFER, mSize, mMappedData, GL_DYNAMIC_DRAW); +            glBufferData(GL_ARRAY_BUFFER, mSize, mMappedData, GL_DYNAMIC_DRAW);          }          else if (mGLBuffer != sGLRenderBuffer)          { @@ -1241,8 +1255,7 @@ void LLVertexBuffer::unmapBuffer()              glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, mGLIndices);              sGLRenderIndices = mGLIndices; -            if(sMappingMode==2) glBufferData(GL_ELEMENT_ARRAY_BUFFER, mIndicesSize, mMappedIndexData, GL_STATIC_DRAW); -            else glBufferData(GL_ELEMENT_ARRAY_BUFFER, mIndicesSize, mMappedIndexData, GL_DYNAMIC_DRAW); +            glBufferData(GL_ELEMENT_ARRAY_BUFFER, mIndicesSize, mMappedIndexData, GL_DYNAMIC_DRAW);          }          else if (mGLIndices != sGLRenderIndices)          { @@ -1439,10 +1452,10 @@ bool LLVertexBuffer::getClothWeightStrider(LLStrider<LLVector4>& strider, U32 in  // Set for rendering  void LLVertexBuffer::setBuffer()  { -    if(sMappingMode > 1) +    if(sMappingMode == 3)      {          if (!mGLBuffer) -        { // OS X doesn't allocate a buffer until we call unmapBuffer +        {              return;          }      } diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 55dfa83e8a..b8a983fa9d 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -9,12 +9,12 @@ include(Linking)  include(Boost)  include(bugsplat) -if (USE_AUTOBUILD_3P OR USE_CONAN) +if (NOT USESYSTEMLIBS)  include(BuildPackagesInfo)  endif ()  include(BuildVersion)  include(CMakeCopyIfDifferent) -if (USE_AUTOBUILD_3P OR USE_CONAN) +if (NOT USESYSTEMLIBS)  include(CubemapToEquirectangularJS)  include(DBusGlib)  endif () @@ -22,15 +22,13 @@ include(DragDrop)  include(EXPAT)  include(FMODSTUDIO)  include(Hunspell) -if (USE_AUTOBUILD_3P OR USE_CONAN) +if (NOT USESYSTEMLIBS)  include(JPEGEncoderBasic)  endif ()  include(JsonCpp)  include(LLAppearance)  include(LLAudio) -if (USE_AUTOBUILD_3P OR USE_CONAN)  include(LLCA) -endif ()  include(LLCommon)  include(LLCoreHttp)  include(LLImage) @@ -52,7 +50,7 @@ endif ()  include(Tracy)  include(UI)  include(ViewerMiscLibs) -if (USE_AUTOBUILD_3P OR USE_CONAN) +if (NOT USESYSTEMLIBS)  include(ViewerManager)  endif ()  include(VisualLeakDetector) @@ -60,15 +58,16 @@ include(VulkanGltf)  include(ZLIBNG)  include(URIPARSER)  include(LLPrimitive) +  if (ENABLE_MEDIA_PLUGINS) -	include(LibVLCPlugin) -	if (DARWIN OR LINUX) -		include(CEFPlugin) -	endif (DARWIN OR LINUX) +    include(LibVLCPlugin) +    if (DARWIN OR LINUX) +        include(CEFPlugin) +    endif (DARWIN OR LINUX)  endif (ENABLE_MEDIA_PLUGINS)  include(UnixInstall) -if ((USE_AUTOBUILD_3P OR USE_CONAN) AND NOT HAVOK_TPV) +if (NOT (USESYSTEMLIBS OR HAVOK_TPV))     # When using HAVOK_TPV, the library is precompiled, so no need for this     # Stub and probably havok lib itself is a hack, autobuild loads a 3p that really is a source tarball @@ -89,7 +88,7 @@ if ((USE_AUTOBUILD_3P OR USE_CONAN) AND NOT HAVOK_TPV)          target_compile_options( llphysicsextensions  PRIVATE -Wno-unused-local-typedef)        endif (DARWIN)     endif() -endif ((USE_AUTOBUILD_3P OR USE_CONAN) AND NOT HAVOK_TPV) +endif (NOT (USESYSTEMLIBS OR HAVOK_TPV))  set(viewer_SOURCE_FILES      gltfscenemanager.cpp @@ -1425,21 +1424,18 @@ file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/viewer_version.txt"             "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}\n")  set_source_files_properties( -   llversioninfo.cpp tests/llversioninfo_test.cpp +   llversioninfo.cpp tests/llversioninfo_test.cpp      PROPERTIES     COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}" # see BuildVersion.cmake     )  if (DARWIN) -#  if (NOT USESYSTEMLIBS)    LIST(APPEND viewer_SOURCE_FILES llappviewermacosx.cpp)    LIST(APPEND viewer_SOURCE_FILES llappviewermacosx-objc.mm)    LIST(APPEND viewer_SOURCE_FILES llappviewermacosx-objc.h) -#  endif (NOT USESYSTEMLIBS)    LIST(APPEND viewer_SOURCE_FILES llfilepicker_mac.mm)    LIST(APPEND viewer_HEADER_FILES llfilepicker_mac.h) -#  if (NOT USESYSTEMLIBS)    # This should be compiled with the viewer.    LIST(APPEND viewer_SOURCE_FILES llappdelegate-objc.mm)    set_source_files_properties( @@ -1454,7 +1450,6 @@ if (DARWIN)      # warnings.      COMPILE_FLAGS "-fmodules -fcxx-modules -Wno-nullability-completeness"      ) -#  endif (NOT USESYSTEMLIBS)    # Add resource files to the project.    set(viewer_RESOURCE_FILES @@ -1481,9 +1476,9 @@ if (USESYSTEMLIBS AND NOT DARWIN)        PROPERTIES        COMPILE_DEFINITIONS "${VIEWER_CHANNEL_VERSION_DEFINES}"        ) -    if (NOT (CMAKE_CXX_COMPILER_ID MATCHES "AppleClang")) +  if (NOT CMAKE_CXX_COMPILER_ID MATCHES "AppleClang")      SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--as-needed") -    endif () +  endif ()  endif (USESYSTEMLIBS AND NOT DARWIN) @@ -1632,7 +1627,7 @@ endif (WINDOWS)  file(GLOB_RECURSE viewer_XUI_FILES LIST_DIRECTORIES FALSE      ${CMAKE_CURRENT_SOURCE_DIR}/skins/*.xml)  source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/skins PREFIX "XUI Files" FILES ${viewer_XUI_FILES}) -set_source_files_properties(${viewer_XUI_FILES} +set_source_files_properties(${viewer_XUI_FILES}                               PROPERTIES HEADER_FILE_ONLY TRUE)  list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES}) @@ -1640,7 +1635,7 @@ list(APPEND viewer_SOURCE_FILES ${viewer_XUI_FILES})  file(GLOB_RECURSE viewer_SHADER_FILES LIST_DIRECTORIES FALSE      ${CMAKE_CURRENT_SOURCE_DIR}/app_settings/shaders/*.glsl)  source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR}/app_settings/shaders PREFIX "Shaders" FILES ${viewer_SHADER_FILES}) -set_source_files_properties(${viewer_SHADER_FILES} +set_source_files_properties(${viewer_SHADER_FILES}                               PROPERTIES HEADER_FILE_ONLY TRUE)  list(APPEND viewer_SOURCE_FILES ${viewer_SHADER_FILES}) @@ -1672,8 +1667,8 @@ set(viewer_APPSETTINGS_FILES      featuretable_mac.txt      ) -if (NOT (USE_AUTOBUILD_3P OR USE_CONAN)) -	list(REMOVE_ITEM viewer_APPSETTINGS_FILES packages-info.txt) +if (USESYSTEMLIBS) +    list(REMOVE_ITEM viewer_APPSETTINGS_FILES packages-info.txt)  endif ()  source_group("App Settings" FILES ${viewer_APPSETTINGS_FILES}) @@ -1934,7 +1929,7 @@ endif (WINDOWS)  # one of these being libz where you can find four or more versions in play  # at once.  On Linux, libz can be found at link and run time via a number  # of paths: -# +#       #      => -lfreetype  #        => libz.so.1 (on install machine, not build)  #      => -lSDL @@ -1998,43 +1993,43 @@ set(ARTWORK_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE PATH      "Path to artwork files.")  set_source_files_properties(llinventorygallery.cpp PROPERTIES COMPILE_FLAGS -	-Wno-unused-but-set-variable) +    -Wno-unused-but-set-variable)  if (CMAKE_CXX_COMPILER_ID MATCHES "Clang") -	set_source_files_properties(llappviewerlinux.cpp PROPERTIES -		COMPILE_FLAGS -Wno-dangling-gsl -	) -	set_source_files_properties(llviewerstats.cpp PROPERTIES -		COMPILE_FLAGS -Wno-unused-value) +    set_source_files_properties(llappviewerlinux.cpp PROPERTIES +        COMPILE_FLAGS -Wno-dangling-gsl +    ) +    set_source_files_properties(llviewerstats.cpp PROPERTIES +        COMPILE_FLAGS -Wno-unused-value)  elseif (CMAKE_CXX_COMPILER_ID MATCHES "GNU") -	set_source_files_properties( -		llface.cpp -		llhttpretrypolicy.cpp -		llmodelpreview.cpp -		llpanelface.cpp -		lltexturefetch.cpp -		PROPERTIES COMPILE_FLAGS -Wno-maybe-uninitialized) -	set_source_files_properties(llfasttimerview.cpp PROPERTIES -		COMPILE_FLAGS -Wno-nonnull) -	set_source_files_properties(llinventorygallerymenu.cpp PROPERTIES -		COMPILE_FLAGS -Wno-uninitialized) -	set_source_files_properties(llviewerstats.cpp PROPERTIES -		COMPILE_FLAGS -Wno-unused-value) -	set_source_files_properties(llurl.cpp PROPERTIES COMPILE_FLAGS -		-Wno-stringop-truncation) -	set_source_files_properties( -		llfloaterimsessiontab.cpp -		llfloatersimplesnapshot.cpp -		llfloatersidepanelcontainer.cpp -		llinventorypanel.cpp -		llpanelmaininventory.cpp -		llpathfindingnavmesh.cpp -		llsidepanelinventory.cpp -		PROPERTIES COMPILE_FLAGS -Wno-dangling-reference -	) -	set_source_files_properties( -		gltf/animation.cpp -		gltf/primitive.cpp -		PROPERTIES COMPILE_FLAGS -Wno-unused-function) +    set_source_files_properties( +        llface.cpp +        llhttpretrypolicy.cpp +        llmodelpreview.cpp +        llpanelface.cpp +        lltexturefetch.cpp +        PROPERTIES COMPILE_FLAGS -Wno-maybe-uninitialized) +    set_source_files_properties(llfasttimerview.cpp PROPERTIES +        COMPILE_FLAGS -Wno-nonnull) +    set_source_files_properties(llinventorygallerymenu.cpp PROPERTIES +        COMPILE_FLAGS -Wno-uninitialized) +    set_source_files_properties(llviewerstats.cpp PROPERTIES +        COMPILE_FLAGS -Wno-unused-value) +    set_source_files_properties(llurl.cpp PROPERTIES COMPILE_FLAGS +        -Wno-stringop-truncation) +    set_source_files_properties( +        llfloaterimsessiontab.cpp +        llfloatersimplesnapshot.cpp +        llfloatersidepanelcontainer.cpp +        llinventorypanel.cpp +        llpanelmaininventory.cpp +        llpathfindingnavmesh.cpp +        llsidepanelinventory.cpp +        PROPERTIES COMPILE_FLAGS -Wno-dangling-reference +    ) +    set_source_files_properties( +        gltf/animation.cpp +        gltf/primitive.cpp +        PROPERTIES COMPILE_FLAGS -Wno-unused-function)  endif ()  message("Copying fonts") @@ -2055,11 +2050,59 @@ foreach(elem ${country_codes})     set(emoji_mapping_src_file        "${emoji_mapping_src_folder}/${elem}/emoji_characters.xml")     set(emoji_mapping_dst_file -      "${emoji_mapping_dst_folder}/${elem}/emoji_characters.xml") +      "${emoji_mapping_dst_folder}/${elem}/emoji_characters.xml")           configure_file(${emoji_mapping_src_file} ${emoji_mapping_dst_file} COPYONLY)  endforeach() -if (NOT USESYSTEMLIBS) +if (USESYSTEMLIBS) + +  if (LINUX) +    add_custom_command( +        TARGET ${VIEWER_BINARY_NAME} POST_BUILD +        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed +        ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed +        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed +        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed +        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed +        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed +        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/^    .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND sort +        ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND paste +        ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt +        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed +        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt +        ) +  else (LINUX) +    add_custom_command( +        TARGET ${VIEWER_BINARY_NAME} POST_BUILD +        COMMAND sed +        ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND sed +        ARGS -i '' -e '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND sed +        ARGS -i '' -e '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND sed +        ARGS -i '' -e '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND sed +        ARGS -i '' -e '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND sed +        ARGS -i '' -e '/^    .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND sort +        ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt +        COMMAND paste +        ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt +        COMMAND sed +        ARGS -i '' -e 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt +        ) +  endif (LINUX) + +else (USESYSTEMLIBS)  if (LINUX)    set(product SecondLife-${ARCH}-${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}) @@ -2138,7 +2181,7 @@ if (LINUX)    endif (PACKAGE)  endif (LINUX) -endif (NOT USESYSTEMLIBS) +endif (USESYSTEMLIBS)  if (DARWIN)    # These all get set with PROPERTIES. It's not that the property names are @@ -2153,13 +2196,13 @@ if (DARWIN)    set(MACOSX_BUNDLE_BUNDLE_NAME "Megapahit")    set(MACOSX_BUNDLE_SHORT_VERSION_STRING "${VIEWER_SHORT_VERSION}.${VIEWER_VERSION_REVISION}")    set(MACOSX_BUNDLE_BUNDLE_VERSION "${VIEWER_SHORT_VERSION}${VIEWER_MACOSX_PHASE}${VIEWER_REVISION}") -  set(MACOSX_BUNDLE_COPYRIGHT "Copyright © Megapahit. 2024") +  set(MACOSX_BUNDLE_COPYRIGHT "Copyright © Megapahit 2024")    set(MACOSX_BUNDLE_NSMAIN_NIB_FILE "SecondLife.nib")    set(MACOSX_BUNDLE_NSPRINCIPAL_CLASS "LLApplication")    # https://blog.kitware.com/upcoming-in-cmake-2-8-12-osx-rpath-support/    set(CMAKE_MACOSX_RPATH 1) - +      set_target_properties(      ${VIEWER_BINARY_NAME}      PROPERTIES @@ -2171,6 +2214,7 @@ if (DARWIN)      LINK_FLAGS "-rpath @loader_path/../Frameworks"      MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info-SecondLife.plist"      XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "${MACOSX_BUNDLE_GUI_IDENTIFIER}" +    MACOSX_BUNDLE TRUE      )    set(VIEWER_APP_BUNDLE "${CMAKE_CURRENT_BINARY_DIR}/$<IF:$<BOOL:${LL_GENERATOR_IS_MULTI_CONFIG}>,$<CONFIG>,>/${product}.app") @@ -2183,9 +2227,15 @@ if (DARWIN)       "${VIEWER_APP_BUNDLE}/Contents/Info.plist"      ) -  if (INSTALL) -    install(PROGRAMS ${VIEWER_APP_EXE} DESTINATION ../MacOS) -  else (INSTALL) + if (USESYSTEMLIBS) + +  configure_file( +    ${CMAKE_CURRENT_SOURCE_DIR}/English.lproj/InfoPlist.strings +    ${CMAKE_CURRENT_BINARY_DIR}/InfoPlist.strings +    ) + + else (USESYSTEMLIBS) +    add_custom_command(      TARGET ${VIEWER_BINARY_NAME} POST_BUILD      COMMAND ${PYTHON_EXECUTABLE} @@ -2210,13 +2260,12 @@ if (DARWIN)        ${VIEWER_BINARY_NAME}        ${CMAKE_CURRENT_SOURCE_DIR}/viewer_manifest.py      ) -  endif (INSTALL) -  if (ENABLE_MEDIA_PLUGINS) + endif (USESYSTEMLIBS) + + if (ENABLE_MEDIA_PLUGINS)    add_dependencies(${VIEWER_BINARY_NAME} SLPlugin media_plugin_libvlc media_plugin_cef) -  else (ENABLE_MEDIA_PLUGINS) -      add_dependencies(${VIEWER_BINARY_NAME} SLPlugin) -  endif (ENABLE_MEDIA_PLUGINS) + endif ()    if (ENABLE_SIGNING)        set(SIGNING_SETTING "--signature=${SIGNING_IDENTITY}") @@ -2366,7 +2415,7 @@ if (LL_TESTS)  #    llremoteparcelrequest.cpp      llviewerhelputil.cpp      llversioninfo.cpp -#    llvocache.cpp +#    llvocache.cpp        llworldmap.cpp      llworldmipmap.cpp    ) @@ -2375,7 +2424,7 @@ if (LL_TESTS)      llworldmap.cpp      llworldmipmap.cpp      PROPERTIES -    LL_TEST_ADDITIONAL_SOURCE_FILES +    LL_TEST_ADDITIONAL_SOURCE_FILES       tests/llviewertexture_stub.cpp      #llviewertexturelist.cpp    ) @@ -2409,7 +2458,7 @@ if (LL_TESTS)      llworldmap.cpp      llworldmipmap.cpp      PROPERTIES -    LL_TEST_ADDITIONAL_SOURCE_FILES +    LL_TEST_ADDITIONAL_SOURCE_FILES       tests/llviewertexture_stub.cpp    ) diff --git a/indra/newview/ViewerInstall.cmake b/indra/newview/ViewerInstall.cmake index b468f1af99..5c4c08dc9d 100644 --- a/indra/newview/ViewerInstall.cmake +++ b/indra/newview/ViewerInstall.cmake @@ -1,61 +1,7 @@ -if (LINUX) -    add_custom_command( -        OUTPUT contributors.txt -        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed -        ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed -        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed -        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed -        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed -        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed -        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e '/^    .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND sort -        ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND paste -        ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt -        COMMAND ${CMAKE_SYSROOT}/usr/bin/sed -        ARGS -i ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -e 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt -        ) -else (LINUX) -    add_custom_command( -        OUTPUT contributors.txt -        COMMAND sed -        ARGS -e '/Linden Lab.*/d' ${CMAKE_HOME_DIRECTORY}/../doc/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND sed -        ARGS -i '' -e '/following residents.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND sed -        ARGS -i '' -e '/along with.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND sed -        ARGS -i '' -e '/^$$/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND sed -        ARGS -i '' -e '/\t.*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND sed -        ARGS -i '' -e '/^    .*/d' ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND sort -        ARGS -R contributions.txt -o ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt -        COMMAND paste -        ARGS -s -d, ${CMAKE_CURRENT_BINARY_DIR}/contributions.txt > ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt -        COMMAND sed -        ARGS -i '' -e 's/,/, /g' ${CMAKE_CURRENT_BINARY_DIR}/contributors.txt -        ) -endif (LINUX) - -add_custom_target(contributors ALL -    DEPENDS contributors.txt -    ) -  if (DARWIN) -    configure_file( -        ${CMAKE_CURRENT_SOURCE_DIR}/English.lproj/InfoPlist.strings -        ${VIEWER_APP_BUNDLE}/Contents/Resources/English.lproj/InfoPlist.strings -        ) -      install(FILES +        ${CMAKE_CURRENT_BINARY_DIR}/InfoPlist.strings          ${CMAKE_CURRENT_SOURCE_DIR}/English.lproj/language.txt          DESTINATION English.lproj          ) @@ -184,7 +130,7 @@ if (LINUX)              install(FILES                  ${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.so                  ${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.so.13 -                ${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.so.13.22 +                ${AUTOBUILD_INSTALL_DIR}/lib/release/libfmod.so.13.23              DESTINATION ${_LIB})          endif (USE_FMODSTUDIO)          install(PROGRAMS diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 9fa7a5c3d1..13253b339e 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13808,8 +13808,8 @@        OpenGL buffer mapping mode:        0:auto        1:normal -      2:optimised -      3:experimental.</string> +      2:MP optimised +      3:LL optimized.</string>        <key>Persist</key>        <integer>1</integer>        <key>Type</key> diff --git a/indra/newview/fsfloatersearch.cpp b/indra/newview/fsfloatersearch.cpp index f05e996699..ef5f70d34f 100644 --- a/indra/newview/fsfloatersearch.cpp +++ b/indra/newview/fsfloatersearch.cpp @@ -760,7 +760,7 @@ void FSFloaterSearch::onBtnTeleport()  {      if (!mParcelGlobal.isExactlyZero())      { -        gAgent.teleportViaLocation(mParcelGlobal); +        gAgent.teleportViaLocationLookAt(mParcelGlobal);          LLFloaterWorldMap::getInstance()->trackLocation(mParcelGlobal);          /// <FS:CR> What should we do when when we teleport? The default (1) is to close the floater,          /// the user may elect to minimize the floater (2), or to do nothing (any other setting) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index f46580c6c0..c6a7ecdaa1 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -3308,7 +3308,7 @@ LLSD LLAppViewer::getViewerInfo() const          url = LLTrans::getString("RELEASE_NOTES_BASE_URL");          if (!LLStringUtil::endsWith(url, "/"))              url += "/"; -        url += "#" + LLURI::escape(versionInfo.getVersion()); // + ".html"; +        url += LLURI::escape(versionInfo.getVersion()) + ".html";      }      info["VIEWER_RELEASE_NOTES_URL"] = url; diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp index cf1aebf26b..2d9b46bf84 100644 --- a/indra/newview/lllogininstance.cpp +++ b/indra/newview/lllogininstance.cpp @@ -404,7 +404,7 @@ void LLLoginInstance::handleLoginFailure(const LLSD& event)              relnotes = LLTrans::getString("RELEASE_NOTES_BASE_URL");              if (!LLStringUtil::endsWith(relnotes, "/"))                  relnotes += "/"; -            relnotes += "#" + LLURI::escape(login_version); // + ".html"; +            relnotes += LLURI::escape(login_version) + ".html";          }          if (gViewerWindow) diff --git a/indra/newview/skins/default/xui/en/floater_mp_performance.xml b/indra/newview/skins/default/xui/en/floater_mp_performance.xml index 06dc4cabc6..d943a13f66 100644 --- a/indra/newview/skins/default/xui/en/floater_mp_performance.xml +++ b/indra/newview/skins/default/xui/en/floater_mp_performance.xml @@ -66,7 +66,7 @@       height="15"       left="2"       top="8"> -     Buffer mapping +     Optimisations:       (needs restart):      </text> @@ -85,13 +85,13 @@           value="1" />          <combo_box.item           enabled="true" -         label="Optimized (Apple GPU)" -         name="Optimized" +         label="Apple GPU (smoothie)" +         name="Megapahit Optimisations"           value="2" />          <combo_box.item           enabled="true" -         label="Experimental" -         name="Experimental" +         label="Apple GPU (LL)" +         name="LL Optimisations"           value="3" />      </combo_box>  | 
