Revert regression from merge
This commit is contained in:
@@ -93,7 +93,7 @@ LLMediaCtrl::LLMediaCtrl( const std::string& name, const LLRect& rect ) :
|
|||||||
if ( !mMediaSource )
|
if ( !mMediaSource )
|
||||||
{
|
{
|
||||||
llwarns << "media source create failed " << llendl;
|
llwarns << "media source create failed " << llendl;
|
||||||
// return;
|
return;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -123,7 +123,6 @@ LLMediaCtrl::~LLMediaCtrl()
|
|||||||
|
|
||||||
if ( mWebBrowserImage )
|
if ( mWebBrowserImage )
|
||||||
{
|
{
|
||||||
delete mWebBrowserImage;
|
|
||||||
mWebBrowserImage = NULL;
|
mWebBrowserImage = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -143,7 +143,7 @@ class LLMediaCtrl :
|
|||||||
static bool onClickLinkExternalTarget( const LLSD&, const LLSD& );
|
static bool onClickLinkExternalTarget( const LLSD&, const LLSD& );
|
||||||
|
|
||||||
const S32 mTextureDepthBytes;
|
const S32 mTextureDepthBytes;
|
||||||
LLWebBrowserTexture* mWebBrowserImage;
|
LLPointer<LLWebBrowserTexture> mWebBrowserImage;
|
||||||
LLViewBorder* mBorder;
|
LLViewBorder* mBorder;
|
||||||
bool mFrequentUpdates;
|
bool mFrequentUpdates;
|
||||||
bool mForceUpdate;
|
bool mForceUpdate;
|
||||||
|
|||||||
@@ -376,6 +376,8 @@ LLViewerMediaImpl::LLViewerMediaImpl(const std::string& media_url,
|
|||||||
mMediaURL(media_url),
|
mMediaURL(media_url),
|
||||||
mMimeType(mime_type),
|
mMimeType(mime_type),
|
||||||
mNeedsNewTexture(true),
|
mNeedsNewTexture(true),
|
||||||
|
mTextureUsedWidth(0),
|
||||||
|
mTextureUsedHeight(0),
|
||||||
mSuspendUpdates(false),
|
mSuspendUpdates(false),
|
||||||
mVisible(true)
|
mVisible(true)
|
||||||
{
|
{
|
||||||
@@ -898,8 +900,8 @@ void LLViewerMediaImpl::updateMovieImage(const LLUUID& uuid, BOOL active)
|
|||||||
// Can't use mipmaps for movies because they don't update the full image
|
// Can't use mipmaps for movies because they don't update the full image
|
||||||
// Casting to LLViewerMediaTexture is a huge hack. Implement LLViewerMediaTexture some time later.
|
// Casting to LLViewerMediaTexture is a huge hack. Implement LLViewerMediaTexture some time later.
|
||||||
mMovieImageHasMips = ((LLViewerMediaTexture*)viewerImage)->getUseMipMaps();
|
mMovieImageHasMips = ((LLViewerMediaTexture*)viewerImage)->getUseMipMaps();
|
||||||
((LLViewerMediaTexture*)viewerImage)->reinit(mMovieImageHasMips);
|
((LLViewerMediaTexture*)viewerImage)->reinit(FALSE);
|
||||||
viewerImage->mIsMediaTexture = FALSE;
|
viewerImage->mIsMediaTexture = TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -985,13 +987,16 @@ void LLViewerMediaImpl::updateImagesMediaStreams()
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
LLViewerTexture* placeholder_image = LLViewerTextureManager::findTexture( mTextureId );
|
LLViewerMediaTexture* placeholder_image = (LLViewerMediaTexture*)LLViewerTextureManager::findTexture( mTextureId );
|
||||||
|
|
||||||
if (mNeedsNewTexture
|
if (mNeedsNewTexture
|
||||||
|| ((LLViewerMediaTexture*)placeholder_image)->getUseMipMaps()
|
|| placeholder_image->getUseMipMaps()
|
||||||
|| ! placeholder_image->mIsMediaTexture
|
|| ! placeholder_image->mIsMediaTexture
|
||||||
|| placeholder_image->getWidth() != mMediaSource->getTextureWidth()
|
|| (placeholder_image->getWidth() != mMediaSource->getTextureWidth())
|
||||||
|| placeholder_image->getHeight() != mMediaSource->getTextureHeight())
|
|| (placeholder_image->getHeight() != mMediaSource->getTextureHeight())
|
||||||
|
|| (mTextureUsedWidth != mMediaSource->getWidth())
|
||||||
|
|| (mTextureUsedHeight != mMediaSource->getHeight())
|
||||||
|
)
|
||||||
{
|
{
|
||||||
llinfos << "initializing media placeholder" << llendl;
|
llinfos << "initializing media placeholder" << llendl;
|
||||||
llinfos << "movie image id " << mTextureId << llendl;
|
llinfos << "movie image id " << mTextureId << llendl;
|
||||||
@@ -1003,7 +1008,7 @@ void LLViewerMediaImpl::updateImagesMediaStreams()
|
|||||||
// MEDIAOPT: check to see if size actually changed before doing work
|
// MEDIAOPT: check to see if size actually changed before doing work
|
||||||
placeholder_image->destroyGLTexture();
|
placeholder_image->destroyGLTexture();
|
||||||
// MEDIAOPT: apparently just calling setUseMipMaps(FALSE) doesn't work?
|
// MEDIAOPT: apparently just calling setUseMipMaps(FALSE) doesn't work?
|
||||||
((LLViewerMediaTexture*)placeholder_image)->reinit(FALSE); // probably not needed
|
placeholder_image->reinit(FALSE); // probably not needed
|
||||||
|
|
||||||
// MEDIAOPT: seems insane that we actually have to make an imageraw then
|
// MEDIAOPT: seems insane that we actually have to make an imageraw then
|
||||||
// immediately discard it
|
// immediately discard it
|
||||||
@@ -1020,11 +1025,16 @@ void LLViewerMediaImpl::updateImagesMediaStreams()
|
|||||||
placeholder_image->createGLTexture(discard_level, raw);
|
placeholder_image->createGLTexture(discard_level, raw);
|
||||||
|
|
||||||
// placeholder_image->setExplicitFormat()
|
// placeholder_image->setExplicitFormat()
|
||||||
((LLViewerMediaTexture*)placeholder_image)->setUseMipMaps(FALSE);
|
placeholder_image->setUseMipMaps(FALSE);
|
||||||
|
|
||||||
// MEDIAOPT: set this dynamically on play/stop
|
// MEDIAOPT: set this dynamically on play/stop
|
||||||
((LLViewerMediaTexture*)placeholder_image)->mIsMediaTexture = true;
|
placeholder_image->mIsMediaTexture = true;
|
||||||
mNeedsNewTexture = false;
|
mNeedsNewTexture = false;
|
||||||
|
|
||||||
|
// If the amount of the texture being drawn by the media goes down in either width or height,
|
||||||
|
// recreate the texture to avoid leaving parts of the old image behind.
|
||||||
|
mTextureUsedWidth = mMediaSource->getWidth();
|
||||||
|
mTextureUsedHeight = mMediaSource->getHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
return placeholder_image;
|
return placeholder_image;
|
||||||
|
|||||||
@@ -214,6 +214,8 @@ public:
|
|||||||
bool mMediaAutoScale;
|
bool mMediaAutoScale;
|
||||||
bool mMediaLoop;
|
bool mMediaLoop;
|
||||||
bool mNeedsNewTexture;
|
bool mNeedsNewTexture;
|
||||||
|
S32 mTextureUsedWidth;
|
||||||
|
S32 mTextureUsedHeight;
|
||||||
bool mSuspendUpdates;
|
bool mSuspendUpdates;
|
||||||
bool mVisible;
|
bool mVisible;
|
||||||
|
|
||||||
|
|||||||
@@ -3474,7 +3474,7 @@ void LLPipeline::renderDebug()
|
|||||||
|
|
||||||
LLGLEnable blend(GL_BLEND);
|
LLGLEnable blend(GL_BLEND);
|
||||||
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
|
LLGLDepthTest depth(GL_TRUE, GL_FALSE);
|
||||||
gGL.getTexUnit(0)->bind(LLViewerImage::sWhiteImagep.get());
|
gGL.getTexUnit(0)->bind(LLViewerFetchedTexture::sWhiteImagep);
|
||||||
|
|
||||||
for (LLSpatialGroup::sg_vector_t::iterator iter = mGroupQ2.begin(); iter != mGroupQ2.end(); ++iter)
|
for (LLSpatialGroup::sg_vector_t::iterator iter = mGroupQ2.begin(); iter != mGroupQ2.end(); ++iter)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
|
|
||||||
#include <stack>
|
#include <stack>
|
||||||
|
|
||||||
class LLViewerImage;
|
class LLViewerTexture;
|
||||||
class LLEdge;
|
class LLEdge;
|
||||||
class LLFace;
|
class LLFace;
|
||||||
class LLViewerObject;
|
class LLViewerObject;
|
||||||
@@ -107,15 +107,15 @@ public:
|
|||||||
|
|
||||||
/// @brief Get a draw pool from pool type (POOL_SIMPLE, POOL_MEDIA) and texture.
|
/// @brief Get a draw pool from pool type (POOL_SIMPLE, POOL_MEDIA) and texture.
|
||||||
/// @return Draw pool, or NULL if not found.
|
/// @return Draw pool, or NULL if not found.
|
||||||
LLDrawPool *findPool(const U32 pool_type, LLViewerImage *tex0 = NULL);
|
LLDrawPool *findPool(const U32 pool_type, LLViewerTexture *tex0 = NULL);
|
||||||
|
|
||||||
/// @brief Get a draw pool for faces of the appropriate type and texture. Create if necessary.
|
/// @brief Get a draw pool for faces of the appropriate type and texture. Create if necessary.
|
||||||
/// @return Always returns a draw pool.
|
/// @return Always returns a draw pool.
|
||||||
LLDrawPool *getPool(const U32 pool_type, LLViewerImage *tex0 = NULL);
|
LLDrawPool *getPool(const U32 pool_type, LLViewerTexture *tex0 = NULL);
|
||||||
|
|
||||||
/// @brief Figures out draw pool type from texture entry. Creates pool if necessary.
|
/// @brief Figures out draw pool type from texture entry. Creates pool if necessary.
|
||||||
static LLDrawPool* getPoolFromTE(const LLTextureEntry* te, LLViewerImage* te_image);
|
static LLDrawPool* getPoolFromTE(const LLTextureEntry* te, LLViewerTexture* te_image);
|
||||||
static U32 getPoolTypeFromTE(const LLTextureEntry* te, LLViewerImage* imagep);
|
static U32 getPoolTypeFromTE(const LLTextureEntry* te, LLViewerTexture* imagep);
|
||||||
|
|
||||||
void addPool(LLDrawPool *poolp); // Only to be used by LLDrawPool classes for splitting pools!
|
void addPool(LLDrawPool *poolp); // Only to be used by LLDrawPool classes for splitting pools!
|
||||||
void removePool( LLDrawPool* poolp );
|
void removePool( LLDrawPool* poolp );
|
||||||
@@ -155,7 +155,7 @@ public:
|
|||||||
);
|
);
|
||||||
|
|
||||||
// Something about these textures has changed. Dirty them.
|
// Something about these textures has changed. Dirty them.
|
||||||
void dirtyPoolObjectTextures(const std::set<LLViewerImage*>& textures);
|
void dirtyPoolObjectTextures(const std::set<LLViewerFetchedTexture*>& textures);
|
||||||
|
|
||||||
void resetDrawOrders();
|
void resetDrawOrders();
|
||||||
|
|
||||||
@@ -603,7 +603,7 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
std::vector<LLFace*> mSelectedFaces;
|
std::vector<LLFace*> mSelectedFaces;
|
||||||
|
|
||||||
LLPointer<LLViewerImage> mFaceSelectImagep;
|
LLPointer<LLViewerFetchedTexture> mFaceSelectImagep;
|
||||||
|
|
||||||
U32 mLightMask;
|
U32 mLightMask;
|
||||||
U32 mLightMovingMask;
|
U32 mLightMovingMask;
|
||||||
|
|||||||
Reference in New Issue
Block a user