Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 9 additions & 41 deletions autobuild.xml
Original file line number Diff line number Diff line change
Expand Up @@ -450,11 +450,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>d44256458ff0ef4db4c91e8e8cc83e8f98b4f1b8</string>
<string>126e0fa4c16dfd433c9fb7d1d242da98f213d933</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/dullahan/releases/download/v1.21.0-CEF_139.0.28/dullahan-1.21.0.202508272158_139.0.28_g55ab8a8_chromium-139.0.7258.139-darwin64-17279703032.tar.zst</string>
<string>https://github.com/secondlife/dullahan/releases/download/v1.24.0-CEF_139.0.40/dullahan-1.24.0.202510081737_139.0.40_g465474a_chromium-139.0.7258.139-darwin64-18353103947.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
Expand All @@ -478,11 +478,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>9d5af766a87052808e4062978504e9af124fb558</string>
<string>20de62c9e57d9e6539c1e2437ec4b46c3ca237bc</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/dullahan/releases/download/v1.21.0-CEF_139.0.28/dullahan-1.21.0.202508272159_139.0.28_g55ab8a8_chromium-139.0.7258.139-windows64-17279703032.tar.zst</string>
<string>https://github.com/secondlife/dullahan/releases/download/v1.24.0-CEF_139.0.40/dullahan-1.24.0.202510081738_139.0.40_g465474a_chromium-139.0.7258.139-windows64-18353103947.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
Expand All @@ -495,7 +495,7 @@
<key>copyright</key>
<string>Copyright (c) 2017, Linden Research, Inc.</string>
<key>version</key>
<string>1.21.0.202508272158_139.0.28_g55ab8a8_chromium-139.0.7258.139</string>
<string>1.24.0.202510081737_139.0.40_g465474a_chromium-139.0.7258.139</string>
<key>name</key>
<string>dullahan</string>
<key>description</key>
Expand Down Expand Up @@ -1432,53 +1432,21 @@
<map>
<key>platforms</key>
<map>
<key>darwin64</key>
<map>
<key>archive</key>
<map>
<key>creds</key>
<string>github</string>
<key>hash</key>
<string>7facda95e2f00c260513f3d4db42588fa8ba703c</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://api.github.com/repos/secondlife/llphysicsextensions_source/releases/assets/196289774</string>
</map>
<key>name</key>
<string>darwin64</string>
</map>
<key>linux64</key>
<map>
<key>archive</key>
<map>
<key>creds</key>
<string>github</string>
<key>hash</key>
<string>01d08f13c7bc8d1b95b0330fa6833b7d8274e4d0</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://api.github.com/repos/secondlife/llphysicsextensions_source/releases/assets/196289775</string>
</map>
<key>name</key>
<string>linux64</string>
</map>
<key>windows64</key>
<key>common</key>
<map>
<key>archive</key>
<map>
<key>creds</key>
<string>github</string>
<key>hash</key>
<string>6d00345c7d3471bc5f7c1218e014dd0f1a2c069b</string>
<string>fff82c79edb900c547c40dca9a0e3ebac5a8c7da</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://api.github.com/repos/secondlife/llphysicsextensions_source/releases/assets/196289778</string>
<string>https://api.github.com/repos/secondlife/llphysicsextensions_source/releases/assets/299858950</string>
</map>
<key>name</key>
<string>windows64</string>
<string>common</string>
</map>
</map>
<key>license</key>
Expand Down
5 changes: 2 additions & 3 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,6 @@ pre_build()

if [[ "$arch" == "Darwin" ]]
then
HAVOK=OFF
SIGNING=("-DENABLE_SIGNING:BOOL=YES" \
"-DSIGNING_IDENTITY:STRING=Developer ID Application: Linden Research, Inc.")
fi
Expand Down Expand Up @@ -262,8 +261,8 @@ build()
done
fi

# *TODO: Make this a build extension.
package_llphysicsextensions_tpv || fatal "failed building llphysicsextensions packages"
# *TODO: Make this a build extension. disabled for now
# package_llphysicsextensions_tpv || fatal "failed building llphysicsextensions packages"
end_section "extensions $variant"

else
Expand Down
9 changes: 8 additions & 1 deletion indra/cmake/LLPhysicsExtensions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,14 @@ if (HAVOK)
include(Havok)
use_prebuilt_binary(llphysicsextensions_source)
set(LLPHYSICSEXTENSIONS_SRC_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/src)
target_link_libraries( llphysicsextensions_impl INTERFACE llphysicsextensions)
if(DARWIN)
set(LLPHYSICSEXTENSIONS_STUB_DIR ${LIBS_PREBUILT_DIR}/llphysicsextensions/stub)
# can't set these library dependencies per-arch here, need to do it using XCODE_ATTRIBUTE_OTHER_LDFLAGS[arch=*] in newview/CMakeLists.txt
#target_link_libraries( llphysicsextensions_impl INTERFACE llphysicsextensions)
#target_link_libraries( llphysicsextensions_impl INTERFACE llphysicsextensionsstub)
else()
target_link_libraries( llphysicsextensions_impl INTERFACE llphysicsextensions)
endif()
elseif (HAVOK_TPV)
use_prebuilt_binary(llphysicsextensions_tpv)
target_link_libraries( llphysicsextensions_impl INTERFACE llphysicsextensions_tpv)
Expand Down
4 changes: 4 additions & 0 deletions indra/llwebrtc/llwebrtc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1495,6 +1495,10 @@ void freePeerConnection(LLWebRTCPeerConnectionInterface* peer_connection)

