|
76d3e6e0
|
2012-10-31T19:55:33
|
|
Rename renderer namespace to rx
Trac #21999
Author: Shannon Woods
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1379 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
2507f41e
|
2012-10-31T18:46:48
|
|
Split Renderer into version independent interface and Renderer9 implementation.
TRAC #21963
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1358 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ef21ab29
|
2012-10-31T17:52:47
|
|
Move query and sync support to Renderer
Trac #21727
git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1331 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
563c0a53
|
2012-03-23T21:18:42
|
|
Fence has pointer to the associated egl::Display.
I think the assumption that getDisplay() returns a valid display in the Fence destructor is wrong.
I'm trying to fix a crash in the field that looks like this:
Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @ 0x00000000 )
0x69582e38 [libglesv2.dll - fence.cpp:27 gl::Fence::~Fence()
0x69582f29 [libglesv2.dll + 0x00022f29] gl::Fence::`scalar deleting destructor'(unsigned int)
0x6958077d [libglesv2.dll - context.cpp:1020 gl::Context::deleteFence(unsigned int)
0x69582b9b [libglesv2.dll - context.cpp:195 gl::Context::~Context()
0x69582dcb [libglesv2.dll + 0x00022dcb] gl::Context::`scalar deleting destructor'(unsigned int)
0x69582df2 [libglesv2.dll - context.cpp:4259 glDestroyContext
0x73166ab8 [libegl.dll - display.cpp:768 egl::Display::destroyContext(gl::Context *)
0x73168393 [libegl.dll - libegl.cpp:861 eglDestroyContext
0x6e18f1db [chrome.dll - gl_context_egl.cc:76 gfx::GLContextEGL::Destroy()
0x6e18f40d [chrome.dll - gl_context_egl.cc:43 gfx::GLContextEGL::~GLContextEGL()
Here's the disassembly:
69582E21 push esi
69582E22 mov esi,ecx
69582E24 cmp dword ptr [esi+4],0
69582E28 mov dword ptr [esi],695CBBE0h
69582E2E je 69582E3F
69582E30 call 695743F5 // this is getDisplay()
69582E35 push dword ptr [esi+4]
69582E38 mov edx,dword ptr [eax] // crashes here because EAX is zero
69582E3A mov ecx,eax
69582E3C call dword ptr [edx+24h] // this is freeEventQuery()
69582E3F pop esi
69582E40 ret
It looks like getDisplay() returns null.
http://code.google.com/p/chromium/issues/detail?id=117817
Review URL: https://codereview.appspot.com/5875044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1008 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d3bd0ad3
|
2010-08-30T18:55:36
|
|
Implemented GL_NV_fence extension.
I believe I have implemented all features according to the spec.
The application is to allow the Chrome command buffer scheduler to be smarter about deciding which command buffer to process. For example, if a WebGL app issued a call to ReadPixels, the scheduler will issue a fence and defer executing the ReadPixels until the status goes true. It can continue to work on other command buffers in the meantime.
I tested by modifying the vertex shader demo. After issuing the SwapBuffers i made issue a fence and loop until the status went true and verified it looped several times. I also tested that by calling FinishFence before going into the loop that is did not loop at all.
Review URL: http://codereview.appspot.com/1965043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@405 736b8ea6-26fd-11df-bfd4-992fa37f6226
|