summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2010-06-10 00:45:48 -0500
committerDave Parks <davep@lindenlab.com>2010-06-10 00:45:48 -0500
commitf9b13d8f8510b1f7f02fcf92685471461b79858e (patch)
tree72e3469605fb33aedc211649778c22ada2719d5c
parentc2da9f5d2cc86af0af34199c53e872fbff22637b (diff)
Add "LL_MESH_ENABLED" preprocessor flag for toggling mesh code. Couple of merge fixes.
-rw-r--r--indra/llcommon/llassettype.cpp3
-rw-r--r--indra/llcommon/llassettype.h3
-rw-r--r--indra/llinventory/llinventorytype.cpp5
-rw-r--r--indra/llinventory/llinventorytype.h2
-rw-r--r--indra/llmath/llvolume.cpp13
-rw-r--r--indra/llmath/llvolume.h7
-rw-r--r--indra/llrender/llvertexbuffer.cpp4
-rw-r--r--indra/llvfs/llvfs.cpp2
-rw-r--r--indra/newview/app_settings/settings.xml4
-rw-r--r--indra/newview/llappviewer.cpp4
-rw-r--r--indra/newview/llassetuploadresponders.cpp5
-rw-r--r--indra/newview/llassetuploadresponders.h3
-rw-r--r--indra/newview/lldrawpoolavatar.cpp48
-rw-r--r--indra/newview/lldrawpoolavatar.h40
-rw-r--r--indra/newview/llface.cpp2
-rw-r--r--indra/newview/llinventorybridge.cpp10
-rw-r--r--indra/newview/llinventorybridge.h4
-rw-r--r--indra/newview/llpanelgroupnotices.cpp2
-rw-r--r--indra/newview/llpanelobjectinventory.cpp6
-rw-r--r--indra/newview/llselectmgr.cpp2
-rw-r--r--indra/newview/lltexturectrl.cpp12
-rw-r--r--indra/newview/lltooldraganddrop.cpp10
-rw-r--r--indra/newview/lltooldraganddrop.h4
-rw-r--r--indra/newview/llviewerassettype.cpp2
-rw-r--r--indra/newview/llviewerfloaterreg.cpp4
-rw-r--r--indra/newview/llviewermenufile.cpp9
-rw-r--r--indra/newview/llviewermenufile.h2
-rw-r--r--indra/newview/llviewertexteditor.cpp2
-rw-r--r--indra/newview/llviewerwindow.cpp4
-rw-r--r--indra/newview/llvovolume.cpp15
-rw-r--r--indra/newview/pipeline.cpp4
-rw-r--r--indra/newview/pipeline.h13
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml10
33 files changed, 209 insertions, 51 deletions
diff --git a/indra/llcommon/llassettype.cpp b/indra/llcommon/llassettype.cpp
index e19f8b0454..476a23ec64 100644
--- a/indra/llcommon/llassettype.cpp
+++ b/indra/llcommon/llassettype.cpp
@@ -99,8 +99,9 @@ LLAssetDictionary::LLAssetDictionary()
addEntry(LLAssetType::AT_LINK, new AssetEntry("LINK", "link", "sym link", false, false, true));
addEntry(LLAssetType::AT_LINK_FOLDER, new AssetEntry("FOLDER_LINK", "link_f", "sym folder link", false, false, true));
-
+#if LL_MESH_ENABLED
addEntry(LLAssetType::AT_MESH, new AssetEntry("MESH", "mesh", "mesh", false, false, false));
+#endif
addEntry(LLAssetType::AT_NONE, new AssetEntry("NONE", "-1", NULL, FALSE, FALSE, FALSE));
diff --git a/indra/llcommon/llassettype.h b/indra/llcommon/llassettype.h
index 90cd03c433..ebc43134cb 100644
--- a/indra/llcommon/llassettype.h
+++ b/indra/llcommon/llassettype.h
@@ -114,9 +114,10 @@ public:
AT_LINK_FOLDER = 25,
// Inventory folder link
-
+#if LL_MESH_ENABLED
AT_MESH = 49,
// Mesh data in our proprietary SLM format
+#endif
AT_COUNT = 50,
diff --git a/indra/llinventory/llinventorytype.cpp b/indra/llinventory/llinventorytype.cpp
index 2d4ee604b0..82cd22a832 100644
--- a/indra/llinventory/llinventorytype.cpp
+++ b/indra/llinventory/llinventorytype.cpp
@@ -89,7 +89,9 @@ LLInventoryDictionary::LLInventoryDictionary()
addEntry(LLInventoryType::IT_WEARABLE, new InventoryEntry("wearable", "wearable", 2, LLAssetType::AT_CLOTHING, LLAssetType::AT_BODYPART));
addEntry(LLInventoryType::IT_ANIMATION, new InventoryEntry("animation", "animation", 1, LLAssetType::AT_ANIMATION));
addEntry(LLInventoryType::IT_GESTURE, new InventoryEntry("gesture", "gesture", 1, LLAssetType::AT_GESTURE));
+#if LL_MESH_ENABLED
addEntry(LLInventoryType::IT_MESH, new InventoryEntry("mesh", "mesh", 1, LLAssetType::AT_MESH));
+#endif
}
@@ -150,8 +152,9 @@ DEFAULT_ASSET_FOR_INV_TYPE[LLAssetType::AT_COUNT] =
LLInventoryType::IT_NONE, // AT_NONE
LLInventoryType::IT_NONE, // AT_NONE
LLInventoryType::IT_NONE, // AT_NONE
-
+#if LL_MESH_ENABLED
LLInventoryType::IT_MESH // AT_MESH
+#endif
};
// static
diff --git a/indra/llinventory/llinventorytype.h b/indra/llinventory/llinventorytype.h
index 37829f5eae..d2fc67ef64 100644
--- a/indra/llinventory/llinventorytype.h
+++ b/indra/llinventory/llinventorytype.h
@@ -68,7 +68,9 @@ public:
IT_ANIMATION = 19,
IT_GESTURE = 20,
+#if LL_MESH_ENABLED
IT_MESH = 22,
+#endif
IT_COUNT = 23,
IT_NONE = -1
diff --git a/indra/llmath/llvolume.cpp b/indra/llmath/llvolume.cpp
index 09ab47b890..05868e3517 100644
--- a/indra/llmath/llvolume.cpp
+++ b/indra/llmath/llvolume.cpp
@@ -2546,10 +2546,12 @@ S32 LLVolume::getNumFaces() const
{
U8 sculpt_type = (mParams.getSculptType() & LL_SCULPT_TYPE_MASK);
+#if LL_MESH_ENABLED
if (sculpt_type == LL_SCULPT_TYPE_MESH)
{
return LL_SCULPT_MESH_MAX_FACES;
}
+#endif
return (S32)mProfilep->mFaces.size();
}
@@ -2922,11 +2924,6 @@ void LLVolume::sculpt(U16 sculpt_width, U16 sculpt_height, S8 sculpt_components,
LLMemType m1(LLMemType::MTYPE_VOLUME);
U8 sculpt_type = mParams.getSculptType();
- if (sculpt_type & LL_SCULPT_TYPE_MASK == LL_SCULPT_TYPE_MESH)
- {
- llerrs << "WTF?" << llendl;
- }
-
BOOL data_is_empty = FALSE;
if (sculpt_width == 0 || sculpt_height == 0 || sculpt_components < 3 || sculpt_data == NULL)
@@ -4135,10 +4132,12 @@ void LLVolume::generateSilhouetteVertices(std::vector<LLVector3> &vertices,
normals.clear();
segments.clear();
+#if LL_MESH_ENABLED
if ((mParams.getSculptType() & LL_SCULPT_TYPE_MASK) == LL_SCULPT_TYPE_MESH)
{
return;
}
+#endif
S32 cur_index = 0;
//for each face
@@ -6335,10 +6334,14 @@ BOOL LLVolumeFace::createSide(LLVolume* volume, BOOL partial_build)
resizeVertices(num_vertices);
resizeIndices(num_indices);
+#if LL_MESH_ENABLED
if ((volume->getParams().getSculptType() & LL_SCULPT_TYPE_MASK) != LL_SCULPT_TYPE_MESH)
{
mEdge.resize(num_indices);
}
+#else
+ mEdge.resize(num_indices);
+#endif
}
LLVector4a* pos = (LLVector4a*) mPositions;
diff --git a/indra/llmath/llvolume.h b/indra/llmath/llvolume.h
index c49d1c650d..0782944079 100644
--- a/indra/llmath/llvolume.h
+++ b/indra/llmath/llvolume.h
@@ -41,6 +41,8 @@ class LLVolumeParams;
class LLProfile;
class LLPath;
+#define LL_MESH_ENABLED 0
+
template <class T> class LLOctreeNode;
class LLVector4a;
@@ -190,10 +192,15 @@ const U8 LL_SCULPT_TYPE_SPHERE = 1;
const U8 LL_SCULPT_TYPE_TORUS = 2;
const U8 LL_SCULPT_TYPE_PLANE = 3;
const U8 LL_SCULPT_TYPE_CYLINDER = 4;
+#if LL_MESH_ENABLED
const U8 LL_SCULPT_TYPE_MESH = 5;
const U8 LL_SCULPT_TYPE_MASK = LL_SCULPT_TYPE_SPHERE | LL_SCULPT_TYPE_TORUS | LL_SCULPT_TYPE_PLANE |
LL_SCULPT_TYPE_CYLINDER | LL_SCULPT_TYPE_MESH;
+#else
+const U8 LL_SCULPT_TYPE_MASK = LL_SCULPT_TYPE_SPHERE | LL_SCULPT_TYPE_TORUS | LL_SCULPT_TYPE_PLANE |
+ LL_SCULPT_TYPE_CYLINDER;
+#endif
const U8 LL_SCULPT_FLAG_INVERT = 64;
const U8 LL_SCULPT_FLAG_MIRROR = 128;
diff --git a/indra/llrender/llvertexbuffer.cpp b/indra/llrender/llvertexbuffer.cpp
index 48c20b09a8..514ca25aa0 100644
--- a/indra/llrender/llvertexbuffer.cpp
+++ b/indra/llrender/llvertexbuffer.cpp
@@ -1318,7 +1318,7 @@ void LLVertexBuffer::setBuffer(U32 data_mask)
{
if (mGLBuffer)
{
- if (useVBOs() && sVBOActive)
+ if (sVBOActive)
{
glBindBufferARB(GL_ARRAY_BUFFER_ARB, 0);
sBindCount++;
@@ -1330,7 +1330,7 @@ void LLVertexBuffer::setBuffer(U32 data_mask)
setup = TRUE; // ... or a client memory pointer changed
}
}
- if (useVBOs() && mGLIndices && sIBOActive)
+ if (mGLIndices && sIBOActive)
{
/*if (sMapped)
{
diff --git a/indra/llvfs/llvfs.cpp b/indra/llvfs/llvfs.cpp
index ddb76fb2ba..2b01288fd7 100644
--- a/indra/llvfs/llvfs.cpp
+++ b/indra/llvfs/llvfs.cpp
@@ -2041,9 +2041,11 @@ std::string get_extension(LLAssetType::EType type)
case LLAssetType::AT_ANIMATION:
extension = ".lla";
break;
+#if LL_MESH_ENABLED
case LLAssetType::AT_MESH:
extension = ".slm";
break;
+#endif
default:
// Just use the asset server filename extension in most cases
extension += ".";
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 79b58bcd7c..df9393c316 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -4908,7 +4908,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
- <real>1</real>
+ <real>0</real>
</map>
<key>MigrateCacheDirectory</key>
<map>
@@ -6818,7 +6818,7 @@
<key>Type</key>
<string>F32</string>
<key>Value</key>
- <real>0.0</real>
+ <real>-0.001</real>
</map>
<key>RenderSpotShadowOffset</key>
<map>
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 512b1dde7f..6978cdf672 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1302,8 +1302,10 @@ bool LLAppViewer::cleanup()
llinfos << "Cleaning Up" << llendflush;
+#if LL_MESH_ENABLED
// shut down mesh streamer
gMeshRepo.shutdown();
+#endif
// Must clean up texture references before viewer window is destroyed.
LLHUDManager::getInstance()->updateEffects();
@@ -1728,8 +1730,10 @@ bool LLAppViewer::initThreads()
mFastTimerLogThread->start();
}
+#if LL_MESH_ENABLED
// Mesh streaming and caching
gMeshRepo.init();
+#endif
LLFilePickerThread::initClass();
diff --git a/indra/newview/llassetuploadresponders.cpp b/indra/newview/llassetuploadresponders.cpp
index c48dcdb061..afb76735ec 100644
--- a/indra/newview/llassetuploadresponders.cpp
+++ b/indra/newview/llassetuploadresponders.cpp
@@ -305,6 +305,7 @@ void LLAssetUploadResponder::uploadComplete(const LLSD& content)
{
}
+#if LL_MESH_ENABLED
LLNewAgentInventoryResponder::LLNewAgentInventoryResponder(
const LLSD& post_data,
const LLUUID& vfile_id,
@@ -426,6 +427,7 @@ void LLNewAgentInventoryResponder::uploadComplete(const LLSD& content)
LLImportColladaAssetCache::getInstance()->assetUploaded(mVFileID, content["new_asset"], TRUE);
}
+#endif
LLSendTexLayerResponder::LLSendTexLayerResponder(const LLSD& post_data,
const LLUUID& vfile_id,
@@ -675,6 +677,7 @@ void LLUpdateTaskInventoryResponder::uploadComplete(const LLSD& content)
}
+#if LL_MESH_ENABLED
/////////////////////////////////////////////////////
// LLNewAgentInventoryVariablePriceResponder::Impl //
/////////////////////////////////////////////////////
@@ -1142,3 +1145,5 @@ void LLNewAgentInventoryVariablePriceResponder::showConfirmationDialog(
boost::intrusive_ptr<LLNewAgentInventoryVariablePriceResponder>(this)));
}
}
+#endif
+
diff --git a/indra/newview/llassetuploadresponders.h b/indra/newview/llassetuploadresponders.h
index af3b3daf46..9abaccfde0 100644
--- a/indra/newview/llassetuploadresponders.h
+++ b/indra/newview/llassetuploadresponders.h
@@ -61,7 +61,7 @@ protected:
std::string mFileName;
};
-
+#if LL_MESH_ENABLED
// TODO*: Remove this once deprecated
class LLNewAgentInventoryResponder : public LLAssetUploadResponder
{
@@ -116,6 +116,7 @@ private:
class Impl;
Impl* mImpl;
};
+#endif
struct LLBakedUploadData;
class LLSendTexLayerResponder : public LLAssetUploadResponder
diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp
index 9268cb1d47..63ca17d62d 100644
--- a/indra/newview/lldrawpoolavatar.cpp
+++ b/indra/newview/lldrawpoolavatar.cpp
@@ -103,6 +103,7 @@ S32 normal_channel = -1;
S32 specular_channel = -1;
S32 cube_channel = -1;
+#if LL_MESH_ENABLED
static const U32 rigged_data_mask[] = {
LLDrawPoolAvatar::RIGGED_SIMPLE_MASK,
LLDrawPoolAvatar::RIGGED_FULLBRIGHT_MASK,
@@ -114,6 +115,7 @@ static const U32 rigged_data_mask[] = {
LLDrawPoolAvatar::RIGGED_DEFERRED_BUMP_MASK,
LLDrawPoolAvatar::RIGGED_DEFERRED_SIMPLE_MASK,
};
+#endif
static LLFastTimer::DeclareTimer FTM_SHADOW_AVATAR("Avatar Shadow");
@@ -194,12 +196,14 @@ void LLDrawPoolAvatar::beginDeferredPass(S32 pass)
case 2:
beginDeferredSkinned();
break;
+#if LL_MESH_ENABLED
case 3:
beginDeferredRiggedSimple();
break;
case 4:
beginDeferredRiggedBump();
break;
+#endif
}
}
@@ -226,12 +230,14 @@ void LLDrawPoolAvatar::endDeferredPass(S32 pass)
case 2:
endDeferredSkinned();
break;
+#if LL_MESH_ENABLED
case 3:
endDeferredRiggedSimple();
break;
case 4:
endDeferredRiggedBump();
break;
+#endif
}
}
@@ -242,7 +248,11 @@ void LLDrawPoolAvatar::renderDeferred(S32 pass)
S32 LLDrawPoolAvatar::getNumPostDeferredPasses()
{
+#if LL_MESH_ENABLED
return 6;
+#else
+ return 1;
+#endif
}
void LLDrawPoolAvatar::beginPostDeferredPass(S32 pass)
@@ -252,6 +262,7 @@ void LLDrawPoolAvatar::beginPostDeferredPass(S32 pass)
case 0:
beginPostDeferredAlpha();
break;
+#if LL_MESH_ENABLED
case 1:
beginRiggedFullbright();
break;
@@ -267,6 +278,7 @@ void LLDrawPoolAvatar::beginPostDeferredPass(S32 pass)
case 5:
beginRiggedGlow();
break;
+#endif
}
}
@@ -284,6 +296,7 @@ void LLDrawPoolAvatar::beginPostDeferredAlpha()
enable_vertex_weighting(sVertexProgram->mAttribute[LLViewerShaderMgr::AVATAR_WEIGHT]);
}
+#if LL_MESH_ENABLED
void LLDrawPoolAvatar::beginDeferredRiggedAlpha()
{
sVertexProgram = &gDeferredSkinnedAlphaProgram;
@@ -301,6 +314,7 @@ void LLDrawPoolAvatar::endDeferredRiggedAlpha()
LLVertexBuffer::sWeight4Loc = -1;
sVertexProgram = NULL;
}
+#endif
void LLDrawPoolAvatar::endPostDeferredPass(S32 pass)
{
@@ -309,6 +323,7 @@ void LLDrawPoolAvatar::endPostDeferredPass(S32 pass)
case 0:
endPostDeferredAlpha();
break;
+#if LL_MESH_ENABLED
case 1:
endRiggedFullbright();
break;
@@ -324,6 +339,7 @@ void LLDrawPoolAvatar::endPostDeferredPass(S32 pass)
case 5:
endRiggedGlow();
break;
+#endif
}
}
@@ -357,7 +373,11 @@ void LLDrawPoolAvatar::renderPostDeferred(S32 pass)
S32 LLDrawPoolAvatar::getNumShadowPasses()
{
+#if LL_MESH_ENABLED
return 2;
+#else
+ return 1;
+#endif
}
void LLDrawPoolAvatar::beginShadowPass(S32 pass)
@@ -448,6 +468,7 @@ void LLDrawPoolAvatar::renderShadow(S32 pass)
avatarp->renderSkinned(AVATAR_RENDER_PASS_SINGLE);
}
+#if LL_MESH_ENABLED
else
{
renderRigged(avatarp, RIGGED_SIMPLE);
@@ -457,10 +478,12 @@ void LLDrawPoolAvatar::renderShadow(S32 pass)
renderRigged(avatarp, RIGGED_SHINY);
renderRigged(avatarp, RIGGED_FULLBRIGHT_ALPHA);
}
+#endif
}
S32 LLDrawPoolAvatar::getNumPasses()
{
+#if LL_MESH_ENABLED
if (LLPipeline::sImpostorRender)
{
return 8;
@@ -473,8 +496,19 @@ S32 LLDrawPoolAvatar::getNumPasses()
{
return 3;
}
+#else
+ if (LLPipeline::sImpostorRender)
+ {
+ return 1;
+ }
+ else
+ {
+ return 3;
+ }
+#endif
}
+
S32 LLDrawPoolAvatar::getNumDeferredPasses()
{
if (LLPipeline::sImpostorRender)
@@ -522,6 +556,7 @@ void LLDrawPoolAvatar::beginRenderPass(S32 pass)
case 2:
beginSkinned();
break;
+#if LL_MESH_ENABLED
case 3:
beginRiggedSimple();
break;
@@ -543,6 +578,7 @@ void LLDrawPoolAvatar::beginRenderPass(S32 pass)
case 9:
beginRiggedGlow();
break;
+#endif
}
}
@@ -566,6 +602,7 @@ void LLDrawPoolAvatar::endRenderPass(S32 pass)
case 2:
endSkinned();
break;
+#if LL_MESH_ENABLED
case 3:
endRiggedSimple();
break;
@@ -587,6 +624,7 @@ void LLDrawPoolAvatar::endRenderPass(S32 pass)
case 9:
endRiggedGlow();
break;
+#endif
}
}
@@ -772,6 +810,7 @@ void LLDrawPoolAvatar::endSkinned()
gGL.getTexUnit(0)->activate();
}
+#if LL_MESH_ENABLED
void LLDrawPoolAvatar::beginRiggedSimple()
{
sVertexProgram = &gSkinnedObjectSimpleProgram;
@@ -924,6 +963,7 @@ void LLDrawPoolAvatar::endDeferredRiggedBump()
sDiffuseChannel = 0;
sVertexProgram = NULL;
}
+#endif
void LLDrawPoolAvatar::beginDeferredSkinned()
{
@@ -1069,6 +1109,7 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass)
return;
}
+#if LL_MESH_ENABLED
if (pass == 3)
{
if (is_deferred_render)
@@ -1150,7 +1191,7 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass)
gGL.setSceneBlendType(LLRender::BT_ALPHA);
return;
}
-
+#endif
if (sShaderLevel > 0)
{
@@ -1188,6 +1229,7 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass)
}
}
+#if LL_MESH_ENABLED
void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(LLFace* face, const LLMeshSkinInfo* skin, LLVolume* volume, const LLVolumeFace& vol_face)
{
U32 data_mask = 0;
@@ -1377,7 +1419,7 @@ void LLDrawPoolAvatar::renderRiggedGlow(LLVOAvatar* avatar)
{
renderRigged(avatar, RIGGED_GLOW, true);
}
-
+#endif
@@ -1479,6 +1521,7 @@ LLColor3 LLDrawPoolAvatar::getDebugColor() const
return LLColor3(0.f, 1.f, 0.f);
}
+#if LL_MESH_ENABLED
void LLDrawPoolAvatar::addRiggedFace(LLFace* facep, U32 type)
{
if (facep->mRiggedIndex.empty())
@@ -1533,6 +1576,7 @@ void LLDrawPoolAvatar::removeRiggedFace(LLFace* facep)
}
}
}
+#endif
LLVertexBufferAvatar::LLVertexBufferAvatar()
: LLVertexBuffer(sDataMask,
diff --git a/indra/newview/lldrawpoolavatar.h b/indra/newview/lldrawpoolavatar.h
index 4a5b009412..46ffc42f04 100644
--- a/indra/newview/lldrawpoolavatar.h
+++ b/indra/newview/lldrawpoolavatar.h
@@ -96,6 +96,23 @@ public:
void beginRigid();
void beginImpostor();
void beginSkinned();
+
+ void endRigid();
+ void endImpostor();
+ void endSkinned();
+
+ void beginDeferredImpostor();
+ void beginDeferredRigid();
+ void beginDeferredSkinned();
+
+ void endDeferredImpostor();
+ void endDeferredRigid();
+ void endDeferredSkinned();
+
+ void beginPostDeferredAlpha();
+ void endPostDeferredAlpha();
+
+#if LL_MESH_ENABLED
void beginRiggedSimple();
void beginRiggedFullbright();
void beginRiggedFullbrightShiny();
@@ -103,12 +120,8 @@ public:
void beginRiggedAlpha();
void beginRiggedFullbrightAlpha();
void beginRiggedGlow();
- void beginPostDeferredAlpha();
void beginDeferredRiggedAlpha();
- void endRigid();
- void endImpostor();
- void endSkinned();
void endRiggedSimple();
void endRiggedFullbright();
void endRiggedFullbrightShiny();
@@ -116,18 +129,11 @@ public:
void endRiggedAlpha();
void endRiggedFullbrightAlpha();
void endRiggedGlow();
- void endPostDeferredAlpha();
void endDeferredRiggedAlpha();
- void beginDeferredImpostor();
- void beginDeferredRigid();
- void beginDeferredSkinned();
void beginDeferredRiggedSimple();
void beginDeferredRiggedBump();
- void endDeferredImpostor();
- void endDeferredRigid();
- void endDeferredSkinned();
void endDeferredRiggedSimple();
void endDeferredRiggedBump();
@@ -147,11 +153,6 @@ public:
void renderDeferredRiggedSimple(LLVOAvatar* avatar);
void renderDeferredRiggedBump(LLVOAvatar* avatar);
- /*virtual*/ LLViewerTexture *getDebugTexture();
- /*virtual*/ LLColor3 getDebugColor() const; // For AGP debug display
-
- void renderAvatars(LLVOAvatar *single_avatar, S32 pass = -1); // renders only one avatar if single_avatar is not null.
-
typedef enum
{
RIGGED_SIMPLE = 0,
@@ -202,6 +203,13 @@ public:
void removeRiggedFace(LLFace* facep);
std::vector<LLFace*> mRiggedFace[NUM_RIGGED_PASSES];
+#endif
+
+ /*virtual*/ LLViewerTexture *getDebugTexture();
+ /*virtual*/ LLColor3 getDebugColor() const; // For AGP debug display
+
+ void renderAvatars(LLVOAvatar *single_avatar, S32 pass = -1); // renders only one avatar if single_avatar is not null.
+
static BOOL sSkipOpaque;
static BOOL sSkipTransparent;
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp
index e4f9e28c77..c48106863e 100644
--- a/indra/newview/llface.cpp
+++ b/indra/newview/llface.cpp
@@ -224,11 +224,13 @@ void LLFace::destroy()
{
LLFastTimer t(FTM_DESTROY_DRAWPOOL);
+#if LL_MESH_ENABLED
if (this->isState(LLFace::RIGGED) && mDrawPoolp->getType() == LLDrawPool::POOL_AVATAR)
{
((LLDrawPoolAvatar*) mDrawPoolp)->removeRiggedFace(this);
}
else
+#endif
{
mDrawPoolp->removeFace(this);
}
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 78789eb9ce..3999a8ee88 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -917,6 +917,7 @@ LLInvFVBridge* LLInvFVBridge::createBridge(LLAssetType::EType asset_type,
// Only should happen for broken links.
new_listener = new LLLinkItemBridge(inventory, root, uuid);
break;
+#if LL_MESH_ENABLED
case LLAssetType::AT_MESH:
if(!(inv_type == LLInventoryType::IT_MESH))
{
@@ -924,6 +925,7 @@ LLInvFVBridge* LLInvFVBridge::createBridge(LLAssetType::EType asset_type,
}
new_listener = new LLMeshBridge(inventory, root, uuid);
break;
+#endif
default:
llinfos << "Unhandled asset type (llassetstorage.h): "
@@ -2765,7 +2767,9 @@ BOOL LLFolderBridge::dragOrDrop(MASK mask, BOOL drop,
case DAD_ANIMATION:
case DAD_GESTURE:
case DAD_LINK:
+#if LL_MESH_ENABLED
case DAD_MESH:
+#endif
accept = dragItemIntoFolder((LLInventoryItem*)cargo_data,
drop);
break;
@@ -3635,7 +3639,9 @@ BOOL LLCallingCardBridge::dragOrDrop(MASK mask, BOOL drop,
case DAD_BODYPART:
case DAD_ANIMATION:
case DAD_GESTURE:
- case DAD_MESH:
+#if LL_MESH_ENABLED
+ case DAD_MESH:
+#endif
{
LLInventoryItem* inv_item = (LLInventoryItem*)cargo_data;
const LLPermissions& perm = inv_item->getPermissions();
@@ -4843,6 +4849,7 @@ void LLLinkItemBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
hide_context_entries(menu, items, disabled_items);
}
+#if LL_MESH_ENABLED
// +=================================================+
// | LLMeshBridge |
// +=================================================+
@@ -4899,6 +4906,7 @@ void LLMeshBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
hide_context_entries(menu, items, disabled_items);
}
+#endif
// +=================================================+
// | LLLinkBridge |
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index d637fc6e36..8de7d63173 100644
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -527,7 +527,7 @@ protected:
};
-
+#if LL_MESH_ENABLED
class LLMeshBridge : public LLItemBridge
{
friend class LLInvFVBridge;
@@ -543,7 +543,7 @@ protected:
const LLUUID& uuid) :
LLItemBridge(inventory, root, uuid) {}
};
-
+#endif
diff --git a/indra/newview/llpanelgroupnotices.cpp b/indra/newview/llpanelgroupnotices.cpp
index 7d82a10ca2..d8cfd4fc5d 100644
--- a/indra/newview/llpanelgroupnotices.cpp
+++ b/indra/newview/llpanelgroupnotices.cpp
@@ -159,7 +159,9 @@ BOOL LLGroupDropTarget::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
case DAD_ANIMATION:
case DAD_GESTURE:
case DAD_CALLINGCARD:
+#if LL_MESH_ENABLED
case DAD_MESH:
+#endif
{
LLViewerInventoryItem* inv_item = (LLViewerInventoryItem*)cargo_data;
if(gInventory.getItem(inv_item->getUUID())
diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp
index 898cabb03d..58df2746f3 100644
--- a/indra/newview/llpanelobjectinventory.cpp
+++ b/indra/newview/llpanelobjectinventory.cpp
@@ -819,7 +819,9 @@ BOOL LLTaskCategoryBridge::dragOrDrop(MASK mask, BOOL drop,
case DAD_ANIMATION:
case DAD_GESTURE:
case DAD_CALLINGCARD:
+#if LL_MESH_ENABLED
case DAD_MESH:
+#endif
accept = LLToolDragAndDrop::isInventoryDropAcceptable(object, (LLViewerInventoryItem*)cargo_data);
if(accept && drop)
{
@@ -1240,6 +1242,7 @@ LLUIImagePtr LLTaskWearableBridge::getIcon() const
return LLInventoryIcon::getIcon(mAssetType, mInventoryType, FALSE, mFlags, FALSE );
}
+#if LL_MESH_ENABLED
///----------------------------------------------------------------------------
/// Class LLTaskMeshBridge
///----------------------------------------------------------------------------
@@ -1351,6 +1354,7 @@ void LLTaskMeshBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
hide_context_entries(menu, items, disabled_items);
}
+#endif
///----------------------------------------------------------------------------
/// LLTaskInvFVBridge impl
@@ -1431,11 +1435,13 @@ LLTaskInvFVBridge* LLTaskInvFVBridge::createObjectBridge(LLPanelObjectInventory*
object->getUUID(),
object->getName());
break;
+#if LL_MESH_ENABLED
case LLAssetType::AT_MESH:
new_bridge = new LLTaskMeshBridge(panel,
object->getUUID(),
object->getName());
break;
+#endif
default:
llinfos << "Unhandled inventory type (llassetstorage.h): "
<< (S32)type << llendl;
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index ceef03d2f8..0ce7ffb077 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -6165,6 +6165,7 @@ S32 LLObjectSelection::getObjectCount(BOOL mesh_adjust)
cleanupNodes();
S32 count = mList.size();
+#if LL_MESH_ENABLED
if (mesh_adjust)
{
for (list_t::iterator iter = mList.begin(); iter != mList.end(); ++iter)
@@ -6185,6 +6186,7 @@ S32 LLObjectSelection::getObjectCount(BOOL mesh_adjust)
}
}
+#endif
return count;
}
diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp
index 7b57f09e59..6088c31559 100644
--- a/indra/newview/lltexturectrl.cpp
+++ b/indra/newview/lltexturectrl.cpp
@@ -292,7 +292,11 @@ BOOL LLFloaterTexturePicker::handleDragAndDrop(
{
BOOL handled = FALSE;
- if ((cargo_type == DAD_TEXTURE) || (cargo_type == DAD_MESH))
+ bool is_mesh = false;
+#if LL_MESH_ENABLED
+ is_mesh = cargo_type == DAD_MESH;
+#endif
+ if ((cargo_type == DAD_TEXTURE) || is_mesh)
{
LLInventoryItem *item = (LLInventoryItem *)cargo_data;
@@ -1177,8 +1181,12 @@ BOOL LLTextureCtrl::handleDragAndDrop(S32 x, S32 y, MASK mask,
// returns true, then the cast was valid, and we can perform
// the third test without problems.
LLInventoryItem* item = (LLInventoryItem*)cargo_data;
+ bool is_mesh = false;
+#if LL_MESH_ENABLED
+ is_mesh = cargo_type == DAD_MESH;
+#endif
if (getEnabled() &&
- ((cargo_type == DAD_TEXTURE) || (cargo_type == DAD_MESH)) &&
+ ((cargo_type == DAD_TEXTURE) || is_mesh) &&
allowDrop(item))
{
if (drop)
diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp
index 15924d67cf..d679ccd3d8 100644
--- a/indra/newview/lltooldraganddrop.cpp
+++ b/indra/newview/lltooldraganddrop.cpp
@@ -331,7 +331,9 @@ LLToolDragAndDrop::LLDragAndDropDictionary::LLDragAndDropDictionary()
addEntry(DAD_ANIMATION, new DragAndDropEntry(&LLToolDragAndDrop::dad3dNULL, &LLToolDragAndDrop::dad3dNULL, &LLToolDragAndDrop::dad3dGiveInventory, &LLToolDragAndDrop::dad3dUpdateInventory, &LLToolDragAndDrop::dad3dNULL));
addEntry(DAD_GESTURE, new DragAndDropEntry(&LLToolDragAndDrop::dad3dNULL, &LLToolDragAndDrop::dad3dActivateGesture, &LLToolDragAndDrop::dad3dGiveInventory, &LLToolDragAndDrop::dad3dUpdateInventory, &LLToolDragAndDrop::dad3dNULL));
addEntry(DAD_LINK, new DragAndDropEntry(&LLToolDragAndDrop::dad3dNULL, &LLToolDragAndDrop::dad3dNULL, &LLToolDragAndDrop::dad3dNULL, &LLToolDragAndDrop::dad3dNULL, &LLToolDragAndDrop::dad3dNULL));
+#if LL_MESH_ENABLED
addEntry(DAD_MESH, new DragAndDropEntry(&LLToolDragAndDrop::dad3dNULL, &LLToolDragAndDrop::dad3dNULL, &LLToolDragAndDrop::dad3dGiveInventory, &LLToolDragAndDrop::dad3dMeshObject, &LLToolDragAndDrop::dad3dNULL));
+#endif
// TODO: animation on self could play it? edit it?
// TODO: gesture on self could play it? edit it?
};
@@ -1035,6 +1037,7 @@ void LLToolDragAndDrop::dropTextureAllFaces(LLViewerObject* hit_obj,
hit_obj->sendTEUpdate();
}
+#if LL_MESH_EANBLED
void LLToolDragAndDrop::dropMesh(LLViewerObject* hit_obj,
LLInventoryItem* item,
LLToolDragAndDrop::ESource source,
@@ -1059,6 +1062,7 @@ void LLToolDragAndDrop::dropMesh(LLViewerObject* hit_obj,
dialog_refresh_all();
}
+#endif
/*
void LLToolDragAndDrop::dropTextureOneFaceAvatar(LLVOAvatar* avatar, S32 hit_face, LLInventoryItem* item)
@@ -1501,7 +1505,9 @@ bool LLToolDragAndDrop::handleGiveDragAndDrop(LLUUID dest_agent, LLUUID session_
case DAD_ANIMATION:
case DAD_GESTURE:
case DAD_CALLINGCARD:
+#if LL_MESH_ENABLED
case DAD_MESH:
+#endif
{
LLViewerInventoryItem* inv_item = (LLViewerInventoryItem*)cargo_data;
if(gInventory.getItem(inv_item->getUUID())
@@ -1858,10 +1864,12 @@ EAcceptance LLToolDragAndDrop::dad3dApplyToObject(
dropTextureOneFace(obj, face, item, mSource, mSourceID);
}
}
+#if LL_MESH_ENABLED
else if (cargo_type == DAD_MESH)
{
dropMesh(obj, item, mSource, mSourceID);
}
+#endif
else
{
llwarns << "unsupported asset type" << llendl;
@@ -1886,11 +1894,13 @@ EAcceptance LLToolDragAndDrop::dad3dTextureObject(
return dad3dApplyToObject(obj, face, mask, drop, DAD_TEXTURE);
}
+#if LL_MESH_ENABLED
EAcceptance LLToolDragAndDrop::dad3dMeshObject(
LLViewerObject* obj, S32 face, MASK mask, BOOL drop)
{
return dad3dApplyToObject(obj, face, mask, drop, DAD_MESH);
}
+#endif
diff --git a/indra/newview/lltooldraganddrop.h b/indra/newview/lltooldraganddrop.h
index 596cc2ee88..ceeaa8c820 100644
--- a/indra/newview/lltooldraganddrop.h
+++ b/indra/newview/lltooldraganddrop.h
@@ -154,8 +154,10 @@ protected:
MASK mask, BOOL drop);
EAcceptance dad3dTextureObject(LLViewerObject* obj, S32 face,
MASK mask, BOOL drop);
+#if LL_MESH_ENABLED
EAcceptance dad3dMeshObject(LLViewerObject* obj, S32 face,
MASK mask, BOOL drop);
+#endif
// EAcceptance dad3dTextureSelf(LLViewerObject* obj, S32 face,
// MASK mask, BOOL drop);
EAcceptance dad3dWearItem(LLViewerObject* obj, S32 face,
@@ -242,10 +244,12 @@ public:
LLInventoryItem* item,
ESource source,
const LLUUID& src_id);
+#if LL_MESH_ENABLED
static void dropMesh(LLViewerObject* hit_obj,
LLInventoryItem* item,
ESource source,
const LLUUID& src_id);
+#endif
//static void dropTextureOneFaceAvatar(LLVOAvatar* avatar,S32 hit_face,
// LLInventoryItem* item)
diff --git a/indra/newview/llviewerassettype.cpp b/indra/newview/llviewerassettype.cpp
index 4c088a72b7..370767002a 100644
--- a/indra/newview/llviewerassettype.cpp
+++ b/indra/newview/llviewerassettype.cpp
@@ -85,7 +85,9 @@ LLViewerAssetDictionary::LLViewerAssetDictionary()
addEntry(LLViewerAssetType::AT_LINK, new ViewerAssetEntry(DAD_LINK));
addEntry(LLViewerAssetType::AT_LINK_FOLDER, new ViewerAssetEntry(DAD_LINK));
+#if LL_MESH_ENABLED
addEntry(LLViewerAssetType::AT_MESH, new ViewerAssetEntry(DAD_MESH));
+#endif
addEntry(LLViewerAssetType::AT_NONE, new ViewerAssetEntry(DAD_NONE));
};
diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp
index 525610f983..c953fb23e3 100644
--- a/indra/newview/llviewerfloaterreg.cpp
+++ b/indra/newview/llviewerfloaterreg.cpp
@@ -177,7 +177,9 @@ void LLViewerFloaterReg::registerFloaters()
LLFloaterReg::add("hud", "floater_hud.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterHUD>);
LLFloaterReg::add("impanel", "floater_im_session.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLIMFloater>);
+#if LL_MESH_ENABLED
LLFloaterReg::add("import_collada", "floater_import_collada.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterImportCollada>);
+#endif
LLFloaterReg::add("im_container", "floater_im_container.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLIMFloaterContainer>);
LLFloaterReg::add("im_well_window", "floater_sys_well.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLIMWellWindow>);
LLFloaterReg::add("incoming_call", "floater_incoming_call.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLIncomingCallDialog>);
@@ -258,7 +260,9 @@ void LLViewerFloaterReg::registerFloaters()
LLFloaterReg::add("upload_anim", "floater_animation_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAnimPreview>, "upload");
LLFloaterReg::add("upload_image", "floater_image_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterImagePreview>, "upload");
LLFloaterReg::add("upload_sound", "floater_sound_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSoundPreview>, "upload");
+#if LL_MESH_ENABLED
LLFloaterReg::add("upload_model", "floater_model_preview.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterModelPreview>, "upload");
+#endif
LLFloaterReg::add("voice_controls", "floater_voice_controls.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLCallFloater>);
LLFloaterReg::add("voice_effect", "floater_voice_effect.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterVoiceEffect>);
diff --git a/indra/newview/llviewermenufile.cpp b/indra/newview/llviewermenufile.cpp
index dd65ca2d25..af4549f7e1 100644
--- a/indra/newview/llviewermenufile.cpp
+++ b/indra/newview/llviewermenufile.cpp
@@ -350,6 +350,7 @@ class LLFileUploadImage : public view_listener_t
}
};
+#if LL_MESH_ENABLED
class LLFileUploadScene : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
@@ -376,6 +377,7 @@ class LLFileUploadModel : public view_listener_t
return TRUE;
}
};
+#endif
class LLFileUploadSound : public view_listener_t
{
@@ -1144,6 +1146,7 @@ void upload_new_resource(
lldebugs << "Folder: " << gInventory.findCategoryUUIDForType((destination_folder_type == LLFolderType::FT_NONE) ? LLFolderType::assetTypeToFolderType(asset_type) : destination_folder_type) << llendl;
lldebugs << "Asset Type: " << LLAssetType::lookup(asset_type) << llendl;
+#if LL_MESH_ENABLED
std::string url = gAgent.getRegion()->getCapability(
"NewFileAgentInventory");
@@ -1171,8 +1174,8 @@ void upload_new_resource(
asset_type));
}
else
+#endif
{
- llinfos << "NewAgentInventory capability not found, new agent inventory via asset system." << llendl;
// check for adequate funds
// TODO: do this check on the sim
if (LLAssetType::AT_SOUND == asset_type ||
@@ -1217,6 +1220,7 @@ void upload_new_resource(
}
}
+#if LL_MESH_ENABLED
BOOL upload_new_variable_price_resource(
const LLTransactionID &tid,
LLAssetType::EType asset_type,
@@ -1288,6 +1292,7 @@ BOOL upload_new_variable_price_resource(
return FALSE;
}
}
+#endif
LLAssetID generate_asset_id_for_new_upload(const LLTransactionID& tid)
{
@@ -1358,8 +1363,10 @@ void init_menu_file()
view_listener_t::addCommit(new LLFileUploadImage(), "File.UploadImage");
view_listener_t::addCommit(new LLFileUploadSound(), "File.UploadSound");
view_listener_t::addCommit(new LLFileUploadAnim(), "File.UploadAnim");
+#if LL_MESH_ENABLED
view_listener_t::addCommit(new LLFileUploadModel(), "File.UploadModel");
view_listener_t::addCommit(new LLFileUploadScene(), "File.UploadScene");
+#endif
view_listener_t::addCommit(new LLFileUploadBulk(), "File.UploadBulk");
view_listener_t::addCommit(new LLFileCloseWindow(), "File.CloseWindow");
view_listener_t::addCommit(new LLFileCloseAllWindows(), "File.CloseAllWindows");
diff --git a/indra/newview/llviewermenufile.h b/indra/newview/llviewermenufile.h
index 08444551a9..bb7cfce862 100644
--- a/indra/newview/llviewermenufile.h
+++ b/indra/newview/llviewermenufile.h
@@ -74,6 +74,7 @@ void upload_new_resource(
S32 expected_upload_cost,
void *userdata);
+#if LL_MESH_ENABLED
// TODO* : Move all uploads to use this new function
// since at some point, that upload path will be deprecated and no longer
// used
@@ -91,6 +92,7 @@ BOOL upload_new_variable_price_resource(
U32 everyone_perms,
const std::string& display_name,
const LLSD& asset_resources);
+#endif
LLAssetID generate_asset_id_for_new_upload(const LLTransactionID& tid);
void increase_new_upload_stats(LLAssetType::EType asset_type);
diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp
index d35be8e1bf..697e8afa65 100644
--- a/indra/newview/llviewertexteditor.cpp
+++ b/indra/newview/llviewertexteditor.cpp
@@ -535,7 +535,9 @@ LLUIImagePtr LLEmbeddedItems::getItemImage(llwchar ext_char) const
case LLAssetType::AT_BODYPART: img_name = "Inv_Skin"; break;
case LLAssetType::AT_ANIMATION: img_name = "Inv_Animation"; break;
case LLAssetType::AT_GESTURE: img_name = "Inv_Gesture"; break;
+#if LL_MESH_ENABLED
case LLAssetType::AT_MESH: img_name = "Inv_Mesh"; break;
+#endif
default: llassert(0);
}
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index fc4b590bf4..9f559331b0 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -591,8 +591,10 @@ public:
if (gSavedSettings.getBOOL("DebugShowUploadCost"))
{
+#if LL_MESH_ENABLED
addText(xpos, ypos, llformat(" Meshes: L$%d", gPipeline.mDebugMeshUploadCost));
ypos += y_inc/2;
+#endif
addText(xpos, ypos, llformat(" Sculpties: L$%d", gPipeline.mDebugSculptUploadCost));
ypos += y_inc/2;
addText(xpos, ypos, llformat(" Textures: L$%d", gPipeline.mDebugTextureUploadCost));
@@ -602,6 +604,7 @@ public:
ypos += y_inc;
}
+#if LL_MESH_ENABLED
//temporary hack to give feedback on mesh upload progress
if (!gMeshRepo.mUploads.empty())
{
@@ -631,6 +634,7 @@ public:
ypos += y_inc;
}
+#endif
}
void draw()
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index db9e0b88e1..d66aa567a8 100644
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -926,6 +926,7 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams &params, const S32 detail, bool
BOOL is404 = FALSE;
+#if LL_MESH_ENABLED
if (isSculpted())
{
// if it's a mesh
@@ -945,6 +946,7 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams &params, const S32 detail, bool
}
}
}
+#endif
// Check if we need to change implementations
bool is_flexible = (volume_params.getPathParams().getCurveType() == LL_PCODE_PATH_FLEXIBLE);
@@ -989,10 +991,11 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams &params, const S32 detail, bool
updateSculptTexture();
+
if (isSculpted())
{
updateSculptTexture();
-
+#if LL_MESH_ENABLED
// if it's a mesh
if ((volume_params.getSculptType() & LL_SCULPT_TYPE_MASK) == LL_SCULPT_TYPE_MESH)
{
@@ -1008,6 +1011,7 @@ BOOL LLVOVolume::setVolume(const LLVolumeParams &params, const S32 detail, bool
}
}
else // otherwise is sculptie
+#endif
{
if (mSculptTexture.notNull())
{
@@ -2659,12 +2663,13 @@ BOOL LLVOVolume::isMesh() const
{
LLSculptParams *sculpt_params = (LLSculptParams *)getParameterEntry(LLNetworkData::PARAMS_SCULPT);
U8 sculpt_type = sculpt_params->getSculptType();
-
+#if LL_MESH_ENABLED
if ((sculpt_type & LL_SCULPT_TYPE_MASK) == LL_SCULPT_TYPE_MESH)
// mesh is a mesh
{
return TRUE;
}
+#endif
}
return FALSE;
@@ -3010,6 +3015,7 @@ F32 LLVOVolume::getBinRadius()
F32 scale = 1.f;
+#if LL_MESH_ENABLED
if (isSculpted())
{
LLSculptParams *sculpt_params = (LLSculptParams *)getParameterEntry(LLNetworkData::PARAMS_SCULPT);
@@ -3031,6 +3037,7 @@ F32 LLVOVolume::getBinRadius()
scale = 1.f/llmax(vert_count/1024.f, 1.f);
}
}
+#endif
const LLVector4a* ext = mDrawable->getSpatialExtents();
@@ -3513,9 +3520,11 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
drawablep->clearState(LLDrawable::HAS_ALPHA);
+#if LL_MESH_ENABLED
bool rigged = vobj->isAttachment() &&
vobj->isMesh() &&
gMeshRepo.getSkinInfo(vobj->getVolume()->getParams().getSculptID());
+#endif
bool bake_sunlight = LLPipeline::sBakeSunlight && drawablep->isStatic();
@@ -3526,6 +3535,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
drawablep->updateFaceSize(i);
LLFace* facep = drawablep->getFace(i);
+#if LL_MESH_ENABLED
if (rigged)
{
if (!facep->isState(LLFace::RIGGED))
@@ -3622,6 +3632,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
facep->clearState(LLFace::RIGGED);
}
}
+#endif
if (cur_total > max_total || facep->getIndicesCount() <= 0 || facep->getGeomCount() <= 0)
{
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 583b3df0e5..c5c7277211 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -2025,7 +2025,9 @@ void LLPipeline::rebuildPriorityGroups()
assertInitialized();
+#if LL_MESH_ENABLED
gMeshRepo.notifyLoadedMeshes();
+#endif
// Iterate through all drawables on the priority build queue,
for (LLSpatialGroup::sg_list_t::iterator iter = mGroupQ1.begin();
@@ -3859,6 +3861,7 @@ void LLPipeline::renderDebug()
gPipeline.mDebugTextureUploadCost = textures.size() * 10;
gPipeline.mDebugSculptUploadCost = sculpts.size()*10;
+#if LL_MESH_ENABLED
U32 mesh_cost = 0;
for (std::set<LLUUID>::iterator iter = meshes.begin(); iter != meshes.end(); ++iter)
@@ -3867,6 +3870,7 @@ void LLPipeline::renderDebug()
}
gPipeline.mDebugMeshUploadCost = mesh_cost;
+#endif
}
for (LLCullResult::bridge_list_t::const_iterator i = sCull->beginVisibleBridge(); i != sCull->endVisibleBridge(); ++i)
diff --git a/indra/newview/pipeline.h b/indra/newview/pipeline.h
index 4e8760947c..95f951b393 100644
--- a/indra/newview/pipeline.h
+++ b/indra/newview/pipeline.h
@@ -45,6 +45,7 @@
#include "llgl.h"
#include "lldrawable.h"
#include "llrendertarget.h"
+#include "llmodel.h" //for LL_MESH_ENaBLED
#include <stack>
@@ -61,7 +62,10 @@ class LLCullResult;
class LLVOAvatar;
class LLGLSLShader;
class LLCurlRequest;
+
+#if LL_MESH_ENABLED
class LLMeshResponder;
+#endif
typedef enum e_avatar_skinning_method
{
@@ -465,7 +469,9 @@ public:
S32 mDebugTextureUploadCost;
S32 mDebugSculptUploadCost;
+#if LL_MESH_ENABLED
S32 mDebugMeshUploadCost;
+#endif
S32 mLightingChanges;
S32 mGeometryChanges;
@@ -712,13 +718,6 @@ public:
protected:
std::vector<LLFace*> mSelectedFaces;
-
- typedef std::map<LLUUID, std::set<LLUUID> > mesh_load_map;
- mesh_load_map mLoadingMeshes[4];
-
- typedef std::list<LLMeshResponder*> mesh_response_list;
- mesh_response_list mMeshResponseList;
-
LLPointer<LLViewerFetchedTexture> mFaceSelectImagep;
U32 mLightMask;
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
index 8b431e9c54..b54bad98d0 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
@@ -160,7 +160,7 @@
layout="topleft"
left="5"
name="CustomGraphics Panel"
- top="101"
+ top="76"
width="485">
<text
type="string"
@@ -397,7 +397,7 @@
label="Post process quality:"
label_width="185"
layout="topleft"
- left_delta="0"
+ left="200"
max_val="9"
min_val="8"
name="RenderPostProcess"
@@ -542,7 +542,7 @@
layout="topleft"
left="469"
name="PostProcessText"
- top="328"
+ top="60"
width="128">
Low
</text>
@@ -625,7 +625,7 @@
follows="left|top"
height="12"
layout="topleft"
- left_delta="-260"
+ left="200"
name="AvatarRenderingText"
top_pad="8"
width="128">
@@ -673,7 +673,7 @@
left="358"
left_pad="-30"
name="TerrainDetailText"
- top="488"
+ top="226"
width="155">
Terrain detail:
</text>