-Screwed around with SSE2.
-Added ReleaseSSE2 as a build target. -LL_VECTORIZE is silly and breaks things... -Small little tweaks. I have not tested if the cmake alterations work under linux and darwin. Hollar if broken.
This commit is contained in:
@@ -32,7 +32,7 @@ include(UnixInstall)
|
|||||||
|
|
||||||
if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
|
if (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
|
||||||
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
|
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
|
||||||
"Build type. One of: Debug Release RelWithDebInfo" FORCE)
|
"Build type. One of: Debug Release ReleaseSSE2 RelWithDebInfo" FORCE)
|
||||||
endif (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
|
endif (NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
|
||||||
|
|
||||||
# Create a 'prepare' target in which to perform setup actions. This
|
# Create a 'prepare' target in which to perform setup actions. This
|
||||||
|
|||||||
@@ -10,13 +10,15 @@ include(Variables)
|
|||||||
set(CMAKE_CXX_FLAGS_DEBUG "-D_DEBUG -DLL_DEBUG=1")
|
set(CMAKE_CXX_FLAGS_DEBUG "-D_DEBUG -DLL_DEBUG=1")
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE
|
set(CMAKE_CXX_FLAGS_RELEASE
|
||||||
"-DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -D_SECURE_SCL=0 -DLL_SEND_CRASH_REPORTS=1 -DNDEBUG")
|
"-DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -D_SECURE_SCL=0 -DLL_SEND_CRASH_REPORTS=1 -DNDEBUG")
|
||||||
|
set(CMAKE_CXX_FLAGS_RELEASESSE2
|
||||||
|
"-DLL_RELEASE=1 -DLL_RELEASE_FOR_DOWNLOAD=1 -D_SECURE_SCL=0 -DLL_SEND_CRASH_REPORTS=1 -DNDEBUG")
|
||||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||||
"-DLL_RELEASE=1 -D_SECURE_SCL=0 -DLL_SEND_CRASH_REPORTS=0 -DNDEBUG -DLL_RELEASE_WITH_DEBUG_INFO=1")
|
"-DLL_RELEASE=1 -D_SECURE_SCL=0 -DLL_SEND_CRASH_REPORTS=0 -DNDEBUG -DLL_RELEASE_WITH_DEBUG_INFO=1")
|
||||||
|
|
||||||
|
|
||||||
# Don't bother with a MinSizeRel build.
|
# Don't bother with a MinSizeRel build.
|
||||||
|
|
||||||
set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;Debug" CACHE STRING
|
set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;ReleaseSSE2;Debug" CACHE STRING
|
||||||
"Supported build types." FORCE)
|
"Supported build types." FORCE)
|
||||||
|
|
||||||
# Platform-specific compilation flags.
|
# Platform-specific compilation flags.
|
||||||
@@ -33,6 +35,9 @@ if (WINDOWS)
|
|||||||
set(CMAKE_CXX_FLAGS_RELEASE
|
set(CMAKE_CXX_FLAGS_RELEASE
|
||||||
"${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP"
|
"${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP"
|
||||||
CACHE STRING "C++ compiler release options" FORCE)
|
CACHE STRING "C++ compiler release options" FORCE)
|
||||||
|
set(CMAKE_CXX_FLAGS_RELEASESSE2
|
||||||
|
"${CMAKE_CXX_FLAGS_RELEASESSE2} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP /arch:SSE2"
|
||||||
|
CACHE STRING "C++ compiler release-SSE2 options" FORCE)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD_LIBRARIES "")
|
set(CMAKE_CXX_STANDARD_LIBRARIES "")
|
||||||
set(CMAKE_C_STANDARD_LIBRARIES "")
|
set(CMAKE_C_STANDARD_LIBRARIES "")
|
||||||
@@ -54,6 +59,9 @@ if (WINDOWS)
|
|||||||
set(CMAKE_CXX_FLAGS_RELEASE
|
set(CMAKE_CXX_FLAGS_RELEASE
|
||||||
"${CMAKE_CXX_FLAGS_RELEASE} -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0"
|
"${CMAKE_CXX_FLAGS_RELEASE} -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0"
|
||||||
CACHE STRING "C++ compiler release options" FORCE)
|
CACHE STRING "C++ compiler release options" FORCE)
|
||||||
|
set(CMAKE_CXX_FLAGS_RELEASESSE2
|
||||||
|
"${CMAKE_CXX_FLAGS_RELEASESSE2} -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0"
|
||||||
|
CACHE STRING "C++ compiler release-SSE2 options" FORCE)
|
||||||
|
|
||||||
add_definitions(
|
add_definitions(
|
||||||
/Zc:wchar_t-
|
/Zc:wchar_t-
|
||||||
@@ -160,10 +168,12 @@ if (LINUX)
|
|||||||
# this stops us requiring a really recent glibc at runtime
|
# this stops us requiring a really recent glibc at runtime
|
||||||
add_definitions(-fno-stack-protector)
|
add_definitions(-fno-stack-protector)
|
||||||
endif (NOT STANDALONE)
|
endif (NOT STANDALONE)
|
||||||
|
set(CMAKE_CXX_FLAGS_RELEASESSE2 "${CMAKE_CXX_FLAGS_RELEASESSE2} -mfpmath=sse2 -msse2")
|
||||||
endif (VIEWER)
|
endif (VIEWER)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline ${CMAKE_CXX_FLAGS_DEBUG}")
|
set(CMAKE_CXX_FLAGS_DEBUG "-fno-inline ${CMAKE_CXX_FLAGS_DEBUG}")
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2 ${CMAKE_CXX_FLAGS_RELEASE}")
|
set(CMAKE_CXX_FLAGS_RELEASE "-O2 ${CMAKE_CXX_FLAGS_RELEASE}")
|
||||||
|
set(CMAKE_CXX_FLAGS_RELEASESSE2 "-O2 ${CMAKE_CXX_FLAGS_RELEASESSE2}")
|
||||||
endif (LINUX)
|
endif (LINUX)
|
||||||
|
|
||||||
|
|
||||||
@@ -177,6 +187,8 @@ if (DARWIN)
|
|||||||
# NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
|
# NOTE: it's critical to have both CXX_FLAGS and C_FLAGS covered.
|
||||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O0 ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||||
|
set(CMAKE_CXX_FLAGS_RELEASESSE2 "-msse2 -mfpmath=sse ${CMAKE_CXX_FLAGS_RELEASESSE2}")
|
||||||
|
set(CMAKE_C_FLAGS_RELEASESSE2 "-msse2 -mfpmath=sse ${CMAKE_C_FLAGS_RELEASESSE2}")
|
||||||
endif (DARWIN)
|
endif (DARWIN)
|
||||||
|
|
||||||
|
|
||||||
@@ -228,3 +240,17 @@ endif(1 EQUAL 1)
|
|||||||
if(SERVER)
|
if(SERVER)
|
||||||
include_directories(${LIBS_PREBUILT_DIR}/include/havok)
|
include_directories(${LIBS_PREBUILT_DIR}/include/havok)
|
||||||
endif(SERVER)
|
endif(SERVER)
|
||||||
|
|
||||||
|
SET( CMAKE_EXE_LINKER_FLAGS_RELEASESSE2
|
||||||
|
"${CMAKE_EXE_LINKER_FLAGS_RELEASE}" CACHE STRING
|
||||||
|
"Flags used for linking binaries under SSE2 build."
|
||||||
|
FORCE )
|
||||||
|
SET( CMAKE_SHARED_LINKER_FLAGS_RELEASESSE2
|
||||||
|
"${CMAKE_SHARED_LINKER_FLAGS_RELEASE}" CACHE STRING
|
||||||
|
"Flags used by the shared libraries linker under SSE2 build."
|
||||||
|
FORCE )
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
CMAKE_CXX_FLAGS_RELEASESSE2
|
||||||
|
CMAKE_C_FLAGS_RELEASESSE2
|
||||||
|
CMAKE_EXE_LINKER_FLAGS_RELEASESSE2
|
||||||
|
CMAKE_SHARED_LINKER_FLAGS_RELEASESSE2 )
|
||||||
|
|||||||
@@ -109,6 +109,14 @@ copy_if_different(
|
|||||||
)
|
)
|
||||||
set(all_targets ${all_targets} ${out_targets})
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
|
copy_if_different(
|
||||||
|
${plugintest_release_src_dir}
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/ReleaseSSE2"
|
||||||
|
out_targets
|
||||||
|
${plugintest_release_files}
|
||||||
|
)
|
||||||
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
copy_if_different(
|
copy_if_different(
|
||||||
${plugintest_release_src_dir}
|
${plugintest_release_src_dir}
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/RelWithDebInfo"
|
"${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/RelWithDebInfo"
|
||||||
@@ -135,6 +143,14 @@ copy_if_different(
|
|||||||
)
|
)
|
||||||
set(all_targets ${all_targets} ${out_targets})
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
|
copy_if_different(
|
||||||
|
${plugintest_release_src_dir}
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/ReleaseSSE2/imageformats"
|
||||||
|
out_targets
|
||||||
|
${plugintest_release_files}
|
||||||
|
)
|
||||||
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
copy_if_different(
|
copy_if_different(
|
||||||
${plugintest_release_src_dir}
|
${plugintest_release_src_dir}
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/RelWithDebInfo/imageformats"
|
"${CMAKE_CURRENT_BINARY_DIR}/../test_apps/llplugintest/RelWithDebInfo/imageformats"
|
||||||
@@ -151,6 +167,14 @@ copy_if_different(
|
|||||||
)
|
)
|
||||||
set(all_targets ${all_targets} ${out_targets})
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
|
copy_if_different(
|
||||||
|
${plugintest_release_src_dir}
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2/llplugin/imageformats"
|
||||||
|
out_targets
|
||||||
|
${plugintest_release_files}
|
||||||
|
)
|
||||||
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
copy_if_different(
|
copy_if_different(
|
||||||
${plugintest_release_src_dir}
|
${plugintest_release_src_dir}
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/llplugin/imageformats"
|
"${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/llplugin/imageformats"
|
||||||
@@ -197,6 +221,14 @@ copy_if_different(
|
|||||||
)
|
)
|
||||||
set(all_targets ${all_targets} ${out_targets})
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
|
copy_if_different(
|
||||||
|
${plugins_release_src_dir}
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2/llplugin"
|
||||||
|
out_targets
|
||||||
|
${plugins_release_files}
|
||||||
|
)
|
||||||
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
copy_if_different(
|
copy_if_different(
|
||||||
${plugins_release_src_dir}
|
${plugins_release_src_dir}
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/llplugin"
|
"${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/llplugin"
|
||||||
@@ -226,6 +258,22 @@ copy_if_different(
|
|||||||
)
|
)
|
||||||
set(all_targets ${all_targets} ${out_targets})
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
|
copy_if_different(
|
||||||
|
${release_src_dir}
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2"
|
||||||
|
out_targets
|
||||||
|
${release_files}
|
||||||
|
)
|
||||||
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
|
copy_if_different(
|
||||||
|
${vivox_src_dir}
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2"
|
||||||
|
out_targets
|
||||||
|
${vivox_files}
|
||||||
|
)
|
||||||
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
copy_if_different(
|
copy_if_different(
|
||||||
${release_src_dir}
|
${release_src_dir}
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo"
|
"${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo"
|
||||||
@@ -277,6 +325,15 @@ else(EXISTS ${internal_llkdu_path})
|
|||||||
)
|
)
|
||||||
set(all_targets ${all_targets} ${release_llkdu_dst})
|
set(all_targets ${all_targets} ${release_llkdu_dst})
|
||||||
|
|
||||||
|
set(releasesse2_llkdu_dst "${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2/llkdu.dll")
|
||||||
|
ADD_CUSTOM_COMMAND(
|
||||||
|
OUTPUT ${releasesse2_llkdu_dst}
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${release_llkdu_src} ${releasesse2_llkdu_dst}
|
||||||
|
DEPENDS ${release_llkdu_src}
|
||||||
|
COMMENT "Copying llkdu.dll ${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2"
|
||||||
|
)
|
||||||
|
set(all_targets ${all_targets} ${releasesse2_llkdu_dst})
|
||||||
|
|
||||||
set(relwithdebinfo_llkdu_dst "${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/llkdu.dll")
|
set(relwithdebinfo_llkdu_dst "${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/llkdu.dll")
|
||||||
ADD_CUSTOM_COMMAND(
|
ADD_CUSTOM_COMMAND(
|
||||||
OUTPUT ${relwithdebinfo_llkdu_dst}
|
OUTPUT ${relwithdebinfo_llkdu_dst}
|
||||||
@@ -351,6 +408,14 @@ if (MSVC80)
|
|||||||
)
|
)
|
||||||
set(all_targets ${all_targets} ${out_targets})
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
|
copy_if_different(
|
||||||
|
${release_msvc8_redist_path}
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2"
|
||||||
|
out_targets
|
||||||
|
${release_msvc8_files}
|
||||||
|
)
|
||||||
|
set(all_targets ${all_targets} ${out_targets})
|
||||||
|
|
||||||
copy_if_different(
|
copy_if_different(
|
||||||
${release_msvc8_redist_path}
|
${release_msvc8_redist_path}
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo"
|
"${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo"
|
||||||
@@ -372,6 +437,19 @@ if (MSVC80)
|
|||||||
COMMENT "Creating release app config file"
|
COMMENT "Creating release app config file"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set(releasesse2_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2/Ascent.exe.config)
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${releasesse2_appconfig_file}
|
||||||
|
COMMAND ${PYTHON_EXECUTABLE}
|
||||||
|
ARGS
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/build_win32_appConfig.py
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2/Microsoft.VC80.CRT.manifest
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/SecondLife.exe.config
|
||||||
|
${releasesse2_appconfig_file}
|
||||||
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ReleaseSSE2/Microsoft.VC80.CRT.manifest
|
||||||
|
COMMENT "Creating release-sse2 app config file"
|
||||||
|
)
|
||||||
|
|
||||||
set(relwithdebinfo_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/Ascent.exe.config)
|
set(relwithdebinfo_appconfig_file ${CMAKE_CURRENT_BINARY_DIR}/RelWithDebInfo/Ascent.exe.config)
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${relwithdebinfo_appconfig_file}
|
OUTPUT ${relwithdebinfo_appconfig_file}
|
||||||
@@ -392,6 +470,7 @@ add_custom_target(copy_win_libs ALL
|
|||||||
DEPENDS
|
DEPENDS
|
||||||
${all_targets}
|
${all_targets}
|
||||||
${release_appconfig_file}
|
${release_appconfig_file}
|
||||||
|
${releasesse2_appconfig_file}
|
||||||
${relwithdebinfo_appconfig_file}
|
${relwithdebinfo_appconfig_file}
|
||||||
${debug_appconfig_file}
|
${debug_appconfig_file}
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ def quote(opts):
|
|||||||
class PlatformSetup(object):
|
class PlatformSetup(object):
|
||||||
generator = None
|
generator = None
|
||||||
build_types = {}
|
build_types = {}
|
||||||
for t in ('Debug', 'Release', 'RelWithDebInfo'):
|
for t in ('Debug', 'Release', 'ReleaseSSE2', 'RelWithDebInfo'):
|
||||||
build_types[t.lower()] = t
|
build_types[t.lower()] = t
|
||||||
|
|
||||||
build_type = build_types['relwithdebinfo']
|
build_type = build_types['relwithdebinfo']
|
||||||
@@ -725,7 +725,7 @@ Options:
|
|||||||
--standalone build standalone, without Linden prebuild libraries
|
--standalone build standalone, without Linden prebuild libraries
|
||||||
--unattended build unattended, do not invoke any tools requiring
|
--unattended build unattended, do not invoke any tools requiring
|
||||||
a human response
|
a human response
|
||||||
-t | --type=NAME build type ("Debug", "Release", or "RelWithDebInfo")
|
-t | --type=NAME build type ("Debug", "Release", "ReleaseSSE2", or "RelWithDebInfo")
|
||||||
-m32 | -m64 build architecture (32-bit or 64-bit)
|
-m32 | -m64 build architecture (32-bit or 64-bit)
|
||||||
-N | --no-distcc disable use of distcc
|
-N | --no-distcc disable use of distcc
|
||||||
-G | --generator=NAME generator name
|
-G | --generator=NAME generator name
|
||||||
|
|||||||
@@ -120,7 +120,7 @@ ARGUMENTS=[
|
|||||||
On Linux this would try to use Linux_i686Manifest.""",
|
On Linux this would try to use Linux_i686Manifest.""",
|
||||||
default=""),
|
default=""),
|
||||||
dict(name='build', description='Build directory.', default=DEFAULT_SRCTREE),
|
dict(name='build', description='Build directory.', default=DEFAULT_SRCTREE),
|
||||||
dict(name='buildtype', description="""The build type used. ('Debug', 'Release', or 'RelWithDebInfo')
|
dict(name='buildtype', description="""The build type used. ('Debug', 'Release', 'ReleaseSSE2' or 'RelWithDebInfo')
|
||||||
Default is Release """,
|
Default is Release """,
|
||||||
default="Release"),
|
default="Release"),
|
||||||
dict(name='branding_id', description="""Identifier for the branding set to
|
dict(name='branding_id', description="""Identifier for the branding set to
|
||||||
|
|||||||
@@ -4875,57 +4875,20 @@ BOOL LLVolumeFace::createCap(LLVolume* volume, BOOL partial_build)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Not hollow, generate the triangle fan.
|
// Not hollow, generate the triangle fan.
|
||||||
|
U16 v1 = 2;
|
||||||
|
U16 v2 = 1;
|
||||||
|
|
||||||
if (mTypeMask & TOP_MASK)
|
if (mTypeMask & TOP_MASK)
|
||||||
{
|
{
|
||||||
if (mTypeMask & OPEN_MASK)
|
v1 = 1;
|
||||||
{
|
v2 = 2;
|
||||||
// SOLID OPEN TOP
|
|
||||||
// Generate indices
|
|
||||||
// This is a tri-fan, so we reuse the same first point for all triangles.
|
|
||||||
for (S32 i = 0; i < (num_vertices - 2); i++)
|
|
||||||
{
|
|
||||||
mIndices[3*i] = num_vertices - 1;
|
|
||||||
mIndices[3*i+1] = i;
|
|
||||||
mIndices[3*i+2] = i + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// SOLID CLOSED TOP
|
|
||||||
for (S32 i = 0; i < (num_vertices - 2); i++)
|
|
||||||
{
|
|
||||||
//MSMSM fix these caps but only for the un-cut case
|
|
||||||
mIndices[3*i] = num_vertices - 1;
|
|
||||||
mIndices[3*i+1] = i;
|
|
||||||
mIndices[3*i+2] = i + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
for (S32 i = 0; i < (num_vertices - 2); i++)
|
||||||
{
|
{
|
||||||
if (mTypeMask & OPEN_MASK)
|
mIndices[3*i] = num_vertices - 1;
|
||||||
{
|
mIndices[3*i+v1] = i;
|
||||||
// SOLID OPEN BOTTOM
|
mIndices[3*i+v2] = i + 1;
|
||||||
// Generate indices
|
|
||||||
// This is a tri-fan, so we reuse the same first point for all triangles.
|
|
||||||
for (S32 i = 0; i < (num_vertices - 2); i++)
|
|
||||||
{
|
|
||||||
mIndices[3*i] = num_vertices - 1;
|
|
||||||
mIndices[3*i+1] = i + 1;
|
|
||||||
mIndices[3*i+2] = i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// SOLID CLOSED BOTTOM
|
|
||||||
for (S32 i = 0; i < (num_vertices - 2); i++)
|
|
||||||
{
|
|
||||||
//MSMSM fix these caps but only for the un-cut case
|
|
||||||
mIndices[3*i] = num_vertices - 1;
|
|
||||||
mIndices[3*i+1] = i + 1;
|
|
||||||
mIndices[3*i+2] = i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@@ -5189,31 +5152,20 @@ BOOL LLVolumeFace::createSide(LLVolume* volume, BOOL partial_build)
|
|||||||
//generate normals
|
//generate normals
|
||||||
for (U32 i = 0; i < mIndices.size()/3; i++) //for each triangle
|
for (U32 i = 0; i < mIndices.size()/3; i++) //for each triangle
|
||||||
{
|
{
|
||||||
const S32 i0 = mIndices[i*3+0];
|
const U16* idx = &(mIndices[i*3]);
|
||||||
const S32 i1 = mIndices[i*3+1];
|
|
||||||
const S32 i2 = mIndices[i*3+2];
|
VertexData* v[] =
|
||||||
const VertexData& v0 = mVertices[i0];
|
{ &mVertices[idx[0]], &mVertices[idx[1]], &mVertices[idx[2]] };
|
||||||
const VertexData& v1 = mVertices[i1];
|
|
||||||
const VertexData& v2 = mVertices[i2];
|
|
||||||
|
|
||||||
//calculate triangle normal
|
//calculate triangle normal
|
||||||
LLVector3 norm = (v0.mPosition-v1.mPosition) % (v0.mPosition-v2.mPosition);
|
LLVector3 norm = (v[0]->mPosition-v[1]->mPosition) % (v[0]->mPosition-v[2]->mPosition);
|
||||||
|
|
||||||
for (U32 j = 0; j < 3; j++)
|
v[0]->mNormal += norm;
|
||||||
{ //add triangle normal to vertices
|
v[1]->mNormal += norm;
|
||||||
const S32 idx = mIndices[i*3+j];
|
v[2]->mNormal += norm;
|
||||||
mVertices[idx].mNormal += norm; // * (weight_sum - d[j])/weight_sum;
|
|
||||||
}
|
|
||||||
|
|
||||||
//even out quad contributions
|
//even out quad contributions
|
||||||
if ((i & 1) == 0)
|
v[i%2+1]->mNormal += norm;
|
||||||
{
|
|
||||||
mVertices[i2].mNormal += norm;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
mVertices[i1].mNormal += norm;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// adjust normals based on wrapping and stitching
|
// adjust normals based on wrapping and stitching
|
||||||
|
|||||||
@@ -357,7 +357,7 @@ LLPointer<LLIMInfo> llsd_to_im_info(const LLSD& im_info_sd)
|
|||||||
param_message["message"].asString(),
|
param_message["message"].asString(),
|
||||||
param_message["id"].asUUID(),
|
param_message["id"].asUUID(),
|
||||||
(U32) param_message["parent_estate_id"].asInteger(),
|
(U32) param_message["parent_estate_id"].asInteger(),
|
||||||
im_info->mRegionID = param_message["region_id"].asUUID(),
|
param_message["region_id"].asUUID(),
|
||||||
ll_vector3_from_sd(param_message["position"]),
|
ll_vector3_from_sd(param_message["position"]),
|
||||||
param_message["data"],
|
param_message["data"],
|
||||||
(U8) param_message["offline"].asInteger(),
|
(U8) param_message["offline"].asInteger(),
|
||||||
|
|||||||
@@ -403,6 +403,10 @@ LLTemplateParser::LLTemplateParser(LLTemplateTokenizer & tokens):
|
|||||||
{
|
{
|
||||||
mMessages.push_back(templatep);
|
mMessages.push_back(templatep);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
delete templatep;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!tokens.wantEOF())
|
if(!tokens.wantEOF())
|
||||||
|
|||||||
@@ -963,6 +963,7 @@ std::ostream& operator<<(std::ostream& s, const LLNameValue &a)
|
|||||||
U64_to_str(*a.mNameValueReference.u64, u64_string, sizeof(u64_string));
|
U64_to_str(*a.mNameValueReference.u64, u64_string, sizeof(u64_string));
|
||||||
s << u64_string;
|
s << u64_string;
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
case NVT_VEC3:
|
case NVT_VEC3:
|
||||||
s << *(a.mNameValueReference.vec3);
|
s << *(a.mNameValueReference.vec3);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -42,6 +42,9 @@
|
|||||||
|
|
||||||
LLPacketBuffer::LLPacketBuffer(const LLHost &host, const char *datap, const S32 size) : mHost(host)
|
LLPacketBuffer::LLPacketBuffer(const LLHost &host, const char *datap, const S32 size) : mHost(host)
|
||||||
{
|
{
|
||||||
|
mSize = 0;
|
||||||
|
mData[0] = '!';
|
||||||
|
|
||||||
if (size > NET_BUFFER_SIZE)
|
if (size > NET_BUFFER_SIZE)
|
||||||
{
|
{
|
||||||
llerrs << "Sending packet > " << NET_BUFFER_SIZE << " of size " << size << llendl;
|
llerrs << "Sending packet > " << NET_BUFFER_SIZE << " of size " << size << llendl;
|
||||||
|
|||||||
@@ -98,7 +98,9 @@ std::string LLServiceBuilder::buildServiceURI(const std::string& service_name)
|
|||||||
{
|
{
|
||||||
std::ostringstream service_url;
|
std::ostringstream service_url;
|
||||||
// Find the service builder
|
// Find the service builder
|
||||||
if(mServiceMap.find(service_name) != mServiceMap.end())
|
std::map<std::string, std::string>::const_iterator it =
|
||||||
|
mServiceMap.find(service_name);
|
||||||
|
if(it != mServiceMap.end())
|
||||||
{
|
{
|
||||||
// construct the service builder url
|
// construct the service builder url
|
||||||
LLApp* app = LLApp::instance();
|
LLApp* app = LLApp::instance();
|
||||||
@@ -119,7 +121,7 @@ std::string LLServiceBuilder::buildServiceURI(const std::string& service_name)
|
|||||||
}
|
}
|
||||||
service_url << base_url.asString();
|
service_url << base_url.asString();
|
||||||
}
|
}
|
||||||
service_url << mServiceMap[service_name];
|
service_url << it->second;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -326,7 +326,7 @@ void LLTemplateMessageBuilder::addData(const char *varname, const void *data, EM
|
|||||||
<< "(" << size << "). Clamping size and truncating data." << llendl;
|
<< "(" << size << "). Clamping size and truncating data." << llendl;
|
||||||
size = 255;
|
size = 255;
|
||||||
char *truncate = (char *)data;
|
char *truncate = (char *)data;
|
||||||
truncate[255] = 0;
|
truncate[254] = 0; // array size is 255 but the last element index is 254
|
||||||
}
|
}
|
||||||
|
|
||||||
// no correct size for MVT_VARIABLE, instead we need to tell how many bytes the size will be encoded as
|
// no correct size for MVT_VARIABLE, instead we need to tell how many bytes the size will be encoded as
|
||||||
@@ -737,10 +737,14 @@ static S32 buildBlock(U8* buffer, S32 buffer_size, const LLMessageBlock* templat
|
|||||||
}
|
}
|
||||||
|
|
||||||
--block_count;
|
--block_count;
|
||||||
++block_iter;
|
|
||||||
if (block_iter != message_data->mMemberBlocks.end())
|
if (block_iter != message_data->mMemberBlocks.end())
|
||||||
{
|
{
|
||||||
mbci = block_iter->second;
|
++block_iter;
|
||||||
|
if (block_iter != message_data->mMemberBlocks.end())
|
||||||
|
{
|
||||||
|
mbci = block_iter->second;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -144,6 +144,8 @@ LLPartSysCompressedPacket::LLPartSysCompressedPacket()
|
|||||||
mData[i] = '\0';
|
mData[i] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mNumBytes = 0;
|
||||||
|
|
||||||
gSetInitDataDefaults(&mDefaults);
|
gSetInitDataDefaults(&mDefaults);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -467,39 +467,32 @@ static void settings_modify()
|
|||||||
gDebugGL = gSavedSettings.getBOOL("RenderDebugGL");
|
gDebugGL = gSavedSettings.getBOOL("RenderDebugGL");
|
||||||
gDebugPipeline = gSavedSettings.getBOOL("RenderDebugPipeline");
|
gDebugPipeline = gSavedSettings.getBOOL("RenderDebugPipeline");
|
||||||
gAuditTexture = gSavedSettings.getBOOL("AuditTexture");
|
gAuditTexture = gSavedSettings.getBOOL("AuditTexture");
|
||||||
#if LL_VECTORIZE
|
|
||||||
if (gSysCPU.hasAltivec())
|
if (gSysCPU.hasAltivec()) //for mac. No intrinsics used. No real risk of breaking compat.
|
||||||
{
|
{
|
||||||
gSavedSettings.setBOOL("VectorizeEnable", TRUE );
|
gSavedSettings.setBOOL("VectorizeEnable", TRUE );
|
||||||
gSavedSettings.setU32("VectorizeProcessor", 0 );
|
gSavedSettings.setU32("VectorizeProcessor", 0 );
|
||||||
}
|
}
|
||||||
else
|
|
||||||
if (gSysCPU.hasSSE2())
|
//Slightly confusing, but with linux llviewerjointmesh_sse(2) are compiled with relevent sse flags set.
|
||||||
|
//However, on windows or mac said files are only compiled with sse(2) if the entire project is.
|
||||||
|
else if (gSysCPU.hasSSE2() && LLViewerJointMesh::supportsSSE2())
|
||||||
{
|
{
|
||||||
gSavedSettings.setBOOL("VectorizeEnable", TRUE );
|
gSavedSettings.setBOOL("VectorizeEnable", TRUE );
|
||||||
gSavedSettings.setU32("VectorizeProcessor", 2 );
|
gSavedSettings.setU32("VectorizeProcessor", 2 );
|
||||||
}
|
}
|
||||||
else
|
else if (gSysCPU.hasSSE() && LLViewerJointMesh::supportsSSE())
|
||||||
if (gSysCPU.hasSSE())
|
|
||||||
{
|
{
|
||||||
gSavedSettings.setBOOL("VectorizeEnable", TRUE );
|
gSavedSettings.setBOOL("VectorizeEnable", TRUE );
|
||||||
gSavedSettings.setU32("VectorizeProcessor", 1 );
|
gSavedSettings.setU32("VectorizeProcessor", 1 );
|
||||||
}
|
}
|
||||||
else
|
else // This build target doesn't support SSE, don't test/run.
|
||||||
{
|
{
|
||||||
// Don't bother testing or running if CPU doesn't support it. JC
|
|
||||||
gSavedSettings.setBOOL("VectorizePerfTest", FALSE );
|
gSavedSettings.setBOOL("VectorizePerfTest", FALSE );
|
||||||
gSavedSettings.setBOOL("VectorizeEnable", FALSE );
|
gSavedSettings.setBOOL("VectorizeEnable", FALSE );
|
||||||
gSavedSettings.setU32("VectorizeProcessor", 0 );
|
gSavedSettings.setU32("VectorizeProcessor", 0 );
|
||||||
gSavedSettings.setBOOL("VectorizeSkin", FALSE);
|
gSavedSettings.setBOOL("VectorizeSkin", FALSE);
|
||||||
}
|
}
|
||||||
#else
|
|
||||||
// This build target doesn't support SSE, don't test/run.
|
|
||||||
gSavedSettings.setBOOL("VectorizePerfTest", FALSE );
|
|
||||||
gSavedSettings.setBOOL("VectorizeEnable", FALSE );
|
|
||||||
gSavedSettings.setU32("VectorizeProcessor", 0 );
|
|
||||||
gSavedSettings.setBOOL("VectorizeSkin", FALSE);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void LLAppViewer::initGridChoice()
|
void LLAppViewer::initGridChoice()
|
||||||
|
|||||||
@@ -219,6 +219,18 @@ LLFloaterAbout::LLFloaterAbout()
|
|||||||
support.append( (const char*) glGetString(GL_VERSION) );
|
support.append( (const char*) glGetString(GL_VERSION) );
|
||||||
support.append("\n");
|
support.append("\n");
|
||||||
|
|
||||||
|
std::string sse_ver = "None";
|
||||||
|
#if _M_IX86_FP > 0 //Windows
|
||||||
|
sse_ver = llformat("SSE%i", _M_IX86_FP );
|
||||||
|
#elif defined(__SSE2__) //GCC
|
||||||
|
sse_ver = "SSE2";
|
||||||
|
#elif defined(__SSE__) //GCC
|
||||||
|
sse_ver = "SSE";
|
||||||
|
#endif
|
||||||
|
support.append("SSE Version: ");
|
||||||
|
support.append(sse_ver);
|
||||||
|
support.append("\n");
|
||||||
|
|
||||||
support.append("\n");
|
support.append("\n");
|
||||||
|
|
||||||
support.append("libcurl Version: ");
|
support.append("libcurl Version: ");
|
||||||
|
|||||||
@@ -677,6 +677,8 @@ void LLViewerParcelMgr::renderParcel(LLParcel* parcel )
|
|||||||
// coordinates correctly.
|
// coordinates correctly.
|
||||||
void LLViewerParcelMgr::renderOneSegment(F32 x1, F32 y1, F32 x2, F32 y2, F32 height, U8 direction, LLViewerRegion* regionp)
|
void LLViewerParcelMgr::renderOneSegment(F32 x1, F32 y1, F32 x2, F32 y2, F32 height, U8 direction, LLViewerRegion* regionp)
|
||||||
{
|
{
|
||||||
|
if(!regionp) //This has been null before. Oh no!
|
||||||
|
return;
|
||||||
// HACK: At edge of last region of world, we need to make sure the region
|
// HACK: At edge of last region of world, we need to make sure the region
|
||||||
// resolves correctly so we can get a height value.
|
// resolves correctly so we can get a height value.
|
||||||
const F32 BORDER = REGION_WIDTH_METERS - 0.1f;
|
const F32 BORDER = REGION_WIDTH_METERS - 0.1f;
|
||||||
@@ -692,11 +694,8 @@ void LLViewerParcelMgr::renderOneSegment(F32 x1, F32 y1, F32 x2, F32 y2, F32 hei
|
|||||||
if (clamped_y2 > BORDER) clamped_y2 = BORDER;
|
if (clamped_y2 > BORDER) clamped_y2 = BORDER;
|
||||||
|
|
||||||
F32 z;
|
F32 z;
|
||||||
F32 z1;
|
F32 z1 = regionp->getLand().resolveHeightRegion( LLVector3( clamped_x1, clamped_y1, 0.f ) );;
|
||||||
F32 z2;
|
F32 z2 = regionp->getLand().resolveHeightRegion( LLVector3( clamped_x2, clamped_y2, 0.f ) );;
|
||||||
|
|
||||||
z1 = regionp->getLand().resolveHeightRegion( LLVector3( clamped_x1, clamped_y1, 0.f ) );
|
|
||||||
z2 = regionp->getLand().resolveHeightRegion( LLVector3( clamped_x2, clamped_y2, 0.f ) );
|
|
||||||
|
|
||||||
// Convert x1 and x2 from region-local to agent coords.
|
// Convert x1 and x2 from region-local to agent coords.
|
||||||
LLVector3 origin = regionp->getOriginAgent();
|
LLVector3 origin = regionp->getOriginAgent();
|
||||||
|
|||||||
@@ -865,12 +865,18 @@ void LLViewerJointMesh::updateVectorize()
|
|||||||
{
|
{
|
||||||
case 2:
|
case 2:
|
||||||
sUpdateGeometryFunc = &updateGeometrySSE2;
|
sUpdateGeometryFunc = &updateGeometrySSE2;
|
||||||
|
if(!supportsSSE2())
|
||||||
|
LL_INFOS("AppInit") << "VectorizeProcessor set to unsupported implementation! (SSE2)" << LL_ENDL ;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
sUpdateGeometryFunc = &updateGeometrySSE;
|
sUpdateGeometryFunc = &updateGeometrySSE;
|
||||||
|
if(!supportsSSE())
|
||||||
|
LL_INFOS("AppInit") << "VectorizeProcessor set to unsupported implementation! (SSE)" << LL_ENDL ;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
sUpdateGeometryFunc = &updateGeometryVectorized;
|
sUpdateGeometryFunc = &updateGeometryVectorized;
|
||||||
|
if(!gSysCPU.hasAltivec())
|
||||||
|
LL_INFOS("AppInit") << "VectorizeProcessor set to unsupported implementation! (Altivec)" << LL_ENDL ;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -152,6 +152,8 @@ public:
|
|||||||
|
|
||||||
static void updateVectorize(); // Update globals when settings variables change
|
static void updateVectorize(); // Update globals when settings variables change
|
||||||
|
|
||||||
|
static bool supportsSSE();
|
||||||
|
static bool supportsSSE2();
|
||||||
private:
|
private:
|
||||||
// Avatar vertex skinning is a significant performance issue on computers
|
// Avatar vertex skinning is a significant performance issue on computers
|
||||||
// with avatar vertex programs turned off (for example, most Macs). We
|
// with avatar vertex programs turned off (for example, most Macs). We
|
||||||
|
|||||||
@@ -109,6 +109,10 @@ void LLViewerJointMesh::updateGeometrySSE(LLFace *face, LLPolyMesh *mesh)
|
|||||||
|
|
||||||
buffer->setBuffer(0);
|
buffer->setBuffer(0);
|
||||||
}
|
}
|
||||||
|
bool LLViewerJointMesh::supportsSSE()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
@@ -116,5 +120,10 @@ void LLViewerJointMesh::updateGeometrySSE(LLFace *face, LLPolyMesh *mesh)
|
|||||||
{
|
{
|
||||||
LLViewerJointMesh::updateGeometryVectorized(face, mesh);
|
LLViewerJointMesh::updateGeometryVectorized(face, mesh);
|
||||||
}
|
}
|
||||||
|
bool LLViewerJointMesh::supportsSSE()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@
|
|||||||
#include "v3math.h"
|
#include "v3math.h"
|
||||||
|
|
||||||
|
|
||||||
#if LL_VECTORIZE
|
#if LL_VECTORIZE && (_M_IX86_FP > 1 || defined(__SSE2__) ) //These intrinsics are only valid with sse2 or higher.
|
||||||
|
|
||||||
|
|
||||||
inline void matrix_translate(LLV4Matrix4& m, const LLMatrix4* w, const LLVector3& j)
|
inline void matrix_translate(LLV4Matrix4& m, const LLMatrix4* w, const LLVector3& j)
|
||||||
@@ -116,6 +116,10 @@ void LLViewerJointMesh::updateGeometrySSE2(LLFace *face, LLPolyMesh *mesh)
|
|||||||
|
|
||||||
//setBuffer(0) called in LLVOAvatar::renderSkinned
|
//setBuffer(0) called in LLVOAvatar::renderSkinned
|
||||||
}
|
}
|
||||||
|
bool LLViewerJointMesh::supportsSSE2()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
@@ -123,5 +127,9 @@ void LLViewerJointMesh::updateGeometrySSE2(LLFace *face, LLPolyMesh *mesh)
|
|||||||
{
|
{
|
||||||
LLViewerJointMesh::updateGeometryVectorized(face, mesh);
|
LLViewerJointMesh::updateGeometryVectorized(face, mesh);
|
||||||
}
|
}
|
||||||
|
bool LLViewerJointMesh::supportsSSE2()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ class WindowsManifest(ViewerManifest):
|
|||||||
super(WindowsManifest, self).construct()
|
super(WindowsManifest, self).construct()
|
||||||
# the final exe is complicated because we're not sure where it's coming from,
|
# the final exe is complicated because we're not sure where it's coming from,
|
||||||
# nor do we have a fixed name for the executable
|
# nor do we have a fixed name for the executable
|
||||||
self.path(self.find_existing_file('debug/Ascent.exe', 'release/Ascent.exe', 'relwithdebinfo/Ascent.exe'), dst=self.final_exe())
|
self.path(self.find_existing_file('debug/Ascent.exe', 'release/Ascent.exe', 'releaseSSE2/Ascent.exe', 'relwithdebinfo/Ascent.exe'), dst=self.final_exe())
|
||||||
|
|
||||||
# Plugin host application
|
# Plugin host application
|
||||||
self.path(os.path.join(os.pardir,
|
self.path(os.path.join(os.pardir,
|
||||||
@@ -270,11 +270,13 @@ class WindowsManifest(ViewerManifest):
|
|||||||
self.path(src=self.find_existing_file( # tag:"crash-logger" here as a cue to the exporter
|
self.path(src=self.find_existing_file( # tag:"crash-logger" here as a cue to the exporter
|
||||||
"../win_crash_logger/debug/windows-crash-logger.exe",
|
"../win_crash_logger/debug/windows-crash-logger.exe",
|
||||||
"../win_crash_logger/release/windows-crash-logger.exe",
|
"../win_crash_logger/release/windows-crash-logger.exe",
|
||||||
|
"../win_crash_logger/releaseSSE2/windows-crash-logger.exe",
|
||||||
"../win_crash_logger/relwithdebinfo/windows-crash-logger.exe"),
|
"../win_crash_logger/relwithdebinfo/windows-crash-logger.exe"),
|
||||||
dst="win_crash_logger.exe")
|
dst="win_crash_logger.exe")
|
||||||
self.path(src=self.find_existing_file(
|
self.path(src=self.find_existing_file(
|
||||||
"../win_updater/debug/windows-updater.exe",
|
"../win_updater/debug/windows-updater.exe",
|
||||||
"../win_updater/release/windows-updater.exe",
|
"../win_updater/release/windows-updater.exe",
|
||||||
|
"../win_updater/releaseSSE2/windows-updater.exe",
|
||||||
"../win_updater/relwithdebinfo/windows-updater.exe"),
|
"../win_updater/relwithdebinfo/windows-updater.exe"),
|
||||||
dst="updater.exe")
|
dst="updater.exe")
|
||||||
|
|
||||||
|
|||||||
@@ -178,7 +178,7 @@ Darwin)
|
|||||||
|
|
||||||
CYGWIN)
|
CYGWIN)
|
||||||
helpers=/cygdrive/c/buildscripts/shared/latest
|
helpers=/cygdrive/c/buildscripts/shared/latest
|
||||||
variants="Debug RelWithDebInfo Release"
|
variants="Debug RelWithDebInfo Release ReleaseSSE2"
|
||||||
#variants="Release"
|
#variants="Release"
|
||||||
cmake_generator="vc80"
|
cmake_generator="vc80"
|
||||||
fmod=fmodapi375win
|
fmod=fmodapi375win
|
||||||
@@ -215,7 +215,7 @@ Linux)
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
acquire_lock
|
acquire_lock
|
||||||
variants="Debug RelWithDebInfo Release"
|
variants="Debug RelWithDebInfo Release ReleaseSSE2"
|
||||||
#variants="Release"
|
#variants="Release"
|
||||||
cmake_generator="Unix Makefiles"
|
cmake_generator="Unix Makefiles"
|
||||||
fmod=fmodapi375linux
|
fmod=fmodapi375linux
|
||||||
|
|||||||
Reference in New Issue
Block a user