summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2024-07-17 11:57:01 +0800
committerErik Kundiman <erik@megapahit.org>2024-07-17 11:57:01 +0800
commite8c39210bdb1cc1775cb37d539a00db2c817aed3 (patch)
tree94ba8edddce15c93a5e5d93db99bbc3bad146962
parent551224d0d0c0d8866432b3610e9c042a3f4ad6ba (diff)
parent84908dd8001bacf88786e5630ce80c47944c400a (diff)
Merge branch 'main' into webrtc-voice
-rw-r--r--README.md42
-rw-r--r--indra/llrender/llgl.cpp14
-rw-r--r--indra/llrender/llvertexbuffer.cpp41
-rw-r--r--indra/llwindow/llwindow.h4
-rw-r--r--indra/llwindow/llwindowmacosx.cpp14
-rw-r--r--indra/llwindow/llwindowsdl.cpp17
-rw-r--r--indra/newview/CMakeLists.txt22
-rw-r--r--indra/newview/app_settings/settings.xml29
-rw-r--r--indra/newview/llfloatercamera.cpp25
-rw-r--r--indra/newview/llfloatercamera.h6
-rw-r--r--indra/newview/llpanelpeople.cpp2
-rw-r--r--indra/newview/llprogressview.cpp2
-rw-r--r--indra/newview/llviewerfloaterreg.cpp6
-rw-r--r--indra/newview/llviewerwindow.cpp2
-rw-r--r--indra/newview/mpfloatertuning.cpp (renamed from indra/newview/mpvfloatertuning.cpp)31
-rw-r--r--indra/newview/mpfloatertuning.h (renamed from indra/newview/mpvfloatertuning.h)10
-rw-r--r--indra/newview/skins/default/colors.xml2
-rw-r--r--indra/newview/skins/default/textures/bottomtray/WellButton_Lit.pngbin4456 -> 5762 bytes
-rw-r--r--indra/newview/skins/default/textures/bottomtray/WellButton_Lit_Selected.pngbin4455 -> 5762 bytes
-rw-r--r--indra/newview/skins/default/xui/en/floater_camera.xml113
-rw-r--r--indra/newview/skins/default/xui/en/floater_gesture.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_mp_performance.xml (renamed from indra/newview/skins/default/xui/en/floater_mpv_performance.xml)13
-rw-r--r--indra/newview/skins/default/xui/en/floater_my_environments.xml6
-rw-r--r--indra/newview/skins/default/xui/en/floater_script.xml3
-rw-r--r--indra/newview/skins/default/xui/en/floater_world_map.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_status_bar.xml3
26 files changed, 237 insertions, 174 deletions
diff --git a/README.md b/README.md
index e19007a948..65c3dc21f1 100644
--- a/README.md
+++ b/README.md
@@ -62,6 +62,7 @@ $ cd build/`uname -m`-apple-darwin`uname -r`
$ cmake -DCMAKE_BUILD_TYPE:STRING=Release ../..
$ sudo cp src/lib/openjp2/opj_config_private.h /opt/local/include/openjpeg-2.5/
$ cd ../../../xmlrpc-epi-0.54.2
+$ export CPPFLAGS="$CPPFLAGS -I$PWD/src"
$ rm -f config.sub missing
$ autoreconf -is
$ mkdir -p build/x86_64-apple-darwin`uname -r`
@@ -80,7 +81,7 @@ $ ../../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 CFLAGS
+$ unset CPPFLAGS CFLAGS
$ cd ../../../../3p-openssl/openssl
$ mkdir -p build/aarch64-apple-darwin`uname -r`
$ cd build/aarch64-apple-darwin`uname -r`
@@ -133,7 +134,7 @@ $ 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://megapahit.net/downloads/dullahan-1.14.0.202401180326_118.7.1_g99817d2_chromium-118.0.5993.119-linux64-240180325.tar.bz2 -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-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-linux64-513145c.tar.zst -OL https://megapahit.net/downloads/dullahan-1.14.0.202401180326_118.7.1_g99817d2_chromium-118.0.5993.119-linux64-240180325.tar.bz2 -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/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
$ cd -
$ cd indra/newview
$ tar xf ~/Downloads/viewer_fonts-1.0.0.8512067490-common-8512067490.tar.zst
@@ -147,7 +148,18 @@ $ tar xf ~/Downloads/mikktspace-1-linux64-8756084692.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
-$ cd ..
+$ cd ../../../..
+$ 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/
+$ tar xf ~/Downloads/openjpeg-2.5.2.tar.gz
+$ cd openjpeg-2.5.2
+$ cp src/lib/openjp2/cio.h src/lib/openjp2/event.h ../viewer/build/`uname -m`-linux-gnu/packages/include/openjpeg/
+$ mkdir -p build/`uname -m`-linux-gnu
+$ cd build/`uname -m`-linux-gnu
+$ cmake -DCMAKE_BUILD_TYPE:STRING=Release ../..
+$ cp src/lib/openjp2/opj_config_private.h ../../../viewer/build/`uname -m`-linux-gnu/packages/include/openjpeg/
+$ cd ../../../viewer/build/`uname -m`-linux-gnu
$ export LL_BUILD="-O3 -std=c++17 -fPIC -DLL_LINUX=1"
```
@@ -157,10 +169,10 @@ $ export LL_BUILD="-O3 -std=c++17 -fPIC -DLL_LINUX=1"
$ cd ~/Downloads
$ curl -OL https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/115397/993664/nanosvg-2022.09.27-linux-580337.tar.bz2
$ cd -
-$ cd ../../build/`uname -m`-linux-gnu/packages
+$ cd packages
$ tar xf ~/Downloads/nanosvg-2022.09.27-linux-580337.tar.bz2
$ cd ..
-$ sudo apt install cmake pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev
+$ sudo apt install pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev
$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_DEB:BOOL=ON -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE:STRING=amd64 -DCPACK_DEBIAN_PACKAGE_DESCRIPTION:STRING="A fork of the Second Life viewer" -DCPACK_DEBIAN_PACKAGE_MAINTAINER:STRING=$USER@$HOST -DCPACK_DEBIAN_PACKAGE_SECTION:STRING=net -DCPACK_DEBIAN_PACKAGE_DEPENDES:STRING="libalut0, libaprutil1, libboost-fiber1.74.0 | libboost-fiber1.81.0, libboost-program-options1.74.0 | libboost-program-options1.81.0, libboost-regex1.74.0 | libboost-regex1.81.0, libboost-thread1.74.0 | libboost-thread1.81.0, libcollada-dom2.5-dp0, libexpat1, libgtk2.0-0, libglu1-mesa, libhunspell-1.7-0, libjsoncpp25, libmeshoptimizer2d (>= 0.18), libnghttp2-14, libsdl2-2.0-0, liburiparser1, libvlc5, libvorbisenc2, libvorbisfile3, libxmlrpc-epi0, vlc-plugin-base" ../../indra
$ cmake ../../indra
$ make -j`nproc`
@@ -172,7 +184,7 @@ $ megapahit
#### Ubuntu 24.04
```
-$ sudo apt install cmake pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnanosvg-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev
+$ sudo apt install pkg-config libalut-dev libaprutil1-dev libboost-fiber-dev libboost-program-options-dev libboost-regex-dev libcollada-dom-dev libexpat1-dev libglu1-mesa-dev libgtk2.0-dev libhunspell-dev libjsoncpp-dev libmeshoptimizer-dev libnanosvg-dev libnghttp2-dev libsdl2-dev liburiparser-dev libvlc-dev libvlccore-dev libvorbis-dev libxmlrpc-epi-dev libxxhash-dev
$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_DEB:BOOL=ON -DCPACK_DEBIAN_PACKAGE_ARCHITECTURE:STRING=amd64 -DCPACK_DEBIAN_PACKAGE_DESCRIPTION:STRING="A fork of the Second Life viewer" -DCPACK_DEBIAN_PACKAGE_MAINTAINER:STRING=$USER@$HOST -DCPACK_DEBIAN_PACKAGE_SECTION:STRING=net -DCPACK_DEBIAN_PACKAGE_DEPENDES:STRING="libalut0, libaprutil1t64, libboost-fiber1.83.0, libboost-program-options1.83.0, libboost-regex1.83.0, libboost-thread1.83.0, libcollada-dom2.5-dp0, libexpat1, libgtk2.0-0t64, libglu1-mesa, libhunspell-1.7-0, libjsoncpp25, libmeshoptimizer2d, libnghttp2-14, libsdl2-2.0-0, liburiparser1, libvlc5, libvorbisenc2, libvorbisfile3, libxmlrpc-epi0t64, vlc-plugin-base" ../../indra
$ cmake ../../indra
$ make -j`nproc`
@@ -187,7 +199,7 @@ $ megapahit
$ cd ~/Downloads
$ curl -L https://github.com/zeux/meshoptimizer/archive/refs/tags/v0.21.tar.gz -o meshoptimizer-0.21.tar.gz
$ cd -
-$ cd ..
+$ cd ../../..
$ tar xf ~/Downloads/meshoptimizer-0.21.tar.gz
$ cd meshoptimizer-0.21
$ mkdir -p build/`uname -m`-linux-gnu
@@ -196,7 +208,7 @@ $ cmake -DCMAKE_BUILD_TYPE:STRING=Release ../..
$ make -j`nproc`
$ sudo make install
$ cd ../../../viewer/build/`uname -m`-linux-gnu
-$ sudo dnf install cmake gcc-c++ freealut-devel apr-util-devel boost-devel collada-dom-devel expat-devel mesa-libGLU-devel gtk2-devel hunspell-devel jsoncpp-devel libnghttp2-devel nanosvg-devel openjpeg2-devel SDL2-devel uriparser-devel vlc-devel libvorbis-devel xmlrpc-epi-devel xxhash-devel zstd
+$ sudo dnf install gcc-c++ freealut-devel apr-util-devel boost-devel collada-dom-devel expat-devel mesa-libGLU-devel gtk2-devel hunspell-devel jsoncpp-devel libnghttp2-devel nanosvg-devel openjpeg2-devel SDL2-devel uriparser-devel vlc-devel libvorbis-devel xmlrpc-epi-devel xxhash-devel
$ cmake -DCMAKE_BUILD_TYPE:STRING=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr -DADDRESS_SIZE:INTERNAL=64 -DUSESYSTEMLIBS:BOOL=ON -DUSE_OPENAL:BOOL=ON -DLL_TESTS:BOOL=OFF -DNDOF:BOOL=OFF -DVIEWER_CHANNEL:STRING=Megapahit -DVIEWER_BINARY_NAME:STRING=megapahit -DBUILD_SHARED_LIBS:BOOL=OFF -DINSTALL:BOOL=ON -DPACKAGE:BOOL=ON -DCPACK_PACKAGE_NAME:STRING=megapahit -DCPACK_BINARY_STGZ:BOOL=OFF -DCPACK_BINARY_TGZ:BOOL=OFF -DCPACK_BINARY_TZ:BOOL=OFF -DCPACK_BINARY_RPM:BOOL=ON -DCPACK_RPM_PACKAGE_SUMMARY:STRING="A fork of the Second Life viewer" -DCPACK_RPM_PACKAGE_ARCHITECTURE:STRING=`uname -m` -DCPACK_RPM_PACKAGE_LICENSE:STRING=LGPL-2.1-only -DCPACK_RPM_PACKAGE_VENDOR:STRING=Megapahit -DCPACK_RPM_PACKAGE_URL:STRING=https://megapahit.net -DCPACK_RPM_PACKAGE_DESCRIPTION:STRING="An entrance to virtual empires in only megabytes. A shelter for the metaverse refugees, especially those from less supported operating systems." -DCPACK_RPM_PACKAGE_REQUIRES:STRING="freealut, apr-util, boost-fiber, boost-program-options, boost-regex, boost-thread, collada-dom, expat, mesa-libGLU, gtk2, hunspell, jsoncpp, libnghttp2, openjpeg2, SDL2, uriparser, vlc-libs, vlc-plugins-base, libvorbis, xmlrpc-epi" ../../indra
$ cmake ../../indra
$ make -j`nproc`
@@ -210,17 +222,27 @@ $ 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-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-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
$ cd -
-$ cd indra/newview
+$ cd ..
+$ git clone https://github.com/secondlife/3p-openssl
+$ git clone https://github.com/secondlife/3p-curl
+$ cd 3p-openssl/openssl
+$ 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
+$ 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"
$ sudo su -
diff --git a/indra/llrender/llgl.cpp b/indra/llrender/llgl.cpp
index 9207e6ad73..cb54785e76 100644
--- a/indra/llrender/llgl.cpp
+++ b/indra/llrender/llgl.cpp
@@ -50,6 +50,11 @@
#include "llglheaders.h"
#include "llglslshader.h"
+#include "llvertexbuffer.h"
+#include "llcontrol.h"
+extern LLControlGroup gSavedSettings;
+
+
#if LL_WINDOWS
#include "lldxhardware.h"
#endif
@@ -1263,6 +1268,15 @@ bool LLGLManager::initGL()
initGLStates();
+ U32 MPVBufferOptiMode = gSavedSettings.getU32("MPVBufferOptiMode");
+ if (MPVBufferOptiMode == 0)
+ {
+ if(mIsApple) MPVBufferOptiMode = 2;
+ else MPVBufferOptiMode = 1;
+ gSavedSettings.setU32("MPVBufferOptiMode",MPVBufferOptiMode);
+ }
+ LLVertexBuffer::sMappingMode = MPVBufferOptiMode;
+
return true;
}
diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp
index 30a7ed796a..59a8b3f7fb 100644
--- a/indra/llrender/llvertexbuffer.cpp
+++ b/indra/llrender/llvertexbuffer.cpp
@@ -534,7 +534,7 @@ U32 LLVertexBuffer::sGLRenderIndices = 0;
U32 LLVertexBuffer::sLastMask = 0;
U32 LLVertexBuffer::sVertexCount = 0;
-U32 LLVertexBuffer::sMappingMode = gSavedSettings.getU32("MPVBufferOptiMode");
+U32 LLVertexBuffer::sMappingMode = 0;
//NOTE: each component must be AT LEAST 4 bytes in size to avoid a performance penalty on AMD hardware
const U32 LLVertexBuffer::sTypeSize[LLVertexBuffer::TYPE_MAX] =
@@ -1149,17 +1149,12 @@ U8* LLVertexBuffer::mapIndexBuffer(U32 index, S32 count)
// start -- first byte to copy
// end -- last byte to copy (NOT last byte + 1)
// data -- mMappedData or mMappedIndexData
-static void flush_vbo(GLenum target, U32 start, U32 end, void* data, S16 mode)
+// note (observeur) : the mode parameter adds an altenative method to map the buffer
+// mode = 0 or 1: glBufferSubData(), mode = 2 : glMapBufferRange() works much better on Apple gpus
+// mode = 3 or 4: experimental bits parameters for glMapBufferRange()
+static void flush_vbo(GLenum target, U32 start, U32 end, void* data, U32 mode)
{
- if (end == 0) return;
-
- if (mode == 0)
- {
- if(gGLManager.mIsApple) mode = 2;
- else mode = 1;
- }
-
- if (mode == 1)
+ if (mode < 2)
{
LL_PROFILE_ZONE_NAMED_CATEGORY_VERTEX("glBufferSubData");
LL_PROFILE_ZONE_NUM(start);
@@ -1173,7 +1168,6 @@ static void flush_vbo(GLenum target, U32 start, U32 end, void* data, S16 mode)
LL_PROFILE_ZONE_NAMED_CATEGORY_VERTEX("glBufferSubData block");
LL_PROFILE_GPU_ZONE("glBufferSubData");
U32 tend = llmin(i + block_size, end);
- //U32 size = tend - i + 1;
glBufferSubData(target, i, tend - i +1, (U8*) data + (i-start));
}
@@ -1181,7 +1175,8 @@ static void flush_vbo(GLenum target, U32 start, U32 end, void* data, S16 mode)
}
U32 MapBits = GL_MAP_WRITE_BIT;
- if (mode>2) MapBits = GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT;
+ if (mode==3) MapBits = MapBits | GL_MAP_INVALIDATE_RANGE_BIT;
+ if (mode==4) MapBits = MapBits | GL_MAP_UNSYNCHRONIZED_BIT;
U32 buffer_size = end-start+1;
@@ -1191,16 +1186,9 @@ static void flush_vbo(GLenum target, U32 start, U32 end, void* data, S16 mode)
if (mptr)
{
std::memcpy(mptr, (U8*) data, buffer_size);
- if(!glUnmapBuffer(target))
- {
- LL_WARNS() << "glUnmapBuffer() failed" << LL_ENDL;
- }
+ if(!glUnmapBuffer(target)) LL_WARNS() << "glUnmapBuffer() failed" << LL_ENDL;
}
- else
- {
- LL_WARNS() << "glMapBufferRange() returned NULL" << LL_ENDL;
- }
-
+ else LL_WARNS() << "glMapBufferRange() returned NULL" << LL_ENDL;
}
void LLVertexBuffer::unmapBuffer()
@@ -1236,13 +1224,13 @@ void LLVertexBuffer::unmapBuffer()
}
else
{
- flush_vbo(GL_ARRAY_BUFFER, start, end, (U8*)mMappedData + start, sMappingMode);
+ if(end > start) flush_vbo(GL_ARRAY_BUFFER, start, end, (U8*)mMappedData + start,sMappingMode);
start = region.mStart;
end = region.mEnd;
}
}
- flush_vbo(GL_ARRAY_BUFFER, start, end, (U8*)mMappedData + start, sMappingMode);
+ if(end > start) flush_vbo(GL_ARRAY_BUFFER, start, end, (U8*)mMappedData + start,sMappingMode);
mMappedVertexRegions.clear();
}
@@ -1270,14 +1258,13 @@ void LLVertexBuffer::unmapBuffer()
}
else
{
- flush_vbo(GL_ELEMENT_ARRAY_BUFFER, start, end, (U8*)mMappedIndexData + start, sMappingMode);
-
+ if(end > start) flush_vbo(GL_ELEMENT_ARRAY_BUFFER, start, end, (U8*)mMappedIndexData + start, sMappingMode);
start = region.mStart;
end = region.mEnd;
}
}
- flush_vbo(GL_ELEMENT_ARRAY_BUFFER, start, end, (U8*)mMappedIndexData + start, sMappingMode);
+ if(end > start) flush_vbo(GL_ELEMENT_ARRAY_BUFFER, start, end, (U8*)mMappedIndexData + start, sMappingMode);
mMappedIndexRegions.clear();
}
diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h
index 5bb538f892..aff9334cb6 100644
--- a/indra/llwindow/llwindow.h
+++ b/indra/llwindow/llwindow.h
@@ -34,8 +34,6 @@
#include "llinstancetracker.h"
#include "llsd.h"
-#include "../llrender/llglheaders.h"
-
class LLSplashScreen;
class LLPreeditor;
class LLWindowCallbacks;
@@ -245,8 +243,6 @@ protected:
S32 mMinWindowHeight;
S32 mRefreshRate;
- GLsync swapFense;
-
// Handle a UTF-16 encoding unit received from keyboard.
// Converting the series of UTF-16 encoding units to UTF-32 data,
// this method passes the resulting UTF-32 data to mCallback's
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 1b8ab27f23..842a41427e 100644
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -38,7 +38,6 @@
#include "lldir.h"
#include "indra_constants.h"
-#include "../newview/llviewercontrol.h"
#include <OpenGL/OpenGL.h>
#include <Carbon/Carbon.h>
@@ -1013,19 +1012,6 @@ BOOL LLWindowMacOSX::setSizeImpl(const LLCoordWindow size)
void LLWindowMacOSX::swapBuffers()
{
CGLFlushDrawable(mContext);
-
- U32 mode = gSavedSettings.getU32("MPVBufferOptiMode");
- if (mode == 0)
- {
- if(gGLManager.mIsApple) mode = 2;
- else mode = 1;
- }
- if (mode > 2)
- {
- glClientWaitSync(swapFense, GL_SYNC_FLUSH_COMMANDS_BIT, GL_TIMEOUT_IGNORED);
- glDeleteSync(swapFense);
- swapFense = glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
- }
}
void LLWindowMacOSX::restoreGLContext()
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index 531c70e8d9..753d678bda 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -40,10 +40,6 @@
#include "lldir.h"
#include "llfindlocale.h"
-#include "../newview/llviewercontrol.h"
-
-extern LLControlGroup gSavedSettings;
-
#if LL_GTK
extern "C" {
# include "gtk/gtk.h"
@@ -1096,24 +1092,11 @@ BOOL LLWindowSDL::setSizeImpl(const LLCoordWindow size)
return FALSE;
}
-
void LLWindowSDL::swapBuffers()
{
if (mWindow)
{
SDL_GL_SwapWindow(mWindow);
- U32 mode = gSavedSettings.getU32("MPVBufferOptiMode");
- if (mode == 0)
- {
- if(gGLManager.mIsApple) mode = 2;
- else mode = 1;
- }
- if (mode > 2)
- {
- glClientWaitSync(swapFense, GL_SYNC_FLUSH_COMMANDS_BIT, GL_TIMEOUT_IGNORED);
- glDeleteSync(swapFense);
- swapFense = glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
- }
}
}
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index dafd73c4ca..68c93730b2 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -250,7 +250,7 @@ set(viewer_SOURCE_FILES
llfloaterhandler.cpp
llfloaterhelpbrowser.cpp
llfloaterhoverheight.cpp
- mpvfloatertuning.cpp
+ mpfloatertuning.cpp
llfloaterhowto.cpp
llfloaterhud.cpp
llfloaterimagepreview.cpp
@@ -914,7 +914,7 @@ set(viewer_HEADER_FILES
llfloaterhandler.h
llfloaterhelpbrowser.h
llfloaterhoverheight.h
- mpvfloatertuning.h
+ mpfloatertuning.h
llfloaterhowto.h
llfloaterhud.h
llfloaterimagepreview.h
@@ -1419,7 +1419,7 @@ 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
)
@@ -1627,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})
@@ -1635,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})
@@ -1929,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
@@ -2047,7 +2047,7 @@ 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()
@@ -2151,7 +2151,7 @@ if (DARWIN)
# 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
@@ -2358,7 +2358,7 @@ if (LL_TESTS)
# llremoteparcelrequest.cpp
llviewerhelputil.cpp
llversioninfo.cpp
-# llvocache.cpp
+# llvocache.cpp
llworldmap.cpp
llworldmipmap.cpp
)
@@ -2367,7 +2367,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
)
@@ -2401,7 +2401,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/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 0888eb8acd..d936ab2bdd 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -13795,7 +13795,10 @@
<key>Comment</key>
<string>
OpenGL buffer mapping mode:
- 0:auto, 1:normal, 2:optimised, 3:unsynchronized.</string>
+ 0:auto
+ 1:normal
+ 2:optimised
+ 3:experimental.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
@@ -13803,7 +13806,29 @@
<key>Value</key>
<integer>0</integer>
</map>
-
+ <key>MPVCameraCollapsed</key>
+ <map>
+ <key>Comment</key>
+ <string>
+ Camera floater collapsed</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>Boolean</string>
+ <key>Value</key>
+ <integer>0</integer>
+ </map>
+ <key>MPVNearMeRange</key>
+ <map>
+ <key>Comment</key>
+ <string>Search radius in the people panel</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <integer>4096</integer>
+ </map>
<!-- Settings below are for back compatibility only.
They are not used in current viewer anymore. But they can't be removed to avoid
diff --git a/indra/newview/llfloatercamera.cpp b/indra/newview/llfloatercamera.cpp
index 4b91ff6881..b08af851c3 100644
--- a/indra/newview/llfloatercamera.cpp
+++ b/indra/newview/llfloatercamera.cpp
@@ -478,10 +478,8 @@ BOOL LLFloaterCamera::postBuild()
mZoom = getChild<LLPanelCameraZoom>(ZOOM);
mTrack = getChild<LLJoystickCameraTrack>(PAN);
mPresetCombo = getChild<LLComboBox>("preset_combo");
- mPreciseCtrls = getChild<LLTextBox>("precise_ctrs_label");
+ mPreciseCtrls = getChild<LLButton>("precise_btn");
- mPreciseCtrls->setShowCursorHand(false);
- mPreciseCtrls->setSoundFlags(LLView::MOUSE_UP);
mPreciseCtrls->setClickedCallback(boost::bind(&LLFloaterReg::showInstance, "prefs_view_advanced", LLSD(), FALSE));
mPresetCombo->setCommitCallback(boost::bind(&LLFloaterCamera::onCustomPresetSelected, this));
@@ -492,6 +490,11 @@ BOOL LLFloaterCamera::postBuild()
// ensure that appearance mode is handled while building. See EXT-7796.
handleAvatarEditingAppearance(sAppearanceEditing);
+ mCollapseCtrl = getChild<LLButton>("collapse_btn");
+ mCollapseCtrl->setCommitCallback(boost::bind(&LLFloaterCamera::toggleCollapsedView, this));
+
+ updateCollapsedView();
+
return LLFloater::postBuild();
}
@@ -736,3 +739,19 @@ void LLFloaterCamera::onCustomPresetSelected()
switchToPreset(selected_preset);
}
}
+
+void LLFloaterCamera::toggleCollapsedView()
+{
+ BOOL isCollapsed = gSavedSettings.getBOOL("MPVCameraCollapsed");
+ gSavedSettings.setBOOL("MPVCameraCollapsed", !isCollapsed);
+ updateCollapsedView();
+}
+
+void LLFloaterCamera::updateCollapsedView()
+{
+ BOOL isCollapsed = gSavedSettings.getBOOL("MPVCameraCollapsed");
+ mCollapseCtrl->setImageOverlay(!isCollapsed ? "Conv_toolbar_collapse" : "Conv_toolbar_expand");
+ getChild<LLPanel>("buttons_panel")->setVisible(!isCollapsed);
+ //mPreciseCtrls->setVisible(!collapse);
+ reshape(!isCollapsed ? 410 : 220, getRect().getHeight(), FALSE);
+}
diff --git a/indra/newview/llfloatercamera.h b/indra/newview/llfloatercamera.h
index 038ce8f173..561e9a5bb3 100644
--- a/indra/newview/llfloatercamera.h
+++ b/indra/newview/llfloatercamera.h
@@ -122,6 +122,9 @@ private:
void showDebugInfo(bool show);
+ void toggleCollapsedView();
+ void updateCollapsedView();
+
// set to true when free camera mode is selected in modes list
// remains true until preset camera mode is chosen, or pan button is clicked, or escape pressed
static bool sFreeCamera;
@@ -135,7 +138,8 @@ private:
LLPanel* mViewerCameraInfo { nullptr };
LLPanel* mAgentCameraInfo { nullptr };
LLComboBox* mPresetCombo { nullptr };
- LLTextBox* mPreciseCtrls { nullptr };
+ LLButton* mPreciseCtrls { nullptr };
+ LLButton* mCollapseCtrl { nullptr };
};
/**
diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp
index 24f3ad88cc..bdf47976d8 100644
--- a/indra/newview/llpanelpeople.cpp
+++ b/indra/newview/llpanelpeople.cpp
@@ -827,7 +827,7 @@ void LLPanelPeople::updateNearbyList()
std::vector<LLVector3d> positions;
- LLWorld::getInstance()->getAvatars(&mNearbyList->getIDs(), &positions, gAgent.getPositionGlobal(), gSavedSettings.getF32("NearMeRange"));
+ LLWorld::getInstance()->getAvatars(&mNearbyList->getIDs(), &positions, gAgent.getPositionGlobal(), gSavedSettings.getF32("MPVNearMeRange"));
mNearbyList->setDirty();
DISTANCE_COMPARATOR.updateAvatarsPositions(positions, mNearbyList->getIDs());
diff --git a/indra/newview/llprogressview.cpp b/indra/newview/llprogressview.cpp
index 664860db30..ae0face297 100644
--- a/indra/newview/llprogressview.cpp
+++ b/indra/newview/llprogressview.cpp
@@ -379,6 +379,7 @@ void LLProgressView::initLogos()
{
mLogosList.clear();
+#if LL_FMODSTUDIO || LL_HAVOK
const U8 image_codec = IMG_CODEC_PNG;
const LLRectf default_clip(0.f, 1.f, 1.f, 0.f);
//const S32 default_height = 28;
@@ -390,6 +391,7 @@ void LLProgressView::initLogos()
LLTextBox *logos_label = getChild<LLTextBox>("logos_lbl");
S32 texture_start_x = logos_label->getFont()->getWidthF32(logos_label->getText()) + default_pad;
S32 texture_start_y = -7;
+#endif //LL_FMODSTUDIO || LL_HAVOK
// Normally we would just preload these textures from textures.xml,
// and display them via icon control, but they are only needed on
diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp
index 9ec5f4f122..38fde25ebb 100644
--- a/indra/newview/llviewerfloaterreg.cpp
+++ b/indra/newview/llviewerfloaterreg.cpp
@@ -81,7 +81,7 @@
#include "llfloatergroups.h"
#include "llfloaterhelpbrowser.h"
#include "llfloaterhoverheight.h"
-#include "mpvfloatertuning.h"
+#include "mpfloatertuning.h"
#include "llfloaterhowto.h"
#include "llfloaterhud.h"
#include "llfloaterimagepreview.h"
@@ -381,8 +381,8 @@ void LLViewerFloaterReg::registerFloaters()
LLFloaterReg::add("edit_hover_height", "floater_edit_hover_height.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterHoverHeight>);
LLFloaterReg::add("hud", "floater_hud.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterHUD>);
- LLFloaterReg::add("mpv_performance", "floater_mpv_performance.xml", (LLFloaterBuildFunc)&
- LLFloaterReg::build<MPVFloaterTuning>);
+ LLFloaterReg::add("mpv_performance", "floater_mp_performance.xml", (LLFloaterBuildFunc)&
+ LLFloaterReg::build<MPFloaterTuning>);
LLFloaterReg::add("impanel", "floater_im_session.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterIMSession>);
LLFloaterReg::add("im_container", "floater_im_container.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterIMContainer>);
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index a19d9a3567..e7caf777f5 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -2010,6 +2010,8 @@ LLViewerWindow::LLViewerWindow(const Params& p)
mDebugText = new LLDebugText(this);
mWorldViewRectScaled = calcScaledRect(mWorldViewRectRaw, mDisplayScale);
+
+ mWindow->toggleVSync(gSavedSettings.getBOOL("RenderVSyncEnabled"));
}
std::string LLViewerWindow::getLastSnapshotDir()
diff --git a/indra/newview/mpvfloatertuning.cpp b/indra/newview/mpfloatertuning.cpp
index 177bd3caa7..938299cacf 100644
--- a/indra/newview/mpvfloatertuning.cpp
+++ b/indra/newview/mpfloatertuning.cpp
@@ -1,5 +1,5 @@
/**
-* @file mpvfloatertuning.cpp
+* @file mpfloatertuning.cpp
* @brief Controller for viewer tuning
* @author observeur@megapahit.net
*
@@ -27,7 +27,7 @@
#include "llviewerprecompiledheaders.h"
-#include "mpvfloatertuning.h"
+#include "mpfloatertuning.h"
#include "llsliderctrl.h"
#include "llcheckboxctrl.h"
#include "llcombobox.h"
@@ -36,34 +36,41 @@
#include "../llrender/llvertexbuffer.cpp"
-MPVFloaterTuning::MPVFloaterTuning(const LLSD& key) : LLFloater(key)
+MPFloaterTuning::MPFloaterTuning(const LLSD& key) : LLFloater(key)
{
}
-void MPVFloaterTuning::syncFromPreferenceSetting(void *user_data)
+void MPFloaterTuning::syncFromPreferenceSetting(void *user_data)
{
- MPVFloaterTuning *self = static_cast<MPVFloaterTuning*>(user_data);
+ MPFloaterTuning *self = static_cast<MPFloaterTuning*>(user_data);
U32 fps = gSavedSettings.getU32("MaxFPS");
LLSliderCtrl* fpsSliderCtrl = self->getChild<LLSliderCtrl>("fpsSlider");
fpsSliderCtrl->setValue(fps,FALSE);
U32 optBuf = gSavedSettings.getU32("MPVBufferOptiMode");
+
+ if(optBuf == 0)
+ {
+ if(gGLManager.mIsApple) optBuf = 2;
+ else optBuf = 1;
+ }
+
LLComboBox * optBufCtrl = self->getChild<LLComboBox>("MPVBuffModeComboBox");
- optBufCtrl->setCurrentByIndex(optBuf);
+ optBufCtrl->setCurrentByIndex(optBuf-1);
LL_INFOS() << "syncFromPreferenceSetting optBuf=" << optBuf << LL_ENDL;
}
-BOOL MPVFloaterTuning::postBuild()
+BOOL MPFloaterTuning::postBuild()
{
LLSliderCtrl* fpsSliderCtrl = getChild<LLSliderCtrl>("fpsSlider");
fpsSliderCtrl->setMinValue(0);
fpsSliderCtrl->setMaxValue(165);
- fpsSliderCtrl->setSliderMouseUpCallback(boost::bind(&MPVFloaterTuning::onFinalCommit,this));
+ fpsSliderCtrl->setSliderMouseUpCallback(boost::bind(&MPFloaterTuning::onFinalCommit,this));
LLComboBox* optBufCtrl = getChild<LLComboBox>("MPVBuffModeComboBox");
- optBufCtrl->setCommitCallback(boost::bind(&MPVFloaterTuning::onFinalCommit,this));
+ optBufCtrl->setCommitCallback(boost::bind(&MPFloaterTuning::onFinalCommit,this));
syncFromPreferenceSetting(this);
@@ -72,19 +79,19 @@ BOOL MPVFloaterTuning::postBuild()
// Do send-to-the-server work when slider drag completes, or new
// value entered as text.
-void MPVFloaterTuning::onFinalCommit()
+void MPFloaterTuning::onFinalCommit()
{
LLSliderCtrl* fpsSliderCtrl = getChild<LLSliderCtrl>("fpsSlider");
U32 fps = (U32)fpsSliderCtrl->getValueF32();
gSavedSettings.setU32("MaxFPS",fps);
LLComboBox* optBufCtrl = getChild<LLComboBox>("MPVBuffModeComboBox");
- S16 optBuf = optBufCtrl->getCurrentIndex();
+ S16 optBuf = optBufCtrl->getCurrentIndex() + 1;
gSavedSettings.setU32("MPVBufferOptiMode",optBuf);
LLVertexBuffer::sMappingMode = optBuf;
}
-void MPVFloaterTuning::onClose(bool app_quitting)
+void MPFloaterTuning::onClose(bool app_quitting)
{
} \ No newline at end of file
diff --git a/indra/newview/mpvfloatertuning.h b/indra/newview/mpfloatertuning.h
index ed91317eab..8812395ef3 100644
--- a/indra/newview/mpvfloatertuning.h
+++ b/indra/newview/mpfloatertuning.h
@@ -1,5 +1,5 @@
/**
-* @file mpvfloatertuning.h
+* @file mpfloatertuning.h
* @brief Controller for viewer tuning
* @author observeur@megapahit.net
*
@@ -24,15 +24,15 @@
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
-#ifndef LL_MPVFLOATERTUNING_H
-#define LL_MPVFLOATERTUNING_H
+#ifndef LL_MPFLOATERTUNING_H
+#define LL_MPFLOATERTUNING_H
#include "llfloater.h"
-class MPVFloaterTuning: public LLFloater
+class MPFloaterTuning: public LLFloater
{
public:
- MPVFloaterTuning(const LLSD& key);
+ MPFloaterTuning(const LLSD& key);
BOOL postBuild();
diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml
index 73e9c85f4d..1fd46fc637 100644
--- a/indra/newview/skins/default/colors.xml
+++ b/indra/newview/skins/default/colors.xml
@@ -519,7 +519,7 @@
reference="White_10" />
<color
name="MapParcelOutlineColor"
- value="1 1 0 0.5" />
+ value="1 1 1 0.5" />
<color
name="MapTrackColor"
reference="Red" />
diff --git a/indra/newview/skins/default/textures/bottomtray/WellButton_Lit.png b/indra/newview/skins/default/textures/bottomtray/WellButton_Lit.png
index 63e07a31d4..84711ddc29 100644
--- a/indra/newview/skins/default/textures/bottomtray/WellButton_Lit.png
+++ b/indra/newview/skins/default/textures/bottomtray/WellButton_Lit.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/bottomtray/WellButton_Lit_Selected.png b/indra/newview/skins/default/textures/bottomtray/WellButton_Lit_Selected.png
index 2aa31478d8..9b9468c574 100644
--- a/indra/newview/skins/default/textures/bottomtray/WellButton_Lit_Selected.png
+++ b/indra/newview/skins/default/textures/bottomtray/WellButton_Lit_Selected.png
Binary files differ
diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml
index 93b306d7d7..44a5638bc4 100644
--- a/indra/newview/skins/default/xui/en/floater_camera.xml
+++ b/indra/newview/skins/default/xui/en/floater_camera.xml
@@ -5,9 +5,11 @@
bottom="-50"
follows="left|bottom"
legacy_header_height="18"
- can_minimize="true"
+ can_minimize="false"
+ can_collapse="false"
can_close="true"
- height="135"
+ width="410"
+ height="114"
layout="topleft"
name="camera_floater"
help_topic="camera_floater"
@@ -15,8 +17,7 @@
single_instance="true"
title="CAMERA CONTROLS"
chrome="true"
- save_rect="true"
- width="400">
+ save_rect="true">
<floater.string
name="rotate_tooltip">
Rotate Camera Around Focus
@@ -36,18 +37,19 @@
<string name="inactive_combo_text">Use preset</string>
<panel
border="false"
- height="123"
+ width="220"
+ height="90"
layout="topleft"
left="2"
- top="0"
+ top="18"
mouse_opaque="false"
name="controls"
- width="220">
+ >
<!--TODO: replace + - images -->
<panel
border="false"
class="camera_zoom_panel"
- height="123"
+ height="90"
layout="topleft"
left="0"
mouse_opaque="false"
@@ -56,54 +58,59 @@
width="220">
<joystick_rotate
follows="top|left"
+ width="78"
height="78"
layout="topleft"
left="7"
+ top="8"
name="cam_rotate_stick"
quadrant="left"
sound_flags="3"
visible="true"
+ scale_image="true"
tool_tip="Orbit camera around focus"
- top="25"
- width="78" />
+ />
<button
follows="top|left"
+ width="18"
height="18"
+ left_pad="4"
+ top="2"
+ layout="topleft"
image_disabled="AddItem_Disabled"
image_selected="AddItem_Press"
image_unselected="AddItem_Off"
- layout="topleft"
- left_pad="14"
name="zoom_plus_btn"
- width="18"
- top="23">
+ >
<commit_callback
function="Zoom.plus" />
<mouse_held_callback
function="Zoom.plus" />
</button>
<slider_bar
+ width="18"
height="50"
+ top_pad="0"
layout="topleft"
name="zoom_slider"
orientation="vertical"
tool_tip="Zoom camera toward focus"
- top_pad="0"
min_val="0"
- max_val="1"
- width="18">
+ max_val="1"
+ >
<commit_callback function="Slider.value_changed"/>
</slider_bar>
<button
follows="top|left"
+ width="18"
height="18"
+ top_pad="0"
+ layout="topleft"
image_disabled="MinusItem_Disabled"
image_selected="MinusItem_Press"
image_unselected="MinusItem_Off"
- layout="topleft"
name="zoom_minus_btn"
- top_pad="0"
- width="18">
+ >
<commit_callback
function="Zoom.minus" />
<mouse_held_callback
@@ -111,35 +118,46 @@
</button>
<joystick_track
follows="top|left"
+ width="78"
height="78"
+ left_pad="4"
image_selected="Cam_Tracking_In"
image_unselected="Cam_Tracking_Out"
layout="topleft"
- left="133"
name="cam_track_stick"
quadrant="left"
- scale_image="false"
+ scale_image="true"
sound_flags="3"
tool_tip="Move camera up and down, left and right"
- top="25"
- width="78"/>
- <text
- type="string"
- length="1"
- follows="left|top"
- height="15"
+ />
+ <button
+ follows="top|left"
+ width="18"
+ height="18"
+ top="8"
+ left_pad="6"
+ layout="topleft"
+ name="collapse_btn"
+ >
+ </button>
+ <button
+ follows="top|left"
+ width="18"
+ height="18"
+ top_pad="4"
layout="topleft"
- left="41"
- top_pad="9"
- name="precise_ctrs_label"
- width="200">
- Use precise controls
- </text>
+ name="precise_btn"
+ image_disabled="Cam_FreeCam_Off"
+ image_selected="Cam_FreeCam_Off"
+ image_unselected="Cam_FreeCam_Off"
+ tool_tip="Use precise controls"
+ >
+ </button>
</panel>
</panel>
<panel
follows="left|top"
- height="102"
+ height="90"
layout="topleft"
left_pad="2"
right="-2"
@@ -216,7 +234,7 @@
mouse_opaque="true"
name="preset_combo"
top_pad="10"
- width="136">
+ width="124">
<combo_list
mouse_wheel_opaque="true"/>
<combo_box.item
@@ -226,13 +244,13 @@
</combo_box>
<button
height="16"
- width="16"
+ width="16"
layout="topleft"
mouse_opaque="true"
name="gear_btn"
tool_tip="My Camera Presets"
top_delta="3"
- left_pad="10"
+ left_pad="10"
image_selected="Icon_Gear"
image_pressed="Icon_Gear"
image_unselected="Icon_Gear"
@@ -242,13 +260,16 @@
</button>
<button
follows="top|left"
- height="25"
- label="Save as preset..."
+ width="18"
+ height="18"
+ left_pad="4"
+ tooltip_text="Save as preset..."
layout="topleft"
- left="0"
name="save_preset_btn"
- top_pad="18"
- width="150">
+ image_disabled="Conv_toolbar_plus"
+ image_selected="Conv_toolbar_plus"
+ image_unselected="Conv_toolbar_plus"
+ >
<button.commit_callback
function="CameraPresets.Save"/>
</button>
@@ -259,7 +280,7 @@
top="135"
width="400"
height="150"
- border="true"
+ border="false"
visible="false"
background_visible="true"/>
<panel
@@ -268,7 +289,7 @@
top="285"
width="400"
height="150"
- border="true"
+ border="false"
visible="false"
background_visible="true"/>
</floater>
diff --git a/indra/newview/skins/default/xui/en/floater_gesture.xml b/indra/newview/skins/default/xui/en/floater_gesture.xml
index 832716c600..7fce91a2c3 100644
--- a/indra/newview/skins/default/xui/en/floater_gesture.xml
+++ b/indra/newview/skins/default/xui/en/floater_gesture.xml
@@ -52,7 +52,7 @@
width="80" />
</scroll_list>
<panel
- background_visible="true"
+ background_visible="false"
bevel_style="none"
top_pad="0"
follows="left|right|bottom"
diff --git a/indra/newview/skins/default/xui/en/floater_mpv_performance.xml b/indra/newview/skins/default/xui/en/floater_mp_performance.xml
index 5c54d366f2..865ffe82cf 100644
--- a/indra/newview/skins/default/xui/en/floater_mpv_performance.xml
+++ b/indra/newview/skins/default/xui/en/floater_mp_performance.xml
@@ -3,7 +3,7 @@
positioning="cascading"
legacy_header_height="40"
top="12"
- right="2"
+ right="-324"
height="120"
min_height="120"
width="320"
@@ -74,16 +74,11 @@
name="MPVBuffModeComboBox"
width="150"
height="23"
- left="120"
+ left="130"
top="4"
>
<combo_box.item
enabled="true"
- label="Auto"
- name="Auto"
- value="0" />
- <combo_box.item
- enabled="true"
label="Normal"
name="Normal"
value="1" />
@@ -94,8 +89,8 @@
value="2" />
<combo_box.item
enabled="true"
- label="Optimized+ (AMD GPU)"
- name="Optimized+"
+ label="Experimental"
+ name="Experimental"
value="3" />
</combo_box>
diff --git a/indra/newview/skins/default/xui/en/floater_my_environments.xml b/indra/newview/skins/default/xui/en/floater_my_environments.xml
index 8c9c450d7c..dd0795305e 100644
--- a/indra/newview/skins/default/xui/en/floater_my_environments.xml
+++ b/indra/newview/skins/default/xui/en/floater_my_environments.xml
@@ -26,8 +26,8 @@
bottom="-5"
orientation="vertical">
<layout_panel
- border="true"
- bevel_style="in"
+ border="false"
+ bevel_style="none"
auto_resize="false"
tab_group="1"
height="54"
@@ -147,7 +147,7 @@
name="pnl_control"
font="SansSerifBold">
<panel
- background_visible="true"
+ background_visible="false"
bevel_style="none"
top_pad="1"
follows="top|left|right"
diff --git a/indra/newview/skins/default/xui/en/floater_script.xml b/indra/newview/skins/default/xui/en/floater_script.xml
index ae6e68de17..900319620d 100644
--- a/indra/newview/skins/default/xui/en/floater_script.xml
+++ b/indra/newview/skins/default/xui/en/floater_script.xml
@@ -7,7 +7,8 @@
name="script_floater"
can_dock="true"
can_minimize="true"
- visible="false"
+ save_rect="true"
+ visible="false"
width="350"
can_resize="false"
min_width="350"
diff --git a/indra/newview/skins/default/xui/en/floater_world_map.xml b/indra/newview/skins/default/xui/en/floater_world_map.xml
index b3f672d51a..49dd55e91b 100644
--- a/indra/newview/skins/default/xui/en/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/en/floater_world_map.xml
@@ -570,7 +570,7 @@
</button>
<scroll_list
draw_stripes="false"
- bg_writeable_color="Transparent"
+ bg_writeable_color="0.75 0.75 0.75 0.15"
follows="all"
height="145"
layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml
index f337ad9038..80fa230bba 100644
--- a/indra/newview/skins/default/xui/en/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml
@@ -188,13 +188,12 @@
<button
type="string"
font="SansSerif"
- text_color="FpsTextColor"
+ label_color="FpsTextColor"
follows="right|top"
halign="center"
valign="center"
height="18"
top="1"
- v_pad="0"
left_pad="4"
name="FpsText"
tool_tip="fps"