Merge remote-tracking branch 'shyotl/master' into AltCompilers
This commit is contained in:
@@ -132,9 +132,9 @@ bool LLAudioEngine_FMODEX::init(const S32 num_channels, void* userdata)
|
|||||||
|
|
||||||
LL_DEBUGS("AppInit") << "LLAudioEngine_FMODEX::init() initializing FMOD" << LL_ENDL;
|
LL_DEBUGS("AppInit") << "LLAudioEngine_FMODEX::init() initializing FMOD" << LL_ENDL;
|
||||||
|
|
||||||
result = FMOD::Memory_Initialize(NULL, 0, &decode_alloc, &decode_realloc, &decode_dealloc, FMOD_MEMORY_STREAM_DECODE | FMOD_MEMORY_STREAM_FILE);
|
//result = FMOD::Memory_Initialize(NULL, 0, &decode_alloc, &decode_realloc, &decode_dealloc, FMOD_MEMORY_STREAM_DECODE | FMOD_MEMORY_STREAM_FILE);
|
||||||
if(Check_FMOD_Error(result, "FMOD::Memory_Initialize"))
|
//if(Check_FMOD_Error(result, "FMOD::Memory_Initialize"))
|
||||||
return false;
|
// return false;
|
||||||
|
|
||||||
result = FMOD::System_Create(&mSystem);
|
result = FMOD::System_Create(&mSystem);
|
||||||
if(Check_FMOD_Error(result, "FMOD::System_Create"))
|
if(Check_FMOD_Error(result, "FMOD::System_Create"))
|
||||||
|
|||||||
@@ -308,6 +308,8 @@ void LLRenderTarget::release()
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
//Release before delete.
|
||||||
|
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, LLTexUnit::getInternalType(mUsage), 0, 0);
|
||||||
LLImageGL::deleteTextures(mUsage, 0, 0, 1, &mDepth, true);
|
LLImageGL::deleteTextures(mUsage, 0, 0, 1, &mDepth, true);
|
||||||
stop_glerror();
|
stop_glerror();
|
||||||
}
|
}
|
||||||
@@ -339,6 +341,9 @@ void LLRenderTarget::release()
|
|||||||
|
|
||||||
if (mTex.size() > 0)
|
if (mTex.size() > 0)
|
||||||
{
|
{
|
||||||
|
//Release before delete.
|
||||||
|
for (U32 i = 0; i < mTex.size(); ++i)
|
||||||
|
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0+i, LLTexUnit::getInternalType(mUsage), 0, 0);
|
||||||
sBytesAllocated -= mResX*mResY*4*mTex.size();
|
sBytesAllocated -= mResX*mResY*4*mTex.size();
|
||||||
LLImageGL::deleteTextures(mUsage, mInternalFormat[0], 0, mTex.size(), &mTex[0], true);
|
LLImageGL::deleteTextures(mUsage, mInternalFormat[0], 0, mTex.size(), &mTex[0], true);
|
||||||
mTex.clear();
|
mTex.clear();
|
||||||
@@ -490,10 +495,21 @@ void LLRenderTarget::flush(bool fetch_depth)
|
|||||||
}
|
}
|
||||||
stop_glerror();
|
stop_glerror();
|
||||||
|
|
||||||
|
//Following case never currently evalutes true, but it's still good to have.
|
||||||
if (mTex.size() > 1)
|
if (mTex.size() > 1)
|
||||||
{
|
{
|
||||||
for (U32 i = 1; i < mTex.size(); ++i)
|
for (U32 i = 1; i < mTex.size(); ++i)
|
||||||
{
|
{
|
||||||
|
glDrawBuffer(GL_COLOR_ATTACHMENT0 + i);
|
||||||
|
glReadBuffer(GL_COLOR_ATTACHMENT0 + i);
|
||||||
|
stop_glerror();
|
||||||
|
glBlitFramebuffer(0, 0, mResX, mResY, 0, 0, mResX, mResY, GL_COLOR_BUFFER_BIT, GL_NEAREST);
|
||||||
|
stop_glerror();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*for (U32 i = 1; i < mTex.size(); ++i)
|
||||||
|
{
|
||||||
|
|
||||||
glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
|
glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
|
||||||
LLTexUnit::getInternalType(mUsage), mTex[i], 0);
|
LLTexUnit::getInternalType(mUsage), mTex[i], 0);
|
||||||
stop_glerror();
|
stop_glerror();
|
||||||
@@ -510,7 +526,7 @@ void LLRenderTarget::flush(bool fetch_depth)
|
|||||||
stop_glerror();
|
stop_glerror();
|
||||||
glFramebufferRenderbuffer(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0+i, GL_RENDERBUFFER, mSampleBuffer->mTex[i]);
|
glFramebufferRenderbuffer(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0+i, GL_RENDERBUFFER, mSampleBuffer->mTex[i]);
|
||||||
stop_glerror();
|
stop_glerror();
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user