void init(LLWebRTCLogCallback* logCallback)
{
if (gWebRTCImpl)
{
return;
}
gWebRTCImpl = new LLWebRTCImpl(logCallback);
gWebRTCImpl->init();
}
Expand Down
12 changes: 11 additions & 1 deletion indra/newview/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ if (NOT HAVOK_TPV)
# which means we need to duct tape this togther ...

add_subdirectory(${LLPHYSICSEXTENSIONS_SRC_DIR} llphysicsextensions)
if (NOT "${LLPHYSICSEXTENSIONS_STUB_DIR}" STREQUAL "")
# for darwin universal builds we need both real llphysicsextensions and the stub for aarch64 fallback
# this will only be set when HAVOK is ON, otherwise the normal stub fallback will be in effect
add_subdirectory(${LLPHYSICSEXTENSIONS_STUB_DIR} llphysicsextensionsstub)
endif()

# Another hack that works with newer cmake versions:
cmake_policy( SET CMP0079 NEW)
Expand Down Expand Up @@ -1950,8 +1955,13 @@ elseif (DARWIN)
set_target_properties(${VIEWER_BINARY_NAME}
PROPERTIES
RESOURCE SecondLife.xib
#LINK_FLAGS_RELEASE "${LINK_FLAGS_RELEASE} -Xlinker -dead_strip -Xlinker -map -Xlinker ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME}.MAP"
LINK_FLAGS_RELEASE "${LINK_FLAGS_RELEASE} -Xlinker -dead_strip"
# arch specific flags for universal builds: https://stackoverflow.com/a/77942065
XCODE_ATTRIBUTE_OTHER_CFLAGS[arch=x86_64] "$(inherited) -DLLPHYSICSEXTENSIONS_USE_FULL"
XCODE_ATTRIBUTE_OTHER_CFLAGS[arch=arm64] "$(inherited) -DLLPHYSICSEXTENSIONS_USE_STUB"
# only generate the .MAP file for llphysicsextensions_tpv on x86_64
XCODE_ATTRIBUTE_OTHER_LDFLAGS[arch=x86_64] "$(inherited) -L${CMAKE_CURRENT_BINARY_DIR}/llphysicsextensions/$<IF:$<BOOL:${LL_GENERATOR_IS_MULTI_CONFIG}>,$<CONFIG>,${CMAKE_CFG_INTDIR}>/ -lllphysicsextensions -Xlinker -map -Xlinker ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME}.MAP"
XCODE_ATTRIBUTE_OTHER_LDFLAGS[arch=arm64] "$(inherited) -L${CMAKE_CURRENT_BINARY_DIR}/llphysicsextensionsstub/$<IF:$<BOOL:${LL_GENERATOR_IS_MULTI_CONFIG}>,$<CONFIG>,${CMAKE_CFG_INTDIR}>/ -lllphysicsextensionsstub"
)
else (WINDOWS)
# Linux
Expand Down
4 changes: 2 additions & 2 deletions indra/newview/llreflectionmapmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -998,11 +998,11 @@ void LLReflectionMapManager::updateProbeFace(LLReflectionMap* probe, U32 face)
mTexture->bind(channel);
}
}

gIrradianceGenProgram.unbind();
}

mMipChain[0].flush();

gIrradianceGenProgram.unbind();
}
}

Expand Down
15 changes: 15 additions & 0 deletions indra/newview/llvoicewebrtc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,11 @@ void LLWebRTCVoiceClient::cleanupSingleton()
void LLWebRTCVoiceClient::init(LLPumpIO* pump)
{
// constructor will set up LLVoiceClient::getInstance()
initWebRTC();
}

void LLWebRTCVoiceClient::initWebRTC()
{
llwebrtc::init(this);

mWebRTCDeviceInterface = llwebrtc::getDeviceInterface();
Expand All @@ -292,6 +297,7 @@ void LLWebRTCVoiceClient::terminate()

mVoiceEnabled = false;
llwebrtc::terminate();
mWebRTCDeviceInterface = nullptr;

sShuttingDown = true;
}
Expand Down Expand Up @@ -1805,6 +1811,15 @@ void LLWebRTCVoiceClient::onChangeDetailed(const LLMute& mute)
}
}

void LLWebRTCVoiceClient::userAuthorized(const std::string& user_id, const LLUUID& agentID)
{
if (sShuttingDown)
{
sShuttingDown = false; // was terminated, restart
initWebRTC();
}
}

void LLWebRTCVoiceClient::predSetUserMute(const LLWebRTCVoiceClient::sessionStatePtr_t &session, const LLUUID &id, bool mute)
{
session->setUserMute(id, mute);
Expand Down
4 changes: 3 additions & 1 deletion indra/newview/llvoicewebrtc.h
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ class LLWebRTCVoiceClient : public LLSingleton<LLWebRTCVoiceClient>,
//@}

// authorize the user
void userAuthorized(const std::string &user_id, const LLUUID &agentID) override {};
void userAuthorized(const std::string &user_id, const LLUUID &agentID) override;


void OnConnectionEstablished(const std::string& channelID, const LLUUID& regionID);
Expand Down Expand Up @@ -443,6 +443,8 @@ class LLWebRTCVoiceClient : public LLSingleton<LLWebRTCVoiceClient>,
boost::signals2::connection mAvatarNameCacheConnection;

private:
// init or restart the WebRTC device interface.
void initWebRTC();

// Coroutine support methods
//---
Expand Down