src/libEGL


Log

Author Commit Date CI Message
nduca@chromium.org 585b3d0e 2011-06-03T01:48:11 Disable use of FlipEx for problematic use cases. It seems that DWM will, when given an HWND that has an associated FlipEX swap chain, stretch the contents of the HWND to fill the new window IF you don't issue draw calls to that HWND before the WM_PAINT returns. This leads to horrendous sizing artifacts. For Chromium, this is a show stopper. But, FlipEx is definitely a good thing, for regular single process applications. So, is there a clean way to conditionally disable FlipEX for these problem cases? The heuristic in this patch basically says "if your hwnd is not in-process, then you're probably not painting in its HWND, so don't sue FlipEX." This catches the Chromium use case. There is still the possibility of a regular single-process EGL application that tries to draw outside WM_PAINT that would experience sizing artefacts. But, maybe that's OK. Anyways, I'm not married to this technique. Just throwing something out there to start the discussion. :) Review URL: http://codereview.appspot.com/4536102 git-svn-id: https://angleproject.googlecode.com/svn/trunk@668 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4f9ef0d6 2011-05-30T23:51:19 Implemented OES_texture_npot support. TRAC #16871 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@661 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 6c4dba0d 2011-05-26T14:15:31 Fix lost context recovery for Windows XP. Issue=138 TRAC #16271 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@657 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com c556fa57 2011-05-26T14:13:29 Revert pending surface destruction (part of revision 632). TRAC #16271 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@656 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 062231c0 2011-05-26T14:12:17 Only use D3DSWAPEFFECT_FLIPEX on D3D9Ex devices. TRAC #16271 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@655 736b8ea6-26fd-11df-bfd4-992fa37f6226
nduca@chromium.org 93c0fce4 2011-05-25T01:55:06 Use D3DSWAPEFFECT_FLIPEX on Windows 7. Reduces frame rate jitters on Windows 7 reported in crbug.com/82925 Review URL: http://codereview.appspot.com/4517096 git-svn-id: https://angleproject.googlecode.com/svn/trunk@654 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2b720c92 2011-05-13T16:05:22 Fix the order of the error() parameters in Surface.cpp and advertise EGL_ANGLE_d3d_share_handle_client_buffer extension Trac #16711 Also rename the extension file to match the extension name Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@651 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org 4e297707 2011-05-12T23:04:07 Add support for eglCreatePbufferFromClientBuffer, taking as input a D3D share handle corresponding to the enum EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE. No spec as of yet, but it does the obvious thing. BUG=129 TEST= Review URL: http://codereview.appspot.com/4325048 git-svn-id: https://angleproject.googlecode.com/svn/trunk@650 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2ff573c6 2011-05-11T15:37:17 Enable vertex texture fetch support. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@644 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3b1703f4 2011-05-11T15:36:26 Detect support for vertex shader texture lookups. Issue=95 TRAC #16568 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@636 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 192a1810 2011-05-05T00:00:30 Implemented semantics for eglDestroySurface when surface is current on thread. The spec has this to say. " All resources associated with surface which were allocated by EGL are marked for deletion as soon as possible. If surface is current to any thread (see section 3.7.3), resources are not actually released while the surface remains current. Future references to surface remain valid only so long as it is current; it will be destroyed, and all future references to it will become invalid, as soon as any otherwise valid eglMakeCurrent call is made from the thread it is bound to." Review URL: http://codereview.appspot.com/4449064 git-svn-id: https://angleproject.googlecode.com/svn/trunk@632 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org 06d7a755 2011-04-30T01:02:52 Move attrib-list handling into Display Move the handling of attrib-lists in eglCreatePbufferSurface and eglCreateWindowList into methods in Display, so we can keep libEGL.cpp as a thin layer. BUG= TEST= Review URL: http://codereview.appspot.com/4453051 git-svn-id: https://angleproject.googlecode.com/svn/trunk@628 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a114c273 2011-04-22T04:18:50 Advertise depthbuffer-less surface configs. TRAC #16493 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@617 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org ae345807 2011-03-30T22:04:25 Add support for eglBindTexImage and eglReleaseTexImage With this patch we can bind pbuffers as textures. Once we add support for using a sharing handle to create a pbuffer we can use this to allow us to use it as a texture as well. BUG=129 TEST=modified Simple_Texture2D works Review URL: http://codereview.appspot.com/4291066/ git-svn-id: https://angleproject.googlecode.com/svn/trunk@604 736b8ea6-26fd-11df-bfd4-992fa37f6226
vladimirv@gmail.com 721b7f26 2011-02-11T00:54:47 Issue=91 -- implement pbuffers in ANGLE; add D3D share handle support git-svn-id: https://angleproject.googlecode.com/svn/trunk@558 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 9e83b593 2011-02-10T22:04:34 Check for device lost with CheckDeviceState when using D3D9Ex. According to the docs, TestCooperativeLevel is a no-op with D3D9Ex. http://msdn.microsoft.com/en-us/library/bb174348(VS.85).aspx I believe it is safe to ignore the additional return values from CheckDeviceState. Some appear to be to allow optimization when a window is occluded. The new errors seem to be best treated as device lost as we were before. Although if the device is removed (!) I'm not sure what to do. It might also be useful to communicate D3DERR_DEVICEHUNG to Chromium in the future so it can use it as a hint to back off. Tested that D3D9 and D3D9Ex take the appropriate paths through Display::isDeviceLost. Bug: http://code.google.com/p/angleproject/issues/detail?id=113 Review URL: http://codereview.appspot.com/4154042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@557 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 0f4cefe9 2011-01-26T19:30:57 Map D3D calls and HLSL shaders back to GLES2 calls and GLSL ES shaders in PIX. This makes debugging and profiling using PIX a lot more convenient. The top level of events are the GLES calls with their arguments. Those can be expanded to see the D3D calls that were issued for a particular GLES call. When PIX is attached, the shaders are saved out to temporary files and referenced from the translated HLSL shaders via #line directives. This enabled source level debugging of the original GLSL from PIX for pixel and vertex shaders. The HLSL is also saved to a temporary file so that intrinsic functions like texture2D can be stepped into. It also avoids creating a text file in the current working directory, which has continued to be an issue. I made the dependency on d3d9.dll static again so it can be accessed by GetModuleHandle witihin DllMain. I added an EVENT macro that issues D3DPERF_BeginEvent and D3DPERF_EndEvent around a C++ block. I replaced TRACE with EVENT for all the entry points. I removed the tracing of shader source since the source is visible in PIX. The means by which the filename of the temporary shader file is passed into the shader compiler is a little clunky. I did it that way to avoid changing the function signatures and breaking folks using the translator. I plan to make the compiler respect #pragma optimize so that optimization can be disabled for debugging purposes. For now it just disables shader optimization in debug builds of ANGLE. Review URL: http://codereview.appspot.com/3945043 git-svn-id: https://angleproject.googlecode.com/svn/trunk@541 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com a0ce7e61 2011-01-25T14:47:16 Added version info resources. TRAC #15181 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@539 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org b31f532d 2011-01-19T19:02:52 All surfaces follow D3D Y convention, i.e. (0, 0) is "top-left" rather than GL's "bottom-left". This eliminates the need to flip the default FBO to the D3D convention using additional blits when presenting and reduces VRAM usage for redundant window sized surfaces. I took out the gl_Position.y flip from the vertex shader so FBOs are rendered according to D3D conventions. Texture lookups are flipped on Y to compensate. Cube map +Y and -Y faces are swapped. Y is now flipped in various other places, including uploading and reading back texture data from / to system memory, functions that take pixel space coordinates, winding order for culling, the implementation of ddy, the calculation of gl_Position and gl_FragCoord in fragment shaders and the flipping of compressed texture tiles. Review URL: http://codereview.appspot.com/3265041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@536 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org f759f7a4 2011-01-13T21:42:53 Review: http://codereview.appspot.com/3969041/ Fixed dangling pointers in Surface. When the surface is reset, either because of device lost or a window resize, and any of these fail: CreateDepthStencilSurface CreateTexture Some subsset of mSwapChain and/or mDepthStencil would be left uninitialized. This seemed to happen frequently on WIndows XP boxes. Example crash dumps: Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @ 0xffffffff800f0004 ) 0x014f1aac [libegl.dll - surface.cpp:479] egl::Surface::getDepthStencil() 0x1001324c [libglesv2.dll - context.cpp:301] gl::Context::makeCurrent(egl::Display *,egl::Surface *) 0x10018c7e [libglesv2.dll - main.cpp:85] gl::makeCurrent(gl::Context *,egl::Display *,egl::Surface *) 0x10017366 [libglesv2.dll - context.cpp:3524] glMakeCurrent 0x014f607c [libegl.dll - libegl.cpp:884] eglMakeCurrent Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @ 0xffffffffe95b5a5d ) 0x01131a14 [libegl.dll - surface.cpp:433] egl::Surface::swap() 0x01136310 [libegl.dll - libegl.cpp:1043] eglSwapBuffers 0x0214ac64 [chrome.dll - gl_context_egl.cc:240] gfx::NativeViewEGLContext::SwapBuffers() git-svn-id: https://angleproject.googlecode.com/svn/trunk@531 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ee04e455 2011-01-08T05:46:27 Create dynamic buffers in the default pool. TRAC #14889 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@529 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 37b141e2 2011-01-08T05:46:13 Create buffers in the managed pool on Windows XP. TRAC #14888 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@527 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 83921386 2011-01-08T05:46:00 rewrite buffers implementation to support static buffers more efficiently Bug=89 Trac #13565 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@526 736b8ea6-26fd-11df-bfd4-992fa37f6226
baustin@google.com d2fed1c7 2011-01-06T21:51:20 Fixed compile errors that show up when _UNICODE is not defined. Review URL: http://codereview.appspot.com/3772045 git-svn-id: https://angleproject.googlecode.com/svn/trunk@525 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 7595a122 2010-12-12T08:53:27 Fix infinite loop in eglCreateWindowSurface Issue=90 Contributed by vladimirv git-svn-id: https://angleproject.googlecode.com/svn/trunk@503 736b8ea6-26fd-11df-bfd4-992fa37f6226
nduca@chromium.org db9cac07 2010-12-09T20:16:17 Don't unsubclass the surface's output window if the window has been destroyed. Review URL: http://codereview.appspot.com/3357041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@499 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com beb2a273 2010-11-26T16:26:16 Render directly to a render target texture. TRAC #14506 This speeds up surface swapping by avoiding an unnecessary StretchRect from a render target surface to a render target texture (anti-aliased surfaces are unsupported so no resolve is needed). Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@493 736b8ea6-26fd-11df-bfd4-992fa37f6226
nduca@chromium.org a6e31e58 2010-11-18T00:24:27 Resize surface on receipt of WM_SIZE to avoid corruption during resize. We hook WM_SIZE using window subclassing. This is a continuation of http://codereview.appspot.com/3038042/ Review URL: http://codereview.appspot.com/3122041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@486 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
apatrick@chromium.org 24e39699 2010-11-01T21:19:43 Fixed null dereference when null passed as attribute list to eglCreateContext. I tested that the samples still work and that they fail as expected, but do not crash, if the attribute list argument is null. Review URL: http://codereview.appspot.com/2725042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@471 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 78477fc0 2010-10-27T17:57:14 eglCreateContext checks client version is 2. I believe we don't support version 1 since we are missing things like the fixed function pipeline. This is motivated by consistency with other EGL implementations, which return a v1 context if the EGL_CONTEXT_CLIENT_VERSION attribute is not specified. Review URL: http://codereview.appspot.com/2760041 git-svn-id: https://angleproject.googlecode.com/svn/trunk@468 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 73a5db67 2010-10-15T17:58:13 Initialize renderbuffer variables. Make serials constant. Removed X1R5G5B5 support. TRAC #13792 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@460 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ed828e5b 2010-10-15T17:57:30 Detect L8 and A8L8 texture support. TRAC #13792 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@455 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 1c76801e 2010-10-07T00:35:24 - Check for D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES capability during initialization to fail on DirectX8 drivers. - Fail in GetDeviceCaps loop after one second. Review URL: http://codereview.appspot.com/2354042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@446 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e979ead8 2010-09-23T18:03:14 Restore line endings Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@438 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 36af61c5 2010-09-22T17:14:02 Reset a lost device before releasing it TRAC #13622 This prevents the driver from getting stuck in an undefined state and returning errors when trying to create a new device or querying capabilities. Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@436 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 677a1517 2010-09-22T17:13:59 Empty the surface and context sets on terminate TRAC #13623 This prevents a crash when the application calls eglTerminate multiple times without destroying the contexts or surfaces. Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@435 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 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
daniel@transgaming.com 1297d92b 2010-09-01T15:47:47 Implements support for renderable floating point textures. TRAC #12909 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@409 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 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
daniel@transgaming.com 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
apatrick@chromium.org 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
daniel@transgaming.com 0a337e93 2010-08-28T17:38:27 Implement support for floating point textures. Trac #12909 Implements GL_OES_texture_float, GL_OES_texture_half_float, GL_OES_texture_float_linear, and GL_OES_texture_half_float_linear when supported by the hardware. Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Shannon Woods <shannon.woods@transgaming.com> git-svn-id: https://angleproject.googlecode.com/svn/trunk@404 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 01868135 2010-08-24T19:21:17 Implements compressed textures. TRAC #12714 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@397 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 1f135d86 2010-08-24T19:20:36 Implements glRenderbufferMultisampleStorage TRAC #12714 Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@390 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 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
apatrick@chromium.org 94e1934d 2010-08-17T22:19:58 Fixed crash on context lost. This fixes the crash on lost context for vista and windows 7 if suitable drivers are available. It now uses D3D9Ex when available and this only reports lost contexts for hardware failures and suchlike. Testing procedure was: - run simple_vertex_shader without this change. - ctrl+alt+del to lock machine. - return to desktop. - observe that simple_vertex_shader crashes. - repeat with this change and check that simple_vertex_shader is still animating. - simulate the code path that an XP machine would take using the debugger and check that old behavior is preserved. I decided to load D3D9.DLL at runtime for a couple of reasons. First, I didn't want to assume that older implementations of D3D9 would have the Direct3DCreate9Ex entry point. Second, it might be advantageous for some applications to not have a load time dependency on D3D9. I didn't address this for D3DX9 because it's a little harder - there's no clear way to determine which D3DX9_x.DLL library to open. At least D3DX9_x.DLL does not seem to import D3D9.DLL and D3DX is separately redistributable so there is still some advantage to be had. Review URL: http://codereview.appspot.com/1951044 git-svn-id: https://angleproject.googlecode.com/svn/trunk@384 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 6ad6ce8d 2010-08-12T00:16:16 Fixed Display::initialize so it does not crash for devices that do not support PS 2.0. The crash occurs when createDevice attempts to dereference mD3d9, which is NULL. Review URL: http://codereview.appspot.com/1956042 git-svn-id: https://angleproject.googlecode.com/svn/trunk@382 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 37fa3c8e 2010-07-28T19:21:21 Removes Windows-style line endings from Display.cpp TRAC #12714 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@366 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 0d25b005 2010-07-28T19:21:07 Create shared contexts. TRAC #12498 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@363 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com be5a0867 2010-07-28T19:20:37 Implement gl_PointCoord on SM3 hardware TRAC #11594 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@355 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com b75e523a 2010-07-28T19:13:47 Use TestCooperativeLevel instead of ValidateDevice to check for device loss. TRAC #12547 ValidateDevice checks for correct rendering state as well, which we don't need. Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@354 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 353569a9 2010-06-24T13:02:12 Eliminates redundant calls to GetDeviceCaps TRAC #12283 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@339 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 7d3849bd 2010-06-08T16:07:55 Fix build when a project patch contains spaces Trac #11553 With improvements so it works in release mode and on Win7 as well. Original-Author: Jim Hauxwell git-svn-id: https://angleproject.googlecode.com/svn/trunk@334 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e37888d1 2010-05-27T16:45:46 Add support for various egl Get methods Trac #12375 This patch stores the current READ/DRAW and display in the context and allows these eglGets to work. Original-Author: Jim Hauxwell <james@dattrax.co.uk> Signed-off-by: Nicolas Capens Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@321 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 5ac5dd25 2010-05-27T15:02:27 Correct the eglMakeCurrent return value on lost context (syntax) TRAC #11233 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@320 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 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
daniel@transgaming.com 8b9f4cc8 2010-05-20T19:17:35 Fix FORCE_REF_RAST definition TRAC #12343 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@307 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 741a588e 2010-05-20T19:17:29 Add defines to enable the reference rasterizer TRAC #12343 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@306 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 178adff7 2010-05-18T18:52:04 Give sorted configs a unique ID without changing the original set TRAC #12323 This fixes building on Visual C++ 2010, which has const iterators for STL sets as specified by C++0x. Signed-off-by: Shannon Woods Singed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@302 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 15a4d2ef 2010-05-18T18:51:34 Explicitly set optimizations to /O2 in Release build TRAC #12287 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@297 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 5a722c7f 2010-05-18T18:51:26 Disable checked STL iterators in Release build TRAC #12287 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@296 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e7273f4e 2010-05-18T18:51:17 Inline any suitable function in Release build TRAC #12287 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@295 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 6a94b97d 2010-05-13T02:02:34 eglChooseConfig must return filtered size when configs is NULL. TRAC #12234 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@275 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 2c42c6c3 2010-05-12T16:51:11 eglInitialize must not update major and minor if they are NULL. TRAC #12235 Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@269 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 73248ecc 2010-05-12T03:40:40 Mark configs with a format different from the display mode as conformant TRAC #12197 EGL_NON_CONFORMANT_CONFIG is not a flag, and these configs do pass conformance on all tested devices. Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@262 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 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
daniel@transgaming.com d091b198 2010-05-07T19:01:47 Mark configs with a format different from the display mode as non-conformant TRAC #12197 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@251 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com d1f6fdeb 2010-05-07T19:01:43 Don't enumerate configs for depth/stencil formats not supported by any hardware TRAC #12197 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@250 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com adf02846 2010-05-07T13:03:33 Clarify config enumeration TRAC #12170 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@247 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com b9ab9a29 2010-05-05T18:48:40 Output final .lib and .dll files to the top-level lib/ folder Trac #11499 Signed-off-by: Andrew Lewycky Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@236 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 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
daniel@transgaming.com c9def0b6 2010-05-05T18:48:06 Reset mSceneStarted on Reset TRAC #12139 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@233 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com c28e76be 2010-05-05T18:47:16 Fix config depth bits and centralize device type control TRAC #12120 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@230 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com ce3d0f2f 2010-05-04T03:35:14 Implemented eglGetProcAddress TRAC #12102 Signed-off-by: Andrew Lewycky Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@223 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e6842296 2010-04-20T18:52:50 Fix more relative #include paths (mostly header files) Trac #11408 Signed-off-by: Andrew Lewycky Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@171 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com e8c0ca29 2010-04-20T18:52:47 Don't advertise 10, 10, 10, 2 RGBA format TRAC #11610 The color_ramp conformance test renders each colour and reads it back to verify it, but it uses ReadPixels with UNSIGNED_BYTE with does not have enough precision. Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@170 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 3e7c8033 2010-04-20T18:52:35 Remove usage of relative paths for #include search path Trac #11408 Signed-off-by: Andrew Lewycky Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@166 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 02bc1594 2010-03-30T03:36:13 Support software vertex processing TRAC #11632 Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@84 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com b994e3bd 2010-03-26T04:08:50 fix warning from "normalized" cast TRAC #11556 * Restore warning C4800. * Compare GLboolean normalized against GL_TRUE per the spec. Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@73 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com f64dd04c 2010-03-24T09:44:00 Fix warning from "normalized" cast. TRAC #11556 Disable warning C4800 as it does not indicate defects in the code, just the compiler. Signed-off-by: Shannon Woods Signed-off-by: Daniel Koch Author: Andrew Lewycky git-svn-id: https://angleproject.googlecode.com/svn/trunk@64 736b8ea6-26fd-11df-bfd4-992fa37f6226
alokp@chromium.org 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
daniel@transgaming.com b5b06160 2010-03-21T04:31:32 Refactor the parenthesis from the TRACE/FIXME/ERR macros Trac #11526 Signed-off-by: Shannon Woods Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@60 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 14c4631c 2010-03-17T13:13:30 Fix include paths in libEGL.vcproj Trac #11406 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@46 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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