util


Log

Author Commit Date CI Message
Sam McNally fa2f73fd 2015-06-29T18:45:33 Fix a tautological comparison. BUG=505309 Change-Id: I0e93139693206e766b91a5998d6e284c7a29fd14 Reviewed-on: https://chromium-review.googlesource.com/282450 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 87bef77c 2015-06-19T15:42:09 Compile end2end tests on MacOS This includes an implementation of OSX timer and path_utils. BUG=angleproject:891 Change-Id: Id5440a8321bcfd4a61f3fe35b4a3fc0c651f564f Reviewed-on: https://chromium-review.googlesource.com/278211 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 52445286 2015-06-09T09:15:54 Add a OSPixmap class to have cross platform pixmaps This will help make the deqp support code platform agnostic. BUG=angleproject:892 Change-Id: I6f8c738ed8125057db87afea2079583f8feac977 Reviewed-on: https://chromium-review.googlesource.com/276201 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez ce991cf6 2015-05-27T15:07:33 Add OSWindow::takeScreenshot to be used by some dEQP egl tests This helps make dEQP support platform agnostic BUG=angleproject:892 Change-Id: Ifd9436caa8c79018a053c27e32b514ef9ebee707 Reviewed-on: https://chromium-review.googlesource.com/273596 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 3c85635d 2015-05-27T12:50:55 Add SetLowPriorityProcess to utils and use it in dEQP support This provides a cross-platform way to make sure dEQP runs in a low priority process. BUG=angleproject:892 Change-Id: I0d12f1eacb78be43edcdb6622f945734c0b377ff Reviewed-on: https://chromium-review.googlesource.com/273595 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 8e695edb 2015-06-15T17:00:44 Fix support for GL_MAX_ATTRIBS attributes. *re-land with fix for AMD/ES2/OpenGL.* An off-by-one bug slipped in that broke support for these edge case shaders. Bug introduced in https://chromium-review.googlesource.com/#/c/266928/ BUG=angleproject:1045 BUG=500116 Change-Id: If44f809d432221d1e17afc407d49e87e0cb7504c Reviewed-on: https://chromium-review.googlesource.com/277664 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang dd323e95 2015-06-09T15:16:31 Only run tests that the current hardware can support. For each config, determine if a context can be created at test instantiation time. This allows skipping of ES3 tests when the hardware does not support ES3. Updated the perf_tests to use the EGLPlatformParameters struct so that they can be filtered in the same way. Change-Id: If664604b057cec4005eb4b63bebd83cd4964b7b2 Reviewed-on: https://chromium-review.googlesource.com/276460 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 39fcf263 2015-06-08T14:39:07 Use both null and real renders for draw call perf. Introduce a "null" GL renderer for this specific benchmark, which does not do any work on drawArrays and drawElements. We could use the same kind of trick for buffer and texture updates, if we need it. This gives us a good baseline for comparing GL and D3D perf. BUG=angleproject:1040 Change-Id: I4bf7c75df01932de45ddd0a4e42e8fc82f15e37e Reviewed-on: https://chromium-review.googlesource.com/276192 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill ce232678 2015-05-28T13:26:02 Add a perf test for eglInitialize. Also shutdown performance, since it's not easy to only test one. BUG=angleproject:1014 Change-Id: I9d06426788ed336031271f8876589b111f1294b7 Reviewed-on: https://chromium-review.googlesource.com/273974 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Geoff Lang 4031b994 2015-05-29T10:57:55 Don't enable opengl on linux unless x11 is also available. BUG=493682 Change-Id: I10d5b710fcc9b51160c3aff169d1af839212003c Reviewed-on: https://chromium-review.googlesource.com/273976 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 51e2ad14 2015-05-26T11:32:58 Do not always use X11 for Linux builds, inherit Chromium's settings This fixes project generation for Chromium for non-X11 builds BUG=angleproject:1011 Change-Id: If528f63fb186d834d56a43ca379497d99e74777e Reviewed-on: https://chromium-review.googlesource.com/273163 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 5c798fe9 2015-05-25T10:03:35 Enable OcclusionQueriesTest on Linux This includes an implementation of a cross platform Sleep function BUG=angleproject:892 Change-Id: I1087a00ab204b37bafc5e95a9766962b194d97ef Reviewed-on: https://chromium-review.googlesource.com/273133 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez db39e7f5 2015-05-25T09:51:24 Rename path_utils to system_utils For inclusion of Sleep BUG=angleproject:892 Change-Id: I1a9491102e9943d945eef0ba372a6779c30cd311 Reviewed-on: https://chromium-review.googlesource.com/273131 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez fb28d3c5 2015-05-21T18:02:02 X11Window: handling of ConfigureNotify, work when reparented BUG=angleproject:892 Change-Id: Ib201a5fbf4fca39c90464ed76434dac5e5ded381 Reviewed-on: https://chromium-review.googlesource.com/272683 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 5b2545bf 2015-05-21T15:26:15 Correct LinuxTimer time calculations Changes to CLOCK_MONOTONIC as CLOCK_PROCESS_CPUTIME counts only user time and not kernel time. BUG=angleproject:892 Change-Id: I3d5aee26ee2bacd7449fdd7795ad8c2b289d7324 Reviewed-on: https://chromium-review.googlesource.com/272652 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 91c2fadf 2015-05-15T10:34:14 Fix more warnings in samples and tests These warnings are currently disabled because these files are not with angle_code set to 1 in the gyp files to avoid gtest's code warnings. We hope to either fix warnings in gtest or change our build system to not use warnings for gtest. BUG=angleproject:1003 Change-Id: I281781b77f92ef8c394dd53fbbd50d525e4da5c9 Reviewed-on: https://chromium-review.googlesource.com/271412 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 4b6945a4 2015-05-14T15:30:36 Add -lrt and -ldl to link flags on Linux builds BUG=angleproject:892 Change-Id: Ic06b493cbfdc061565d94d98aabfc3b1f2d882c6 Reviewed-on: https://chromium-review.googlesource.com/271275 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 3730f644 2015-05-14T11:44:53 Make X11Window::setVisible block until the window is mapped. That way the code calling setVisible knows it can safely create a framebuffer for this window without having its content be undefined. BUG=angleproject:830 Change-Id: Ia694f50ac20e1d510d0c0f899226ed241d9a5a3a Reviewed-on: https://chromium-review.googlesource.com/271156 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 1f67547b 2015-05-14T11:47:33 EGLWindow: remove redundant EGL_NONE to finish attrib list. Only one EGL_NONE is needed to signal the end of the list. BUG=angleproject:892 Change-Id: I7de349bef9d674344ccd1b2c4801d8b42c801299 Reviewed-on: https://chromium-review.googlesource.com/271157 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 43b0c221 2015-05-12T10:37:01 X11Window: implement event handling and modifiers BUG=angleproject:892 Change-Id: I65f251abdd28b273e2d3d574825f20bba8bb2532 Reviewed-on: https://chromium-review.googlesource.com/270452 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 938f1ca3 2015-05-12T10:21:17 OSWindow: add optional debugging of events received BUG=angleproject:830 Change-Id: Icd854ee152f15ec1de4293b5ed2ed49cb1a5fc2b Reviewed-on: https://chromium-review.googlesource.com/270451 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 12fe4dc8 2015-05-04T12:50:08 Fix pointer to int conversion warning in EGLWindow.cpp BUG=angleproject:892 Change-Id: Ic40f29c811d18efea0e081c269ca43d0170488a4 Reviewed-on: https://chromium-review.googlesource.com/269122 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/270125
Jamie Madill fa05f607 2015-05-07T13:47:11 Use value-paramaterized tests instead of by type. This should fix our non-standard template use, which causes compile errors for the tests on GCC/Clang. BUG=angleproject:997 Change-Id: Id1bb15231eda445f37e53a5b33d4684ec6618d8e Reviewed-on: https://chromium-review.googlesource.com/269858 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 2cf30bd0 2015-05-07T13:55:14 Fix GetExecutablePath on Linux It was using lstat to get the size of /proc/self/exe but it always returns 0, so we just use a big buffer on the stack instead. BUG=angleproject:892 Change-Id: I6d88efeb4ec5de7a78cb3668e3d78520203ad1d5 Reviewed-on: https://chromium-review.googlesource.com/269990 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez bf9e4050 2015-05-06T15:13:05 EGLWindow: specify the device type only on d3d platform BUG=angleproject:892 Change-Id: I0406e26910f5a012ccb9e533af18e831522161b1 Reviewed-on: https://chromium-review.googlesource.com/269666 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/269827
Corentin Wallez ec0b1362 2015-05-06T10:47:11 Make util/win32 follow ANGLE conventions better BUG=angleproject:892 Change-Id: I1ad366e16b135649fe1b0351081f9971db84df50 Reviewed-on: https://chromium-review.googlesource.com/269665 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 4ea209f1 2015-05-07T15:32:26 Revert "EGLWindow: specify the device type only on d3d platform" Causing failures in EGLSurfaceTest.MakeCurrentTwice on Windows BUG=angleproject:892 This reverts commit 118e7195fdaa76a1f3aa52bbed30fdb97cc3fd4a. Change-Id: Ifbb17d1c9bc0390abadbfb8f78cf14dbf1bb8e83 Reviewed-on: https://chromium-review.googlesource.com/269950 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 118e7195 2015-05-06T15:13:05 EGLWindow: specify the device type only on d3d platform BUG=angleproject:892 Change-Id: I2dda3a8d15e58d15a401258a5a64c5783ea1a132 Reviewed-on: https://chromium-review.googlesource.com/269666 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez fe2f3d63 2015-05-05T17:37:39 Add a basic support for Linux for utils/ * Timer and path utils are done. * Window only implements initialize and setVisible BUG=angleproject:892 Change-Id: I3f49b68ef9ec5be324b25e211199bac2953ae11e Reviewed-on: https://chromium-review.googlesource.com/269520 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill c07c43e4 2015-05-04T18:20:24 Revert "Fix pointer to int conversion warning in EGLWindow.cpp" Causes a compile error. BUG=angleproject:892 This reverts commit d424da4a4c5f9eb08632738c53ca4604c3b808f1. Change-Id: Ieb8bb99d02f7050306974db5dab72d26474891ac Reviewed-on: https://chromium-review.googlesource.com/268996 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 72196b74 2015-05-04T12:50:53 Add missing trailing newline before EGLWindow.cpp EOF BUG=angleproject:892 Change-Id: Iaf175a310ce2acb5a8715902b3d367aa3dae8e2c Reviewed-on: https://chromium-review.googlesource.com/269124 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 75af569c 2015-05-04T12:50:30 Add missing include in EGLWindow.cpp BUG=angleproject:892 Change-Id: I23cfbd9cfbe7d41e048a2b2a4eea048f5de72d12 Reviewed-on: https://chromium-review.googlesource.com/269123 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez d424da4a 2015-05-04T12:50:08 Fix pointer to int conversion warning in EGLWindow.cpp BUG=angleproject:892 Change-Id: If6f0eb13bca10f9328faeaab35665a67e7ef6e44 Reviewed-on: https://chromium-review.googlesource.com/269122 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez fc692934 2015-05-04T12:53:10 Fix signed to unsigned integer conversion warning in EGLWindow.h Change-Id: I7b4249e04c8fb76b60b4c837266b144fbd64cbf6 Reviewed-on: https://chromium-review.googlesource.com/269128 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 9946a61e 2015-05-04T12:52:32 Fix text trailing after preprocessor macro warning in util/Event.h Change-Id: Ie977e6fce0e5e0efeb16f0387bf653bbd2d1cd93 Reviewed-on: https://chromium-review.googlesource.com/269127 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 8eb2d14c 2015-05-04T12:52:05 Fix 'not all switch case are handled' warning in OSWindow.cpp Change-Id: Ib4d1e4b04c73e5eb5e0e4f6c56212e99723d2ce0 Reviewed-on: https://chromium-review.googlesource.com/269126 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 6ba699a2 2015-05-04T12:51:23 Add missing include in OSWindow.h Change-Id: Ie1fd40c308ed9d0d90756e31dfe153f44510defa Reviewed-on: https://chromium-review.googlesource.com/269125 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 96de96b7 2015-05-04T12:46:33 Initialize Win32Timer::mRunning as a bool Change-Id: I1770684217239bcbdf2bb07f4867e1427577a01f Reviewed-on: https://chromium-review.googlesource.com/269121 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 681ad9d1 2015-04-23T12:27:56 Add a sample that uses multiple windows. BUG=angleproject:521 Change-Id: I50858193518b4d07edcb2073caaa99ce37fcc4c3 Reviewed-on: https://chromium-review.googlesource.com/267000 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 77a72f6e 2015-04-14T11:18:32 Release Surface when calling makeCurrent with null. Refactorings to egl::Surface to enable ref-counting were causing a situation where we could have two Window surfaces alive at the same time. This would confuse the window procedure logic in SurfaceD3D. Releasing the surface fixes this issue and conforms closely to the wording on the spec on when Surfaces should be deleted. Also add a test for message loops and surfaces. BUG=475085 BUG=angleproject:963 Change-Id: Icdee3a7db97c9b54d779dabf1e1f82a89fefc546 Reviewed-on: https://chromium-review.googlesource.com/265064 Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Cooper Partin 97d61eb5 2015-04-14T09: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>
Geoff Lang 1ea8284d 2015-04-14T15: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>
Cooper Partin 6dacaff4 2015-02-19T16:31:57 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: Id1560b0887fa5882b9858af7bad9043ada67038d Reviewed-on: https://chromium-review.googlesource.com/251610 Tested-by: Cooper Partin <coopp@microsoft.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Minmin Gong 794e0009 2015-04-07T18:31:54 Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data) Change-Id: Id0e06d7d6600344d858f00dabc219d79289bbc82 Reviewed-on: https://chromium-review.googlesource.com/265020 Tested-by: Minmin Gong <mgong@microsoft.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill b3584fb4 2015-04-09T17:34:21 Revert "Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)" Causing a build failure on Mac/Clang: ./Tokenizer.cpp:551:7: error: extra tokens at end of #else directive [-Werror,-Wextra-tokens] #else if defined(_MSC_VER) http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/29136 This reverts commit 3b26e231d99154814eb428f75a67bbe7a21adadc. Change-Id: I2d11ddcc18130d908fd2ec3d6f5ab890cfccd5e7 Reviewed-on: https://chromium-review.googlesource.com/264983 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Minmin Gong 3b26e231 2015-04-07T18:31:54 Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data) Change-Id: I73d9a2b9ad16f032be974b9c819de0dc1247c2ea Reviewed-on: https://chromium-review.googlesource.com/264533 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nico Weber 51a1db16 2015-04-06T09:02:37 Give Timer a virtual destructor as it's deleted polymorphically. Found by clang: ..\..\third_party\angle\src\common/angleutils.h(66,5) : error: delete called on 'Timer' that is abstract but has non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor] delete resource; ^ ..\..\third_party\angle\src\tests\perf_tests\ANGLEPerfTest.cpp(26,5) : note: in instantiation of function template specialization 'SafeDelete<Timer>' requested here SafeDelete(mTimer); ^ BUG=chromium:82385 Change-Id: I69033b1802b5dffbdf2d80889aca7019d710d481 Reviewed-on: https://chromium-review.googlesource.com/264061 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Gregoire Payen de La Garanderie 68694e99 2015-03-24T14:03:37 Add UBO offset support for D3D11.1. Also fixes the uniform count upper limit in glGetActiveUniformsiv, as well as an assert hit with used but unbound uniform buffer. BUG=angleproject:507 BUG=angleproject:962 Change-Id: I096fe1c9b4f0f398f3a638cd8311278987dfb7dc Reviewed-on: https://chromium-review.googlesource.com/263404 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Geoff Lang 90a09b56 2015-04-01T18:21:24 Revert "Add UBO offset support for D3D11.1." Failed on 32-bit builds. See: https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/24828/steps/compile/logs/stdio angle\src\libangle\validationes.cpp(1461) : error C2220: warning treated as error - no 'object' file generated angle\src\libangle\validationes.cpp(1461) : warning C4018: '<' : signed/unsigned mismatch This reverts commit 381f969315c0c70bacf183e58de7194f42486112. Change-Id: I05f09f19e40046994d34809c5b79095458f56148 Reviewed-on: https://chromium-review.googlesource.com/263474 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Gregoire Payen de La Garanderie 381f9693 2015-03-24T14:03:37 Add UBO offset support for D3D11.1. Also fixes the uniform count upper limit in glGetActiveUniformsiv, as well as an assert hit with used but unbound uniform buffer. BUG=angleproject:507 BUG=angleproject:962 Change-Id: I263b14df41d4e45a67304c1d145646398721cf0a Reviewed-on: https://chromium-review.googlesource.com/263412 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gregoire Payen de La Garanderie 3917f578 2015-04-01T15:17:21 Revert "Add UBO offset support for D3D11.1." Was ignoring the uniform block bindings. This reverts commit 7159ea6778eb73c233736cc2fa59ae9177b75e4b. Change-Id: Ie7d2b40d3fb2adedd309f1162fb6fd33ab0b4c3c Reviewed-on: https://chromium-review.googlesource.com/263420 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2d1eea09 2015-03-27T09:46:41 Remove shared_utils.h, use angle_common instead. *re-land with fix for Chromium compile* This saves us from needing to replicate the same code in two places. BUG=angleproject:956 Change-Id: I68dffee715df03bd25685e3ed5c0506ffc41c3b9 Reviewed-on: https://chromium-review.googlesource.com/263258 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 61a5b338 2015-03-31T15:35:09 Revert "Remove shared_utils.h, use angle_common instead." Causing a build conflig with Chromium's DISALLOW_COPY_AND_ASSIGN. http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/24738 This reverts commit 3ad467df2817df60ae90a84aae68dc37b46b2b34. Change-Id: I0cf13e3bc3af90303a123813052cced0ba086515 Reviewed-on: https://chromium-review.googlesource.com/263159 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3ad467df 2015-03-27T09:46:41 Remove shared_utils.h, use angle_common instead. This saves us from needing to replicate the same code in two places. BUG=angleproject:956 Change-Id: Ibc80997eec184d0d5aa9c6c076c9d4507fbf8caa Reviewed-on: https://chromium-review.googlesource.com/262776 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Gregoire Payen de La Garanderie 7159ea67 2015-03-24T14:03:37 Add UBO offset support for D3D11.1. Also fixes the uniform count upper limit in glGetActiveUniformsiv. BUG=angleproject:507 Change-Id: Icfc90ed64cf94b1bab2d4cc93a8fb5e11b28d666 Reviewed-on: https://chromium-review.googlesource.com/261874 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 19a43dbe 2015-03-20T16:14:04 Add a perf test for draw call overhead. These perf tests use the D3D NULL renderers to measure pure CPU time, with no GPU limitations. Also fix our D3D9 SwapChain code to skip creating a SwapChain for NULLREF D3D9 devices, and the vertex decl code to reinitialize the formats when finding a mismatch with the previous value. BUG=angleproject:955 Change-Id: I449e63177b48afd1559c36244de0bc252814e813 Reviewed-on: https://chromium-review.googlesource.com/262208 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang f1e85927 2015-02-23T14:40:04 Add test for very basic operations to enable as GL functionality is added. Add OpenGL and OpenGLES platform types for the ANGLE tests. Comment out some UNIMPLEMENTEDs that tests using OpenGL trigger. BUG=angle:882 Change-Id: I7f85eed184f7cebd25e2521d793fc9c394b704ce Reviewed-on: https://chromium-review.googlesource.com/252252 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 7825f619 2014-11-26T16:19:41 Update ANGLE_platform_angle_d3d to use a device type enum instead of WARP bool. BUG=angle:490 Change-Id: I1555e7f09b23138753e52ddf720d088587f7cadb Reviewed-on: https://chromium-review.googlesource.com/232104 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 15dc05fc 2015-01-22T13:31:46 Only request PostSubBuffer support when the extension is available. BUG=angle:658 Change-Id: I6828290ef89c57e8c794f0fca6e5991c492b67aa Reviewed-on: https://chromium-review.googlesource.com/242572 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross fcbf345b 2015-02-03T09:29:43 Add testfixturetypes.h to util.gyp Change-Id: I562bdca2c5c693155333a0ce168310be05b37531 Reviewed-on: https://chromium-review.googlesource.com/245741 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Nico Weber ce8bb2fa 2014-12-30T13:32:25 Improve standards conformance of ANGLE's testing code. ANGLE's testing code recently got enabled in Chromium's builds. While it builds fine with cl.exe, it isn't quite standards-conformant and doesn't build with clang. Fix this. There were three issues: 1. ANGLE_TYPED_TEST_CASE() is a variadic macro that tries to use __VA_ARGS__ as argument to a variadic template and then pass that template to another macro. However, [cpp.replace] describes that ANGLE_TYPED_TEST_CASE(Test, int, float) should be expanded to TYPED_TEST_CASE(Test, ::testing::Types<int, float>) which should be interpreted as a "call" of TYPED_TEST_CASE with the 3 macro arguments `Test`, `::testing::Types<int`, and `float>`. As a fix, use a typedef for the variadic template and refer to it through the typedef in the macro call. 2. `#version` was used on its own line in a substitution of the SHADER_SOURCE macro. [cpp]p1 says that every line starting with a `#` is a preprocessing directive, and [cpp.replace]p11 says "If there are sequences of preprocessing tokens within the list of arguments that would otherwise act as preprocessing directives, the behavior is undefined" (with a footnote that this includes non-directives -- # followed by unknown text). As a fix, merge the `#version` line with the previous line. Now the line doesn't start with `#` and things are fine. 3. Unqualified lookup usually doesn't look into dependent bases. If this is desired, one usually has to make the call qualified, a good explanation for this is at http://eli.thegreenplace.net/2012/02/06/dependent-name-lookup-for-c-templates cl.exe doesn't implement this rule, and clang tries to emulate cl.exe's behavior to a certain extend when in Microsoft mode. However, that seems to not work for member templates with explicit types (filed http://llvm.org/PR22066 for this, but since it's not needed to parse Microsoft headers and not standards-conformant, I'm not sure if we'll fix that). As a fix, don't provide an explicit type, the inferred type is the same. This is also consistent with all the other tests in this file. (We might clean up -Wmicrosoft warnings in the future; if so I'll add the explicit this->s that are missing in this file when we do.) BUG=chromium:445406 Change-Id: I77a2f3ab9601a1f0f39b56ed3d05217f123155b8 Reviewed-on: https://chromium-review.googlesource.com/238090 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross 0dbda057 2014-12-04T18:13:04 Add basic D3D11 Feature Level 9.3 support Change-Id: I660c74791ddb9917bd4796bb652eefab2a3e4863 Reviewed-on: https://chromium-review.googlesource.com/233660 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Geoff Lang 0d3683c4 2014-10-23T11:08:16 Update ANGLE_platform_angle to allow requesting of Renderer versions. Added enums to allow users to request major and minor versions of the underlying API and if a WARP device is used. BUG=angle:490 Change-Id: I0bfb2ac8d327da28a47cc8e6346300e47ab9538c Reviewed-on: https://chromium-review.googlesource.com/225081 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 7fa245c0 2014-10-21T13:41:08 Use a new class name for each window. If a previous window was not cleaned up properly due to a crash in a test, the subsequent windows can fail to be created because the class is not destroyed. Work around this by always creating a unique class before creating the window. Change-Id: Ied6b2818ef03fa12b07111d8204c3c1a6a5bd5ac Reviewed-on: https://chromium-review.googlesource.com/225080 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4119ed3d 2014-10-01T10:41:40 Make OSWindow a non-static member of ANGLETest. BUG=angle:611 Change-Id: I455e1dd0ad5582191621e316c4808a2d753e9aaa Reviewed-on: https://chromium-review.googlesource.com/219867 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 91f2911f 2014-10-09T12:55:32 Add workaround for Unicode compile error. Chromium builds define UNICODE, while we don't, which confuses the built-in IDC_ARROW macro. With this fix, and http://crbug.com/415983, we can build angle_perf_tests in Chromium. BUG=angle:744 Change-Id: I268a7c11a5b5355cb2485bf10faf750972cf4e30 Reviewed-on: https://chromium-review.googlesource.com/220363 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill fc63152a 2014-10-09T12:55:28 Use Chromium perf bot output style for perf test. The Chromium style output will allow the perf bots to collect data from our performance tests. BUG=angle:744 Change-Id: I2ffdace688004edf2918ead2a3e2aa2a6c4daf95 Reviewed-on: https://chromium-review.googlesource.com/220361 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill b4fd0c96 2014-10-01T17:40:24 Replace usages of std::vector::data in most cases. In some parts of ANGLE code, we were using std::vector::data to get a pointer to the first element. Sadly, this is c++11 only, which isn't currently supported on Chromium. This was causing a breakage on Android. We should probably refrain from using data except on D3D-only code, which we know will be Visual Studio. BUG=angle:767 Change-Id: Ibc10577368435a13f62d74d77c95076482cd8f82 Reviewed-on: https://chromium-review.googlesource.com/220920 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Austin Kinross 18b931d5 2014-09-29T12:58:31 Configure Google Tests to run against multiple renderers/GLES versions BUG=angle:611 Change-Id: I7d43612171c439045038db9ae82fd8716c0b31c6 Reviewed-on: https://chromium-review.googlesource.com/220400 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Austin Kinross <aukinros@microsoft.com>
Jamie Madill ea0e8733 2014-09-24T10:26:49 Add a point sprite benchmark. This benchmark will attempt to reproduce the slowdown we see in D3D11 on the turbulenz GPU particles demo. BUG=angle:705 Change-Id: I9c4c2f09d4282feae30f448fd374cdbb6bceae9b Reviewed-on: https://chromium-review.googlesource.com/216467 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 9e16d40d 2014-09-08T17:36:33 Fix Win32Window::resize breaking angle_tests. We were messing up the client rect on resize, which caused the ReadPixels checks to mess up around the window edges. Disabling the window styles on the test windows masked this bug. Fix this by using a style-less child window inside the parent window. This gives us access to window styles for the samples project, along with the ability to use tiny 1x1 windows for testing. BUG=angle:730 Change-Id: Ic6dd931df7b4e32fbbcacbb004d3bbc49917f658 Reviewed-on: https://chromium-review.googlesource.com/217024 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 33ea2f97 2014-08-29T15:15:01 Added BufferSubData benchmark. BUG=angle:705 Change-Id: I65d557f35e4c9f1d94853a775330a92b7d428847 Reviewed-on: https://chromium-review.googlesource.com/213810 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 0bab342b 2014-08-29T11:49:36 Fix 64-bit use of Win32Window. An incorrect call to SetWindowLongPtr was crashing the 64-bit test. BUG=angle:705 Change-Id: I3815bb0a1308f5e66e74faead37c0ae09f975a10 Reviewed-on: https://chromium-review.googlesource.com/214883 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 44771099 2014-08-28T09:21:35 Make OSWindow destructor virtual. BUG=angle:734 Change-Id: I6deb639abc26a314dd890189613e0a3a2e1be1d2 Reviewed-on: https://chromium-review.googlesource.com/214714 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org>
Jamie Madill 5704d6e8 2014-08-26T13:16:38 Add some shared utility methods to the utils project. BUG=angle:730 Change-Id: I268c7f76ee9a14ab82f646ae8ebf4eed100bf86d Reviewed-on: https://chromium-review.googlesource.com/213509 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 62af5467 2014-08-26T13:16:37 Use EGLWindow in ANGLETests. This completes the refactor to use the same code for EGL and OS Window creation for samples and tests. BUG=angle:730 TEST=angle_tests Change-Id: Ib6de89f5bf83c0730a66f662cd1f87351f36a5f7 Reviewed-on: https://chromium-review.googlesource.com/213297 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 3757a5ae 2014-08-26T13:16:36 Allow app to specify EGL Window extra parameters. Extra parameters include pixel bit sizes, swap interval and if we want multisampling. This gives parity between the tests and samples EGL creation options. BUG=angle:730 Change-Id: I68d619c2ea141794f0089456bb6bba3d3b1c2a07 Reviewed-on: https://chromium-review.googlesource.com/213296 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 83da0ec5 2014-08-22T14:50:42 Add OSWindow::setVisible. BUG=angle:730 Change-Id: I9c9e2f3b694ba57df359906cd8517ede60af632d Reviewed-on: https://chromium-review.googlesource.com/213294 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 25f0e5e3 2014-08-22T14:50:41 Add a Resize method to OSWindow. BUG=angle:730 Change-Id: I64106f05eb4188305eb34bbabe7d1cde037e1948 Reviewed-on: https://chromium-review.googlesource.com/213293 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 586666ce 2014-08-21T10:04:05 Make the sample app own the OS Window object. This allows us to use OS Windows and EGL contexts differently for different implementations - eg, tests and samples. BUG=angle:730 Change-Id: I65e69fd829c3dbf2f1b406d90045bc296798ebb6 Reviewed-on: https://chromium-review.googlesource.com/213290 Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 1cfaaf8a 2014-08-21T10:04:04 Add a util project to share between samples and tests. This code shares the Window and EGL logic between the two projects. BUG=angle:730 Change-Id: I8940371226a8f7b02579c332f51679c4a5d0e2a5 Reviewed-on: https://chromium-review.googlesource.com/212799 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>