kc3-lang/angle/src/libANGLE/renderer

Branch :


Log

Author Commit Date CI Message
3cd0ca3c 2015-05-15 15:05:18 Completely isolate GLX in FunctionsGLX This makes it so it is the only file including glx.h. BUG=angleproject:892 Change-Id: I5c45b659ec102b7a2c92e010a6843fa21b7c664b Reviewed-on: https://chromium-review.googlesource.com/271418 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
08a5fedd 2015-05-19 15:58:00 In D3D11, return 0 if not conformant, rather than GL_NONE Change-Id: Ica6484d1b5960f162ad88648ff9b2b9b96710930 Reviewed-on: https://chromium-review.googlesource.com/272166 Tested-by: Austin Kinross <aukinros@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
3f65f2e9 2015-05-14 16:46:20 Combine D3D11 FL10_0+ and FL9_3 format support tables BUG=angleproject:1002 Change-Id: I4305db01c0ca40fd0ccf0dd441744b6184d5e945 Reviewed-on: https://chromium-review.googlesource.com/270770 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
0ab152ab 2015-05-14 16:30:31 Combine D3D11 FL10_0+ and FL9_3 LoadFunctionMaps BUG=angleproject:1002 A 'LoadFunction' is used to load data of a given <GL format, GL type> pair into a specific DXGI_FORMAT. Before this change, BuildD3D11LoadFunctionMap mapped <GL format, GL type> pairs to LoadFunctions. This meant each <GL format, GL type> pair could only loaded using one LoadFunction, and therefore could only be loaded into one specific DXGI_FORMAT. We now want to map <GL format, GL type, DXGI_FORMAT> triples to LoadFunctions. This allows us to use different DXGI_FORMATS for each <GL format, GL type> pair, depending on the capabilities of the underlying D3D11 device. Change-Id: I3b5e24c4bf98f18360ddd45b2022a90b5000f866 Reviewed-on: https://chromium-review.googlesource.com/270561 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
9ce754eb 2015-05-15 13:22:40 DisplayGLX: rework the GLXFBConfig selection This allows us to return multiple EGL configs, in particular we can have configs with no depth-stencil buffer. Also includes a description of the investigation I did for this patch. BUG=angleproject:892 Change-Id: I921e254e91e818396dd4c9bd0ee2a43b00a043b9 Reviewed-on: https://chromium-review.googlesource.com/271426 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
fb074dd8 2015-05-19 12:34:35 Revert "Clear image descs on Impl errors." Didn't fix the crash, and the crash experiment is complete. BUG=485543 This reverts commit 9674850737bd3e7f44fdc9d1ddc42fffd76f2997. Change-Id: If7d97901b87506bf306ab5558575d0413c76cb68 Reviewed-on: https://chromium-review.googlesource.com/272150 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
8befcff5 2015-05-15 13:21:10 WindowSurfaceGLX: set the border pixel attribute This is so we can use a different visual depth than our parent window so that we can create a subwindow whichever the parent's visual. BUG=angleproject:892 Change-Id: I9bab676761b1f80fad1599adb8e97a3ec710f67f Reviewed-on: https://chromium-review.googlesource.com/271425 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
d176dbd7 2015-05-07 16:25:51 Enable postSubBuffer on D3D11 with DXGI 1.2. BUG=147291 Change-Id: Iafddb83b4949168f1c59272a99ae0244d86ce3f9 Reviewed-on: https://chromium-review.googlesource.com/270572 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Sunny Sachanandani <sunnyps@chromium.org>
9c0a4218 2015-05-15 17:24:47 Revert "Call XSync in the GLX EGL impl if we have a new X server connection" broke linux builders This reverts commit cedb8ca27f97d3101a22f586671a4668bf09bbec. Change-Id: I57143ec207b454bce7498a4d33f6d54464b55ab8 Reviewed-on: https://chromium-review.googlesource.com/271424 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org>
cedb8ca2 2015-05-14 13:28:42 Call XSync in the GLX EGL impl if we have a new X server connection This prevents races between the application's connection and ANGLE's one that could lead to X errors crashing the program. BUG=angleproject:892 Change-Id: Ic09462e76724d1a32c35b32708de97258d99241c Reviewed-on: https://chromium-review.googlesource.com/271178 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
96748507 2015-05-11 10:06:12 Clear image descs on Impl errors. This is a speculative fix for a possible crash, when we could get out-of-sync between the Impl and the GL state. BUG=485543 Change-Id: Id26475f1aae7da05b5ffd802c4a7600e21b40315 Reviewed-on: https://chromium-review.googlesource.com/270194 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
14e95b38 2015-05-07 10:10:41 translator: Reject shaders that use both FragColor+FragData. *re-land with fix for unused var in release* We checked this at link time in the D3D back-end, but this restriction applies to all shaders. TEST=dEQP-GLES2.functional.shaders.fragdata.* BUG=angleproject:995 BUG=478572 Change-Id: I63258f4de47e658812822f31601cc235f48c0826 Reviewed-on: https://chromium-review.googlesource.com/271470 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
531e3d22 2015-05-15 11:01:27 Revert "translator: Reject shaders that use both FragColor+FragData." The change introduced a warning in Windows release build. This reverts commit b8e3a568bbd16fca1099a1b54cd82a981cd88a8e. Change-Id: I77bbc35876043c9a164aa2665965f5189ee90052 Reviewed-on: https://chromium-review.googlesource.com/271430 Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Olli Etuaho <oetuaho@nvidia.com>
d64a38b3 2015-05-14 13:03:31 FunctionsGLX: add support for glXWaitX/GL The functions are not used in the code but are useful during development to try to see where race condition with the X server are. BUG=angleproject:892 Change-Id: Ie1267e46ac251bd9ac62e2a146db68ad84644fb8 Reviewed-on: https://chromium-review.googlesource.com/271177 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
582173d9 2015-05-13 15:51:28 FunctionsGLX: make most functions take the display implicitly In later CLs FunctionsGLX will need to store the X display so we take advantage of it to reduce the verbosity of the other GLX files slightly. BUG=angleproject:892 Change-Id: I42ea00d0a37055e5e0752a860978b8ef5afb7a0b Reviewed-on: https://chromium-review.googlesource.com/271163 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
b8e3a568 2015-05-07 10:10:41 translator: Reject shaders that use both FragColor+FragData. We checked this at link time in the D3D back-end, but this restriction applies to all shaders. TEST=dEQP-GLES2.functional.shaders.fragdata.* BUG=angleproject:995 BUG=478572 Change-Id: I99111cc6aa05b9352693f9c3b5bc70d56c9842d4 Reviewed-on: https://chromium-review.googlesource.com/269846 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
558d5eb4 2015-05-14 11:49:13 Use a sparse histogram for D3D11CreateDevice errors. This avoid us needing to capture an enum value for every possible error code. Leave the existing enum values in for now. BUG=477701 Change-Id: Iccaa4d9b732fe4d56432e17578421cba11bcf9ce Reviewed-on: https://chromium-review.googlesource.com/271159 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
72537ef1 2015-05-14 10:16:08 Add collection of D3D11 and DXGI stats. Will require a chromium-side patch to enable boolean histograms. BUG=angleproject:966 BUG=436191 Change-Id: I3026c73894fbbff521503b377955816a8e831df8 Reviewed-on: https://chromium-review.googlesource.com/271174 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
e897cecf 2015-05-14 15:50:41 Revert "Add more D3D11 init errors to stats collection." Going to rework this in favor of a sparse histogram. BUG=477701 This reverts commit c5146c762a5c4fa3df522593f4084767b3d71583. Change-Id: I88ba7b461a1de04324a6ebe164037ea9081f2239 Reviewed-on: https://chromium-review.googlesource.com/271155 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
ba8a0bf8 2015-05-13 09:48:59 Add plumbing for D3D11 device caps BUG=angleproject:1002 Change-Id: Id24783c75377ea92a73a43f2605693e07f63dc15 Reviewed-on: https://chromium-review.googlesource.com/270545 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
c5146c76 2015-05-12 11:00:47 Add more D3D11 init errors to stats collection. We ran into the UNSUPPORTED value when looking at D3D11 on a VM. It's quite possible that systems which don't support D3D11 return this value when initialization fails. Also add a few more severe errors such as device removed. BUG=477701 Change-Id: I2ebbfff5f7eed6fe3939dea86b25845a748caedc Reviewed-on: https://chromium-review.googlesource.com/270346 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
6cd03cf9 2015-05-12 19:28:10 Revert "Create a child window in SurfaceD3D when needed." Reverting until chromium sandbox issues are resolved. This reverts commit b7f1a8b0ab3489a7463749e7fc088187bfafbd35. BUG=484963 BUG=angleproject:961 Change-Id: I4b030329a322d0a96a18e6ae875d500c5f755ddd Reviewed-on: https://chromium-review.googlesource.com/270490 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
0d3afab8 2015-05-11 14:53:13 Implement Pbuffers for the GLX EGL implementation BUG=angleproject:892 Change-Id: I32b9bbb35d99621f16a055fb544ec0691dfcd5a0 Reviewed-on: https://chromium-review.googlesource.com/270261 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
4298123b 2015-05-11 14:13:35 DisplayGLX: handle EGL_DEFAULT_DISPLAY for ANGLE_platform_angle BUG=angleproject:892 Change-Id: I681e2b92ac2e8b853c7d1271a5518c4b77a67929 Reviewed-on: https://chromium-review.googlesource.com/270260 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
eac64633 2015-05-06 13:14:24 Add a basic GLX EGL implementation BUG=angleproject:892 Change-Id: Ife9955a457d4a6fb3adce17757ccb0de7d0dd274 Reviewed-on: https://chromium-review.googlesource.com/269413 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
f229cb9b 2015-05-08 15:53:39 Add a FunctionsGLX class to dynamically load the GLX entry points BUG=angleproject:892 Change-Id: I516b7d859100cb065871de8e328585a9ca817499 Reviewed-on: https://chromium-review.googlesource.com/270123 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
eaa759c4 2015-04-02 13:02:53 Remove Texture serials and Texture::INCOMPLETE_TEXTURE_ID. Texture serials were not used in any place that pointers could not be used and Texture::INCOMPLETE_TEXTURE_ID was only referenced by RendererD3D. This was the last place that serials are used in the gl layer. BUG=angleproject:681 Change-Id: Iad24321fba57db8ade3c9eb8f04cc20e98ded1b0 Reviewed-on: https://chromium-review.googlesource.com/263659 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
c2520564 2015-04-29 11:42:33 Move unsupported depth stencil check to FramebufferD3D. BUG=angleproject:885 Change-Id: I0abc674e365d2b5b65d23e2abf741a02a1146cdd Reviewed-on: https://chromium-review.googlesource.com/268311 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
f51bc795 2015-05-04 14:57:03 Optimize Texture binding by only applying referenced textures. Update ProgramGL to track which the current values of sampler uniforms so that only the currently applied texture units have to be bound for the draw call. BUG=angleproject:882 Change-Id: I280aa106172b13a5fbb31cdefba27b6691c0a0e4 Reviewed-on: https://chromium-review.googlesource.com/264803 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
9477dc94 2015-05-06 13:13:33 Add GLX EGL implementation stubs BUG=angleproject:892 Change-Id: I1ef1bd0ce60f4585e473f9750c748a1b41c09da2 Reviewed-on: https://chromium-review.googlesource.com/269741 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
0ca53786 2015-05-07 13:49:39 Fix issues with ProgramGL. * Don't re-create the native GL program every link, some program state should persist between re-linking such as bound attribute locations. * Forward glBindAttribLocation calls to the ProgramImpl, fixes some chromium rendering issues because chromium always binds attribute locations, sometimes with gaps. * Query the real attrib location before inserting it into the list of attribs. It was unsafe to rely on the attrib having the same location as its index into the active attributes. BUG=angleproject:882 Change-Id: If14b4c4c2f5ebcdaa4f7c5a890b9519d6d4e6e43 Reviewed-on: https://chromium-review.googlesource.com/269991 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
98e7d071 2015-05-07 12:35:47 Use a D3D11 renderer by default, when available. Also update SampleApplication to request the default renderer instead of explicitely asking for d3d11 BUG=angleproject:892 Change-Id: I70c431b3c1ba78c3ce7844d7f276cc19ac17d7f5 Reviewed-on: https://chromium-review.googlesource.com/269999 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
0e201cb7 2015-05-04 15:02:57 Load the blit framebuffer extension entry points. Change-Id: I654f944aea25661d3fb1e2381b93780771300f32 Reviewed-on: https://chromium-review.googlesource.com/269144 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
f611316b 2015-05-07 11:49:21 Use stream operators for appending to InfoLog. Also add a helper class to keep the previous behaviour of automatically appending a newline after every new message. BUG=angleproject:992 Change-Id: I0ff5d2846175cf19de7a6af295af24a92451456f Reviewed-on: https://chromium-review.googlesource.com/268744 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
27464aa9 2015-05-01 11:07:46 Sync the generic vertex attribute data. BUG=angleproject:883 Change-Id: If5616bf24c1ac5477ae80cf1d25efa70b62edea1 Reviewed-on: https://chromium-review.googlesource.com/268750 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
1eb708e1 2015-05-04 14:58:23 Clear cached state when deleting GL objects. Change-Id: I84eac9b3796858e5e19e26851ad83baa1f9b6af2 Reviewed-on: https://chromium-review.googlesource.com/269142 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
716cc88e 2015-05-04 15:30:15 Always sync writemasks and front face. BUG=angleproject:883 Change-Id: Ie1d544c8f30472238d859d8fd7f553a73b066802 Reviewed-on: https://chromium-review.googlesource.com/269145 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
520c4ae2 2015-05-05 13:12:36 Add a Buffer::getIndexRange function. Instead of exposing the index range cache, add a more generic method that allows the buffers to handle their own caching of index ranges. BufferImpl::getData can be hard to implement for BufferGL because there isn't a way to tell the buffer to unmap and glGetBufferSubData can be very expensive, requiring an extra copy of the data. BUG=angleproject:881 Change-Id: Idec645219056132e0d72a410fbe7b971fa02c9e9 Reviewed-on: https://chromium-review.googlesource.com/261892 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Tested-by: Geoff Lang <geofflang@chromium.org>
831b1953 2015-05-05 11:02:27 Move the IndexRangeCache and Range types to the gl namespace. BUG=angleproject:881 Change-Id: Ib05149facee9fcc7714cb957ca8647b3498a36b6 Reviewed-on: https://chromium-review.googlesource.com/269254 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
94b3a078 2015-05-05 17:00:07 Factor GL extension parsing in renderergl_utils.cpp DisplayGLX will use it for the GLX extensions too. BUG=angleproject:892 Change-Id: I5e4f80776a558fcdcc7e7b83767145112bcfee98 Reviewed-on: https://chromium-review.googlesource.com/269461 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
443e1d9b 2015-05-05 12:57:55 Refactor egl::Surface constructors. We can reduce the code in these classes quite a bit by calling the common code in egl::Display. BUG=angleproject:994 Change-Id: Idf0ffa054fc6a70cf8c65a0b98fd963911715591 Reviewed-on: https://chromium-review.googlesource.com/269258 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
fee03501 2015-05-05 15:08:24 Move comments next to their code block in FunctionsGL BUG=angleproject:892 Change-Id: I7b47e26c81dc91900b17a2062bef0ee10c3290aa Reviewed-on: https://chromium-review.googlesource.com/269209 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
570dae9e 2015-05-05 15:11:08 Remove noop assignment to configId in DisplayWGL It is overwritten by ConfigSet::add. BUG=angleproject:892 Change-Id: I23becb235969c6aeda216014fd06880bd7cc5f67 Reviewed-on: https://chromium-review.googlesource.com/269410 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
b80360f1 2015-05-04 15:01:31 Load the KHR_debug extension entry points and print debug messages. Change-Id: If1b64a7d5cc80205683062586a56fb50da6c1a21 Reviewed-on: https://chromium-review.googlesource.com/269143 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
8cf813c7 2015-05-04 12:55:18 Query attachment render targets from Impl class. *re-land with fix for D3D9* This allows us to eradicate the GetAttachmentRenderTarget methods. This improves potential performance, at the cost of exposing a Renderer-specific function at the API object level. BUG=angleproject:963 Change-Id: Iee9f985ddaed668df0c622228004b348eb4d2ea8 Reviewed-on: https://chromium-review.googlesource.com/269006 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
74e16084 2015-05-04 12:44:30 CompilerGL: Use mOutputType when creating the compiler BUG=angleproject:892 Change-Id: Id6bbc4059f92ff7d8d291583cd30dbd4cd5e9bd3 Reviewed-on: https://chromium-review.googlesource.com/268969 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
a897542f 2015-05-01 11:09:12 vs2015: disable warning in generated code, fix another Macro redefinition is for INT8_MIN, etc. which are generated by flex. VS doesn't define __STDC_VERSION__ as >= C99 because it's still only partial support in VS2015. Fix a float->int conversion narrowing warning. Change-Id: I5232eb23426eaf584218137c068e14d74119a1ef Reviewed-on: https://chromium-review.googlesource.com/268821 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Scott Graham <scottmg@chromium.org>
92d7706d 2015-05-04 12:41:54 Fix tautological compare and && in || warnings in FunctionsGL.cpp Change-Id: Icfbd79e3cbb116da9981daeb42d3657146bf673e Reviewed-on: https://chromium-review.googlesource.com/268968 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
55def583 2015-05-04 11:24:57 translator: Fix variable collection for gl_DepthRange. *re-land with Linux fixes, and fix for locations* This built-in uniform wasn't being collected in VariableInfo.cpp. Also remove the existing workaround for D3D gl_DepthRange collection. BUG=angleproject:991 BUG=478570 Change-Id: Iba84651bfc58f82fd4ce039421874f561f83c348 Reviewed-on: https://chromium-review.googlesource.com/268840 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
931c78cb 2015-05-04 12:45:53 Fix typo intialize -> initialize Change-Id: Ia39fffc6f2782b918b37ab7ae25ee16ecc98e93a Reviewed-on: https://chromium-review.googlesource.com/269120 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
e737b06c 2015-05-04 16:53:56 Revert "Query attachment render targets from Impl class." D3D9 bug is causing failures in the WebGL depth texture test. BUG=angleproject:963 This reverts commit 804e8436f91733e1d0f769ec10082e4741f2e549. Change-Id: I660f05033360e97258794138cb50b604f5ac16b6 Reviewed-on: https://chromium-review.googlesource.com/269005 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
804e8436 2015-04-30 09:42:23 Query attachment render targets from Impl class. This allows us to eradicate the GetAttachmentRenderTarget methods. This improves potential performance, at the cost of exposing a Renderer-specific function at the API object level. BUG=angleproject:963 Change-Id: Ifc227b5f42e87bd4deb451d685618cf61fea39f1 Reviewed-on: https://chromium-review.googlesource.com/263491 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
26e1a466 2015-05-01 19:19:19 Revert "translator: Fix variable collection for gl_DepthRange." Build errors on Linux: error: comparison of integers of different signs: 'const int' and 'const unsigned int' BUG=angleproject:991 BUG=478570 This reverts commit f1ae954b660cb058c40665b623f4d689b65180d4. Change-Id: I217aba1b32dc0e70d6153337a1f0ccef0483a0e1 Reviewed-on: https://chromium-review.googlesource.com/268792 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
f1ae954b 2015-05-01 13:33:57 translator: Fix variable collection for gl_DepthRange. This built-in uniform wasn't being collected in VariableInfo.cpp. Also remove the existing workaround for D3D gl_DepthRange collection. BUG=angleproject:991 BUG=478570 Change-Id: Ie254132e37c307323ba9e6e1705d138eea67b520 Reviewed-on: https://chromium-review.googlesource.com/268524 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
6afcd6dd 2015-04-28 12:39:09 Refactor CreateDevice error checking. Also return a different code for a NULL pointer, vs a failed call. BUG=477701 Change-Id: Ib0584371d51b99760e80ce5481a1e72e1ec673e0 Reviewed-on: https://chromium-review.googlesource.com/267753 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
4d16f6d8 2015-04-30 09:42:21 Replace NULL with nullptr in Framebuffer9/11. BUG=angleproject:963 Change-Id: I1ba418e7540b9c3ac6611aa3e4f0c1ca27557a1a Reviewed-on: https://chromium-review.googlesource.com/267734 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
7d75e2b7 2015-04-30 09:42:18 Simplify message to FBO Impls of attachment changes. We don't need to pass attachment pointers, since they are now value types, and no longer change their address. BUG=angleproject:963 Change-Id: I02cdce0886512cc847930f61c5bfb62fc1d7cd1a Reviewed-on: https://chromium-review.googlesource.com/265938 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
3799c301 2015-04-29 13:06:31 surfaceD3D::swapRect(): always call checkForOutOfDateSwapChain() even if width or height is 0. BUG=angleproject:990 Change-Id: I9fbdd3d341d3f6fa42dfb39950e6b2d3204c4c9b Reviewed-on: https://chromium-review.googlesource.com/267415 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Régis Fénéon <regis.feneon@gmail.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
1377689c 2015-04-28 12:39:06 Cache validate samplers result. This gives ~23% increase in the validation-only draw call perf test. BUG=angleproject:959 Change-Id: I384a5c4fbb1c2cd47483bd7cf4bc1d39447a99bc Reviewed-on: https://chromium-review.googlesource.com/267750 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
3da79b7b 2015-04-27 11:09:17 Reject shaders using attribute aliasing. The current code rejects any shaders that use more than the caps allow, but a bug would crash us before the check. We don't support aliasing in shaders that use a lot of uniforms because this causes problems with the D3D back-end, currently. This changes the crash in the dEQP aliasing tests to a link error. See dEQP-GLES2.functional.attribute_location.bind_aliasing.* BUG=angleproject:901 Change-Id: I6906d3345abe9f89cfa0aa6cec4be26b5b2851d0 Reviewed-on: https://chromium-review.googlesource.com/266928 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
30cb86d8 2015-04-22 10:07:23 Create a child window in SurfaceD3D when needed. BUG=angleproject:961 BUG=angleproject:860 Change-Id: I137d27bafc4d690b159ffef8cc69d6f1c5a05131 Reviewed-on: https://chromium-review.googlesource.com/267681 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
3fe36ebd 2015-04-28 16:44:12 Revert "Create a child window in SurfaceD3D when needed." Causing errors with D3D9, see build: http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/15149 This reverts commit b7f1a8b0ab3489a7463749e7fc088187bfafbd35. Change-Id: I6f1c3fd119f76a298e5b3fb676ddcb208cd1234b Reviewed-on: https://chromium-review.googlesource.com/267673 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
3a12f776 2015-04-28 16:44:59 Revert "Fix compile failure on build systems with UNICODE defined." Earlier patch causing errors on D3D9: http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/15149 This reverts commit acb0a1a6d74100833dbccd49d3eca317b56fd004. Change-Id: I1956c57224ecf1c0caee2c3f624d1a871d171686 Reviewed-on: https://chromium-review.googlesource.com/267674 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
acb0a1a6 2015-04-28 10:39:10 Fix compile failure on build systems with UNICODE defined. BUG=angleproject:961 Change-Id: I32053309a8384a27d1c2a991ddfaa195195f88c8 Reviewed-on: https://chromium-review.googlesource.com/267637 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
d3b84ab5 2015-04-22 10:36:48 Don't subclass windows in SurfaceD3D. The subclassing was not used by chromium and caused problems for users that wanted to use a window owned by another thread as an EGL surface. BUG=angleproject:961 Change-Id: I1d91323c758374de317179874320961385b10ae0 Reviewed-on: https://chromium-review.googlesource.com/266658 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: John Bauman <jbauman@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
b7f1a8b0 2015-04-22 10:07:23 Create a child window in SurfaceD3D when needed. BUG=angleproject:961 Change-Id: I61931961f8cb86b47012edd2bc08d0e1e7a5d0f7 Reviewed-on: https://chromium-review.googlesource.com/266515 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: John Bauman <jbauman@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
5b028d18 2015-04-27 10:43:54 Add a special case for binding to GL_FRAMEBUFFER for state tracking. Binding to GL_FRAMEBUFFER is supposed to set the read and draw framebuffer bindings instead of being a separate binding point. BUG=angleproject:885 Change-Id: Ic6d9056a2f8bfa472587c5ed030c15fcc93574c7 Reviewed-on: https://chromium-review.googlesource.com/267460 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
0d31828f 2015-04-27 15:08:09 Fixed shadowed error variable. BUG=angleproject:886 Change-Id: I4224ba26fef6783d61a56c294da2bdb6596da7bc Reviewed-on: https://chromium-review.googlesource.com/267552 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
2d06b738 2015-04-20 12:53:28 Store value types for FBO attachments. *re-land with fix for Mac* This prevents us from re-allocating FBO attachments every set. This change requires quite a bit of refactoring. BUG=angleproject:963 Change-Id: Ia1f83e3c427d446ddbe16c6703db136942149e91 Reviewed-on: https://chromium-review.googlesource.com/266691 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
b36e9b89 2015-04-27 19:10:48 Revert "D3D11: Filter HRESULT error code properly." Fix is incorrect: See http://crbug.com/477701 This reverts commit 02bce6e559988f2c4a6ec0c8905ed90254467baa. Change-Id: I718d1a7e5d9fef662cee9ba90407a835466c74fc Reviewed-on: https://chromium-review.googlesource.com/267560 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
fa60f690 2015-04-27 18:23:44 Fixed compilation with mingw. Change-Id: Icc40c61b5c6df5a0aed4e175f1724ca55f981625 Reviewed-on: https://chromium-review.googlesource.com/267412 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
d42f5b8c 2015-04-16 14:03:29 Sync the remaining miscellaneous state before drawing in RendererGL. BUG=angleproject:883 Change-Id: Id530f855ab14b6ec575101c9e74c02842c27d3d6 Reviewed-on: https://chromium-review.googlesource.com/266036 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
4b3f4169 2015-04-16 13:22:05 Sync the entire rasterizer state before drawing in RendererGL. BUG=angleproject:883 Change-Id: I721c198f33caa18ec04899d6323faa9dbd4aa100 Reviewed-on: https://chromium-review.googlesource.com/266035 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
b8517346 2015-04-16 12:10:19 Sync the entire depth stencil state before drawing in RendererGL. BUG=angleproject:883 Change-Id: I1d748281184ff8111f8ff1c63f56882650b6871b Reviewed-on: https://chromium-review.googlesource.com/266034 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
0fbb600f 2015-04-16 11:11:53 Sync the entire blend state before drawing in RendererGL. BUG=angleproject:883 Change-Id: I903090c1a7ba90bd479ad8d24f943672eb51054e Reviewed-on: https://chromium-review.googlesource.com/266033 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
752ce192 2015-04-14 11:11:12 D3D11: Use DX generateMips to generate mipmaps whenever possible. BUG=angleproject:974 Change-Id: I95937fe7a0833de77c52f838ebb3ecba55dfbf8a Reviewed-on: https://chromium-review.googlesource.com/265640 Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
aed081ce 2015-04-21 13:55:21 Revert "Store value types for FBO attachments." In file included from ../../third_party/angle/src/libANGLE/Framebuffer.cpp:10: In file included from ../../third_party/angle/src/libANGLE/Framebuffer.h:13: In file included from /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/vector:68: /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_construct.h:81:38: error: call to implicitly-deleted copy constructor of 'gl::FramebufferAttachment' ::new(static_cast<void*>(__p)) _T1(__value); ^ ~~~~~~~ This reverts commit 13773b26dfb29b963ea727e1ebf7bdabdc5892b1. Change-Id: If79f2797fe46798cbe5b39d83c9bcb1a7e87026d Reviewed-on: https://chromium-review.googlesource.com/266643 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
13773b26 2015-04-20 12:53:28 Store value types for FBO attachments. This prevents us from re-allocating FBO attachments every set. This change requires quite a bit of refactoring. BUG=angleproject:963 Change-Id: Iafa4e4a0f3dd66c9e7452e0e96a0cbb9753487bb Reviewed-on: https://chromium-review.googlesource.com/263489 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
b6bda4af 2015-04-20 12:53:26 Make Framebuffer::Data members private. This makes "Data" a proper class, and enforces access control when used in FramebufferImpl. This gives a cleaner refactor when we switch the internals of the class to use value types to store attachments instead of pointer types. BUG=angleproject:963 Change-Id: If825095458eaf9367f616f0bb54084025efb9882 Reviewed-on: https://chromium-review.googlesource.com/265937 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
ad0a486b 2015-04-20 16:32:13 Add D3D11CreateDevice timing histogram. This should give us a bound on how much we can improve startup time in ANGLE on D3D11 across all users. BUG=angleproject:944 BUG=436191 Change-Id: Ie9047c0424429aecec5f6d7be8e119ebcc53fbe3 Reviewed-on: https://chromium-review.googlesource.com/266524 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
d41c649a 2015-04-20 16:32:09 Add histograms helper macros. These macros mimic Chromium's histogram_macros.h, so we can use similar values for our histograms. BUG=angleproject:944 BUG=436191 Change-Id: If77abaf71964d26a6269183e51b68b76bb562085 Reviewed-on: https://chromium-review.googlesource.com/266523 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
b11ad26b 2015-04-09 14:43:34 Implement FenceNVGL. BUG=angleproject:888 Change-Id: Iea6993fe5459cf829f4bd23b0df5e223f22903f5 Reviewed-on: https://chromium-review.googlesource.com/264989 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
7d433ddc 2015-04-02 11:21:20 Implement FenceSyncGL. BUG=angleproject:888 Change-Id: Ie811266ed1cb08d29344fb11cd9afe77f9587cd7 Reviewed-on: https://chromium-review.googlesource.com/263654 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
a4903b70 2015-03-02 16:02:48 Support multisampled framebuffers with the GL backend. Move validation of sample counts into the Renderbuffer implementations because the exact supported sample counts are not always known. BUG=angleoproject:886 Change-Id: I9c90d9d435e940b852343a29a6aa11d6cb1ad23b Reviewed-on: https://chromium-review.googlesource.com/255513 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
02bce6e5 2015-04-20 12:53:25 D3D11: Filter HRESULT error code properly. The Windows helper function HRESULT_CODE masks out some bits that obscure the error code. This could be why we're seeing some undetermined errors in our logs. BUG=477701 Change-Id: I6eee442c149c2568e3823edc538d365b06ee20d8 Reviewed-on: https://chromium-review.googlesource.com/266375 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
da06fac2 2015-03-19 09:27:04 Add missing end-of-file newlines Change-Id: I664e40f8d3f2276d5964b111d066861540010b43 Reviewed-on: https://chromium-review.googlesource.com/260791 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
f17959aa 2015-04-17 13:04:20 D3D11: Record more explicit error codes in Renderer init. Our data shows the most common D3D11CreateDevice failure as being 'other error'. Explicitly enumerate more error codes so we can figure out which value we're getting. BUG=47701 Change-Id: Ibcda5e8ff1bb0368b1bfe3c8e7e3ffbb404771ce Reviewed-on: https://chromium-review.googlesource.com/265939 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
5ed74cfd 2015-04-14 13:57:07 Fix uniform locations in ProgramGL. ProgramGL was unable to handle uniform arrays and improperly set uniform locations. It now queries the driver for the location of each uniform and iterates over all array elements. BUG=angleproject:882 Change-Id: Iffe9d12944b2399f19f4a7823df2f535a430d6e3 Reviewed-on: https://chromium-review.googlesource.com/265724 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
b48e8b07 2015-04-15 14:26:37 D3D11: Only rewrite for primitive restart when needed. We would rewrite our index data every draw call. Change the index check to see if we're writing to the same sized / typed static buffer and only rewrite the data if the user re-uploaded. Also add a performance test for the primitive restart workaround. As a future improvement we could avoid creating new D3D objects every time we reinitialize static data, since BufferSubData calls don't change the size of the buffer if the index type remains the same. BUG=476658 Change-Id: I9d2540ad8b1b34fa0142ba0bf794cf572da8c61d Reviewed-on: https://chromium-review.googlesource.com/265838 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
045536bf 2015-03-27 15:17:18 Store current transform feedback buffer bindings in the object itself. BUG=angleproject:763 Change-Id: I76565f68fa8145da29713de2a517a39a8d50a24b Reviewed-on: https://chromium-review.googlesource.com/263061 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
cfaeaa9f 2015-04-14 13:41:02 Refactor uniform array name parsing to a utility function. BUG=angleproject:882 Change-Id: I00fd6d3cfaa107561cee5e4c82d3c60438052963 Reviewed-on: https://chromium-review.googlesource.com/265723 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
5160ec11 2015-04-14 08:13:48 Squash the attachment types. We can store all relevant information in the base class, which lets us avoid using any virtual methods. This will finally let us avoid using reallocations on FBO attachment sets. BUG=angleproject:963 Change-Id: Ib4b61da14efaf843478b059499c01e34f9c65e4f Reviewed-on: https://chromium-review.googlesource.com/263488 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
79481d65 2015-04-14 08:13:47 Add FramebufferAttachmentObject base class. This lets us share objects (Textures/RBs/Surface) in the attachment class. It will let us squash the attachment classes into one type, which will in turn let us store them by-value, instead of by-pointer. BUG=angleproject:963 Change-Id: Ia9a43dbc3b99475c00f6bc2ed5475deef55addc3 Reviewed-on: https://chromium-review.googlesource.com/263487 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
def624bc 2015-04-13 10:46:56 Move maxSamples from Extensions to Caps because it is an ES3 limit. BUG=angleproject:886 Change-Id: Ibcfc2f06e8308e2e6eb1a6c38206b803f689d7af Reviewed-on: https://chromium-review.googlesource.com/265470 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
a836e883 2015-04-13 14:29:54 Don't set a null current WGL context in the Surface destructor. By setting a null current context, there is a brief window where all GL calls will fail. Since there is only one WGL context, just leave in on the unreferenced window until a new window is made current. BUG=angleproject:890 Change-Id: I51eadf23ca61e274f7d174ac5a9e0592bcdadebc Reviewed-on: https://chromium-review.googlesource.com/265483 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
b1eee7af 2015-04-14 13:57:07 D3D11: Only use share handles with HW driver. WARP does not support surface sharing like native D3D11. This, combined with a Chromium-side change, should fix WARP rendering in Chrome. BUG=angleproject:973 BUG=429792 Change-Id: I41e778625e8697e45657843f2f337bcffe7ddbe2 Reviewed-on: https://chromium-review.googlesource.com/265611 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
31906ecf 2015-04-14 14:53:07 Generate blit shaders on demand. This saves a ms or two on D3D11 startup. Change-Id: I156c25029a0b2aeb48e5b76b31737c155111e07f Reviewed-on: https://chromium-review.googlesource.com/264936 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
c9d13d2d 2015-04-14 14:53:06 Add trace events for D3D11 initialization. This helps a local user profile their D3D11 startup time. BUG=436191 BUG=angleproject:966 Change-Id: Ib1b3d62194233cd502980d87c316a95e9bd3a04c Reviewed-on: https://chromium-review.googlesource.com/264935 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
97d61eb5 2015-04-14 09:08:16 Add extension EGL_ANGLE_device_d3d Access to the D3D device is needed for some advanced scenarios. New entry points eglQueryDisplayAttribANGLE and eglQueryDeviceAttribANGLE have been added in this change to implement this extension. BUG=angleproject:935 Change-Id: Ie39e86a2b6c6d8d05a08964b2907fb9fba5dec13 Reviewed-on: https://chromium-review.googlesource.com/265591 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
1ea8284d 2015-04-14 15:28:56 Revert "Add extension EGL_ANGLE_device_d3d" Compile error on clang: src/libANGLE/Display.cpp:259:23: error: allocation of incomplete type 'egl::Device' mDevice = new Device(this, impl); ^~~~~~ src/libANGLE/Display.h:36:7: note: forward declaration of 'egl::Device' class Device; ^ In file included from src/libANGLE/Display.cpp:11: In file included from src/libANGLE/Display.h:17: In file included from src/libANGLE/Error.h:80: In file included from src/libANGLE/Error.inl:9: src/common/angleutils.h:66:5: error: deleting pointer to incomplete type 'egl::Device' may cause undefined behavior [-Werror,-Wdelete-incomplete] delete resource; ^ ~~~~~~~~ src/libANGLE/Display.cpp:209:5: note: in instantiation of function template specialization 'SafeDelete<egl::Device>' requested here SafeDelete(mDevice); ^ src/libANGLE/Display.h:36:7: note: forward declaration of 'egl::Device' class Device; ^ 2 errors generated. This reverts commit 6dacaff4e03d4f6b4c444a3fff018c1297cd25ba. Change-Id: Ide348e156324a5af668604362c0b249ea73b6083 Reviewed-on: https://chromium-review.googlesource.com/265626 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>