include/platform/Platform.h


Log

Author Commit Date CI Message
Jacek Caban 464bfc86 2015-10-07T12:12:02 Use .def file to export functions using dllexport. BUG=angleproject:1183 This is a reland of part of commit 566273222683314dfc8ac1cdb9bf6deb5d2b4c65. The original commit caused warnings on 64-bit MSVC linker. This version removes declspec(dllexport) from exported ANGLE APIs (for which we need a new ANGLE_PLATFORM_EXPORT macro). It also makes those APIs stdcall on Windows builds. Change-Id: Iee2ab7e43ef0b98924f5759b5e1b333307052235 Reviewed-on: https://chromium-review.googlesource.com/304501 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e826b9f7 2015-10-09T16:41:06 Revert "Fixed compilation on mingw." This causes some linker warnings. I don't think we should add linker warnings to Chrome, so reverting this temporarily until we can land your CL with the correct using of export keywords. Please re-submit the fixed CL. This reverts commit 566273222683314dfc8ac1cdb9bf6deb5d2b4c65. Change-Id: I21fa623af31fac06de6afbefa50c9ea1ec157c15 Reviewed-on: https://chromium-review.googlesource.com/305000 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jacek Caban 56627322 2015-10-05T16:03:10 Fixed compilation on mingw. Change-Id: I5734f789f25fbc6b9b90f2043459a3a5f72008c4 Reviewed-on: https://chromium-review.googlesource.com/303602 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 2e5797e3 2015-07-29T16:20:28 Log EGL initialize errors to the platform. This will allow us to show more extended error info in about:gpu in Chromium. BUG=angleproject:966 BUG=515229 Change-Id: I24c8f33ac3576395ff13dbf7f4664c649af18e33 Reviewed-on: https://chromium-review.googlesource.com/289590 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 72537ef1 2015-05-14T10: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>
Jamie Madill ad0a486b 2015-04-20T16: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>
Jamie Madill ae2d8a3a 2015-04-07T11:21:07 Add Platform methods for event tracing. Event tracing requires pulling in timing counters, so we can sync with Chromium's timestamps. It may require a bit more tricky stuff to sync ANGLE's GPU timestamps with trace timestamps, but should allow us to add GPU trace events in the future. BUG=chromium:436191 BUG=angleproject:966 Change-Id: Ie1dc2981650d96888f988fa74b6fa435fbe8edc2 Reviewed-on: https://chromium-review.googlesource.com/263781 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6bd58312 2015-03-13T10:45:27 Make Platform methods global. This will allow them to be imported dynamically without name mangling. This is necessary because sometimes SwiftShader overrides libGLESv2 and libEGL, so we need to determine at run-time if we are running with "actual" ANGLE. BUG=466735 Change-Id: I396d717b79066feb8ed0d577ee7386b33eb1d160 Reviewed-on: https://chromium-review.googlesource.com/259954 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 5feea562 2015-02-17T16:03:16 Add ANGLE platform implementation template. The platform implementation allows the app layer to pass in an object, on which ANGLE can call virtual methods. Our current platform will handle trace events, for app profiling, and histogram records for statistics. The platform approach gives a much more robust approach than using entry points for every piece of functionality, and is based on the interop with Blink. The default platform implementation does a no-op on every call. The destructor is also private, to ensure we do not call the destructor of the passed-in class. BUG=436191 Change-Id: I05641b89a48a9cff81ced059518fceb5aa6c883b Reviewed-on: https://chromium-review.googlesource.com/248631 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>