diff options
author | Erik Kundiman <erik@megapahit.org> | 2024-07-17 11:57:01 +0800 |
---|---|---|
committer | Erik Kundiman <erik@megapahit.org> | 2024-07-17 11:57:01 +0800 |
commit | e8c39210bdb1cc1775cb37d539a00db2c817aed3 (patch) | |
tree | 94ba8edddce15c93a5e5d93db99bbc3bad146962 | |
parent | 551224d0d0c0d8866432b3610e9c042a3f4ad6ba (diff) | |
parent | 84908dd8001bacf88786e5630ce80c47944c400a (diff) |
Merge branch 'main' into webrtc-voice
26 files changed, 237 insertions, 174 deletions
@@ -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 Binary files differindex 63e07a31d4..84711ddc29 100644 --- a/indra/newview/skins/default/textures/bottomtray/WellButton_Lit.png +++ b/indra/newview/skins/default/textures/bottomtray/WellButton_Lit.png diff --git a/indra/newview/skins/default/textures/bottomtray/WellButton_Lit_Selected.png b/indra/newview/skins/default/textures/bottomtray/WellButton_Lit_Selected.png Binary files differindex 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 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" |