|
74d760bc
|
2010-11-03T12:27:18
|
|
Preserve the scissor and viewport rectangles on swap and blit
TRAC #14054
The SetRenderTarget calls used in Blit::boxFilter() and Surface::swap() implicitly reset the scissor and viewport rectangles. So we need to ensure that the original rectangles get captured, and restored afterwards (the Context only keeps track of explicitly changed state).
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@472 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
e860f079
|
2010-09-20T19:06:56
|
|
Trying to fix bug crash when eglCreateWindowSurface (or any other code that causes createDevice to be invoked) is called and CreateDevice reports DEVICELOST or NOTAVAILABLE.
This was a Windows XP service pack 3 box.
0x10002545 [libegl.dll - display.cpp:340] egl::Display::createDevice()
0x10002912 [libegl.dll - display.cpp:468] egl::Display::getDevice()
0x01d6a80f [chrome.dll - gpu_info_collector_win.cc:29] gpu_info_collector::CollectGraphicsInfo(GPUInfo *)
0x01d68eca [chrome.dll - gpu_thread.cc:104] GpuThread::OnEstablishChannel(int)
Previously createDevice only checked for out of memory and the ASSERT(SUCCEEDED(result)) has no effect in release builds.
I simulated the failure in a debugger and discovered a second place where a null dereference would occur in this case.
I don't think this crash is technically correct but it prevents crashes.
Review URL: http://codereview.appspot.com/2217043
git-svn-id: https://angleproject.googlecode.com/svn/trunk@428 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
0db0d6c8
|
2010-08-31T20:00:18
|
|
Replaces swap chain lazily when the swap interval is changed.
It does not appear to be possible to pass a presentation interval to Present() or change it after creating the swap chain, short of calling Reset(). I decided to try fixing it by replacing the swap chain under the same conditions as a window resize.
I tested it with a modified version of the simple vertex shader sample, passing various values to eglSwapInterval.
My reading of the EGL spec might be wrong but I believe the interval state should be associated with the surface bound to the current context, rather than the display.
Review URL: http://codereview.appspot.com/2036044
git-svn-id: https://angleproject.googlecode.com/svn/trunk@408 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
d36c6a0a
|
2010-08-31T12:15:09
|
|
Implemented recovering from a lost device by context recreation.
TRAC #13222
Singed-off-by: Daniel Koch
Author: Nicolas Capens <nicolas@transgaming.com>
git-svn-id: https://angleproject.googlecode.com/svn/trunk@406 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b707a3b7
|
2010-08-23T23:12:51
|
|
Added runtime checks for GetClientRect errors.
I noticed that if the window handle is invalid, the resulting rect will be uninitialized. This change makes it fail immediately.
Review URL: http://codereview.appspot.com/2009042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@386 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
da6e263c
|
2010-07-28T19:21:18
|
|
Support window resizing
TRAC #12660
Automatically resize the D3D swap chain when the eglSwapBuffers is called and the presentation window has changed size.
Also change D3D device init to be performed once when the Display is created using a hidden 1x1 window.
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@365 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
81655a72
|
2010-05-20T19:18:17
|
|
Use instancing for non-array vertex attributes.
TRAC #12303
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@314 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
c6c6f027
|
2010-05-20T19:18:00
|
|
Report an EGL_CONTEXT_LOST error on D3DERR_DEVICELOST
Trac #11233
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@311 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
db1afef6
|
2010-05-11T02:29:31
|
|
Improve performance in Surface::swap
TRAC #12145
- Create the flip RT texture once.
- Use state blocks for swap and restore all previous state.
Signed-off-by: Nicolas Capens
Signed-off-by: Daniel Koch
Author: Andrew Lewycky
git-svn-id: https://angleproject.googlecode.com/svn/trunk@256 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
616ffcf4
|
2010-05-07T19:01:49
|
|
Optimized getPresentInterval
TRAC #12180
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@252 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
f2f8d3c9
|
2010-05-05T18:49:29
|
|
Don't use a depth buffer on swap
TRAC #12160
This prevents the draw call from failing when the depth buffer isn't as large as the render target.
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@238 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
b6bd727d
|
2010-05-05T18:48:22
|
|
Implemented eglSwapInterval
TRAC #12137
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@235 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
fc23fe28
|
2010-05-05T18:48:17
|
|
Fixed retrieving a render target interface and not releasing it
TRAC #12149
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@234 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ae072afe
|
2010-05-05T18:47:28
|
|
Minimize BeginScene / EndScene calls
TRAC #12139
Signed-off-by: Shannon Woods
Signed-off-by: Daniel Koch
Author: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@231 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
bbf56f75
|
2010-04-20T18:52:13
|
|
Use directory qualified #include files
Trac #11408
Signed-off-by: Andrew Lewycky
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@165 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
ea0e1af4
|
2010-03-22T19:33:14
|
|
Minor reshuffling of directory structure in preparation of ESSL to GLSL compiler work.
1. Added include/GLSLANG which includes compiler API
2. Deleted src/include and moved the header files to the same directory as the corresponding source files
3. Modied include path to be relative to src/. I have only fixed paths for files I moved. We should fix it for all new files at least. It is much easier to see where an included file is coming from.
I noticed that a few libGLESv2 source files include headers from libEGL project, which seems wrong. I think we should address this issue. Next step: move compiler source files to compiler/frontend and create two new projects compiler/glsl_backend and compiler/hlsl_backend.
Review URL: http://codereview.appspot.com/662042
git-svn-id: https://angleproject.googlecode.com/svn/trunk@62 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
adb5087a
|
2010-03-21T04:30:52
|
|
ANGLE | Don't perform any filtering when swapping
TRAC #11513
Author: Nicolas Capens
Signed-off-by: Andrew Lewycky
Signed-off-by: Daniel Koch
git-svn-id: https://angleproject.googlecode.com/svn/trunk@50 736b8ea6-26fd-11df-bfd4-992fa37f6226
|
|
203934dc
|
2010-03-17T13:12:52
|
|
mv libEGL -> src/libEGL
Trac #11406
Signed-off-by: Nicolas Capens
git-svn-id: https://angleproject.googlecode.com/svn/trunk@39 736b8ea6-26fd-11df-bfd4-992fa37f6226
|