src/libEGL/libEGL.cpp


Log

Author Commit Date CI Message
shannonwoods@chromium.org 6e4f2a6b 2013-05-30T00:15:19 Add adapter LUID to EGL vendor string. This is so Chrome can create another D3D device on the same adapter that can share resources with ANGLE's D3D device. Review URL: https://codereview.appspot.com/9225046 SVN URL: https://code.google.com/p/angleproject/source/detail?r=2210 TRAC #23166 Signed-off-by: Shannon Woods Signed-off-by: Geoff Lang Merged-by: Jamie Madill Author: apatrick@chromium.org git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2367 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods%transgaming.com@gtempaccount.com 2104d93a 2013-04-13T03:38:46 Only support ES3 contexts on Shader Model 4+ hardware. TRAC #22854 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2126 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods%transgaming.com@gtempaccount.com daea4b45 2013-04-13T03:28:54 eglCreateContext passes the client version to the context. gl::Context stores the client version to validate gl function parameters. TRAC #22694 Signed-off-by: Jamie Madill Signed-off-by: Shannon Woods Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2067 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com d438fd49 2013-02-28T23:17:45 Use ArraySize to determine size of static arrays. TRAC #22558 Signed-off-by: Nicolas Capens Signed-off-by: Shannon Woods Author: Geoff Lang git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1943 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com 486d9e9b 2013-02-28T23:15:41 Remove a lot of unnecessary include files and break include chains. This should speed up incremental compile times when modifying headers, by reducing the number of dependencies. TRAC #22518 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1937 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com d2811d68 2013-02-28T23:11:19 Break some of the include chains that cause unneeded dependencies between headers. TRAC #22499 Signed-off-by: Geoff Lang Signed-off-by: Nicolas Capens Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1904 736b8ea6-26fd-11df-bfd4-992fa37f6226
shannon.woods@transgaming.com 779aa261 2013-02-28T23:04:58 Enclose error(GLint) and error(EGLint) into gl and egl namespaces. This should generate a compile time error if we try to call the wrong function. TRAC #22411 Signed-off-by: Geoff Lang Signed-off-by: Shannon Woods Author: Jamie Madill git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1856 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com cfa8efdf 2012-11-28T19:30:55 Moved declarations of EGL dependencies to main.h. TRAC #21925 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1397 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 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
daniel@transgaming.com 3c72078a 2012-10-31T18:42:34 Add renderer::SwapChain class and move functionality from egl::Surface Trac #21810 Signed-off-by: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1351 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com f688c0d1 2012-10-31T17:52:57 Make testDeviceLoss able to perform the notifications Trac #21727 git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1332 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 621ce053 2012-10-31T17:52:29 Add Renderer class and move functionality from Display Trac #21727 Conflicts: src/libGLESv2/Texture.cpp src/libGLESv2/libGLESv2.vcxproj git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1329 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 1825d8e5 2012-08-27T16:25:29 Fixed preprocessors errors on GCC - Preprocessor variables need to be separated from string constants to be separated token - Use ##__VA_ARGS__ GCC extension to support empry __VA_ARGS__ (should be no-op on MSVC). See: http://www.delorie.com/gnu/docs/gcc/gcc_44.html for details. The following series fixes compilation on GCC (from mingw-w64) and allows cross compiling the source on Linux. It was tested in Mozilla tree since ANGLE has no support for GCC in its build system. Issue=358 Signed-off-by: Daniel Koch git-svn-id: https://angleproject.googlecode.com/svn/trunk@1259 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 6409edb0 2012-06-25T14:57:18 Fix line-endings in libEGL.cpp git-svn-id: https://angleproject.googlecode.com/svn/trunk@1165 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org 9616e583 2012-06-22T18:27:01 Merge no-flip-rows r1142 to trunk. Review URL: https://codereview.appspot.com/6304052 git-svn-id: https://angleproject.googlecode.com/svn/trunk@1162 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org a1d8059d 2012-01-25T21:52:10 Increase MSVC warning level to 4. There are some exceptions, a subset of the exceptions used by Chromium. They didn't seem to be useful warnings. In code which we don't change much, like the preprocessor, I just suppressed the warnings in the specific files rather than changing the code. There should be no functional changes in this patch. Review URL: https://codereview.appspot.com/5570066 git-svn-id: https://angleproject.googlecode.com/svn/trunk@964 736b8ea6-26fd-11df-bfd4-992fa37f6226
apatrick@chromium.org f4490e22 2011-12-06T02:05:22 Implemented EGL_NV_post_sub_buffer. The change to the sample is just to demonstrate how I tested it. I won't check in the stuff under samples/. It's not clear to me what eglPostSubBufferNV should do if EGL_POST_SUB_BUFFER_SUPPORTED_NV is false. At the moment it fails silently as though it was called on the wrong surface type: "If <surface> is a back-buffered surface, then the requested portion of the color buffer is copied to the native window associated with that surface. If <surface> is a single-buffered window, pixmap, or pbuffer surface, eglSwapBuffers and eglPostSubBufferNV have no effect." Review URL: http://codereview.appspot.com/5345050 git-svn-id: https://angleproject.googlecode.com/svn/trunk@902 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 64a0fb2a 2011-11-11T04:10:40 Implemented glTexStorage2DEXT. TRAC #18730 Signed-off-by: Daniel Koch Author: Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@857 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com cf23c45f 2011-11-09T17:47:26 Disable automatic device resets when using reset notification. TRAC #18607 Signed-off-by: Daniel Koch Authors: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@849 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 4ff960d9 2011-11-09T17:47:09 Implemented context creation with reset notification. TRAC #18607 Signed-off-by: Daniel Koch Authors: Shannon Woods, Nicolas Capens git-svn-id: https://angleproject.googlecode.com/svn/trunk@848 736b8ea6-26fd-11df-bfd4-992fa37f6226
daniel@transgaming.com 09fcc9fe 2011-11-09T17:46:47 Notify the display of a lost device and mark all contexts lost. TRAC #18606 Signed-off-by: Daniel Koch Author: Shannon Woods git-svn-id: https://angleproject.googlecode.com/svn/trunk@845 736b8ea6-26fd-11df-bfd4-992fa37f6226
jbauman@chromium.org 84d7cbc3 2011-07-14T22:53:19 Add extension to create software device. Add an extension so that users can receive a device that renders in software. Currently this is done by loading a swiftshader dll. BUG= TEST= Review URL: http://codereview.appspot.com/4631093 git-svn-id: https://angleproject.googlecode.com/svn/trunk@705 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
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
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
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
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
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
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
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 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 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 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 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 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 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 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
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 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