Commit 9398a6b2 by apatrick@chromium.org

I hope this will fix a generateMipmaps crash when needRenderTarget fails.

This fixes this crash in 7.0.524.0 on a user's Windows XP service pack 3 box. 0x014946f3 [libGLESv2.dll - texture.cpp:1382] gl::Texture2D::generateMipmaps() 0x0149786f [libGLESv2.dll - libglesv2.cpp:2114] glGenerateMipmap 0x01c53199 [chrome.dll - gles2_cmd_decoder.cc:2437] gpu::gles2::GLES2DecoderImpl::DoGenerateMipmap(unsigned int) 0x01c52216 [chrome.dll - gles2_cmd_decoder.cc:2214] gpu::gles2::GLES2DecoderImpl::DoCommand(unsigned int,unsigned int,void const *) 0x01c4fa78 [chrome.dll - cmd_parser.cc:56] gpu::CommandParser::ProcessCommand() 0x01c4f8ba [chrome.dll - gpu_processor.cc:100] gpu::GPUProcessor::ProcessCommands() 0x01ecdcce [chrome.dll - callback.h:119] CallbackImpl<BrowsingDataRemover,void ( BrowsingDataRemover::*)(void),Tuple0>::RunWithParams(Tuple0 const &) 0x01c4f2d9 [chrome.dll - callback.h:79] CallbackRunner<Tuple0>::Run() 0x01c4edce [chrome.dll - command_buffer_service.cc:80] gpu::CommandBufferService::Flush(int) 0x01d6b9b1 [chrome.dll - gpu_command_buffer_stub.cc:129] GpuCommandBufferStub::OnFlush(int,gpu::CommandBuffer::State *) This might be glGenerateMipmaps after a device lost. Review URL: http://codereview.appspot.com/2227044 git-svn-id: https://angleproject.googlecode.com/svn/trunk@429 736b8ea6-26fd-11df-bfd4-992fa37f6226
parent e860f079
......@@ -1374,6 +1374,11 @@ void Texture2D::generateMipmaps()
needRenderTarget();
if (mTexture == NULL)
{
return;
}
for (unsigned int i = 1; i <= q; i++)
{
IDirect3DSurface9 *upper = NULL;
......@@ -1983,6 +1988,11 @@ void TextureCubeMap::generateMipmaps()
needRenderTarget();
if (mTexture == NULL)
{
return;
}
for (unsigned int f = 0; f < 6; f++)
{
for (unsigned int i = 1; i <= q; i++)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment