- 31 Mar, 2015 4 commits
-
-
Jamie Madill authored
This D3D-only class has one method, used to generate the D3D IndexBuffer/VertexBuffer. This can help us mock up IndexDataManager. At a later point we can refactor the VertexFormat queries from Renderer into a Caps struct that mirrors our Texure Caps. BUG=angleproject:956 Change-Id: Id8b1220a763873ee871ce92365bbee03633789c7 Reviewed-on: https://chromium-review.googlesource.com/262774Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:795 Change-Id: I76b44e837eb6919f9d3c1eb56c2d3af84bc5ab09 Reviewed-on: https://chromium-review.googlesource.com/260943Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
This value is now redundant - it is always the same as regular offset. TEST=angle_end2end_tests BUG=angleproject:956 Change-Id: If4b6c8bcbebf24fbf84723fe081fd058916cc504 Reviewed-on: https://chromium-review.googlesource.com/262423Reviewed-by:
Nicolas Capens <capn@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
Recomputing the stream offset is relatively cheap now after recent changes. Remove caching it to make the code less complex. TEST=angle_end2end_tests BUG=angleproject:956 Change-Id: Icb9cc4e4ffd685a78b7f8a45958992a471ebb0f5 Reviewed-on: https://chromium-review.googlesource.com/262422Reviewed-by:
Nicolas Capens <capn@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
- 30 Mar, 2015 10 commits
-
-
Jamie Madill authored
This is now located in src/ and Chromium no longer refers to it. BUG=None Change-Id: I64fd302629ca28aa367d8714bfbac2657774fc3b Reviewed-on: https://chromium-review.googlesource.com/262920Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Maks Naumov authored
Change-Id: Ie10398e148dc0b88e5d7a5330307dc49553c6665 Reviewed-on: https://chromium-review.googlesource.com/263092Tested-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
The overhead of the function call ended up being a hot spot for draw calls since the attributes are iterated over many times in VertexDataManager. BUG=angleproject:959 Change-Id: I9bbfcbd115661ad629db9ed93d683cd8d0dc9a78 Reviewed-on: https://chromium-review.googlesource.com/263102Tested-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
Caused a warning on 32-bit builds. This reverts commit 20d78d24. Change-Id: I4d61024fb29978e7f1bacdd693fc6f1bc00bd0cc Reviewed-on: https://chromium-review.googlesource.com/262918Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Gregoire Payen de La Garanderie authored
Also fixes the uniform count upper limit in glGetActiveUniformsiv. BUG=angleproject:507 Change-Id: Icfc90ed64cf94b1bab2d4cc93a8fb5e11b28d666 Reviewed-on: https://chromium-review.googlesource.com/261874Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
Intermediate should only have logic for creating node objects, validation of parameter types belongs in ParseContext. BUG=angleproject:952 TEST=angle_unittests, WebGL conformance tests Change-Id: Ie90697641fabb2a837ccc4571a93616d63ea64e6 Reviewed-on: https://chromium-review.googlesource.com/262414Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nicolas Capens <capn@chromium.org>
-
Geoff Lang authored
BUG=angleproject:959 Change-Id: Ie08e68ae27372a97bd118e61478201b0d3dad955 Reviewed-on: https://chromium-review.googlesource.com/262337Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nicolas Capens <capn@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
The overhead of the function call ended up being a hot spot for draw calls since the attributes are iterated over many times in VertexDataManager. BUG=angleproject:959 Change-Id: I6c11d4a5a22c314c69b3403dfdeb2d950b1c7639 Reviewed-on: https://chromium-review.googlesource.com/262336Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nicolas Capens <capn@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
The function call overhead of the constructors and assignement operators ended up being a hotspot even though the functions didn't do any significant work. BUG=angleproject:959 Change-Id: I96769879dabdbba7a222f98d87c5be0a829cb7dd Reviewed-on: https://chromium-review.googlesource.com/262335Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nicolas Capens <capn@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
Use bitwise operations instead of division, which is expensive on multiple CPU architectures. BUG=angleproject:956 TEST=angle_end2end_tests Change-Id: I57ab540d447c03dae5a96bafb4975fc37e310261 Reviewed-on: https://chromium-review.googlesource.com/262181Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Nicolas Capens <capn@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 29 Mar, 2015 1 commit
-
-
Olli Etuaho authored
Float-int conversion functions are defined to always return highp values. BUG=angleproject:865 TEST=angle_unittests Change-Id: Idf243b483f7b5edfcb54de2755af11e17c3756d3 Reviewed-on: https://chromium-review.googlesource.com/262413Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nicolas Capens <capn@chromium.org>
-
- 27 Mar, 2015 5 commits
-
-
Geoff Lang authored
BUG=angleproject:886 Change-Id: I7480943d678b2cdf6e997c3f8316acdef32f5f0d Reviewed-on: https://chromium-review.googlesource.com/260889Reviewed-by:
Kenneth Russell <kbr@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:886 Change-Id: I74375351339464b450c2f058adbeed7a1ba18cdd Reviewed-on: https://chromium-review.googlesource.com/262125Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:885 Change-Id: Ifb5818f185236c671cd7f20ed352edb887b49675 Reviewed-on: https://chromium-review.googlesource.com/258420Reviewed-by:
Kenneth Russell <kbr@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Austin Kinross authored
Change-Id: I59020f8152d47091533d69d20fe5ff56e5f96bc1 Reviewed-on: https://chromium-review.googlesource.com/262551Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Austin Kinross <aukinros@microsoft.com>
-
Olli Etuaho authored
This should be faster, and also matches the C++ style rules better: static variables should not have complex class types. BUG=angleproject:956 TEST=angle_end2end_tests, WebGL conformance tests Change-Id: I628db95febab309e241be216e2998305525da76e Reviewed-on: https://chromium-review.googlesource.com/262421Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 26 Mar, 2015 6 commits
-
-
Geoff Lang authored
Causes failures in video related WebGL tests. Either there is a bug in the implementation or how chrome is using it. This reverts commit b13daa8f. Change-Id: Ic0d74840c664bf4de18d85cc3ff7f7153936d9b0 Reviewed-on: https://chromium-review.googlesource.com/262715Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Causing a high-volume crashe in Chrome. This reverts commit 434953e2. BUG=470695 Change-Id: I2062c706ab6ca6b4c3117685df67c33572518da5 Reviewed-on: https://chromium-review.googlesource.com/262704Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jacek Caban authored
Change-Id: I027cedc383efbd215e55a7ddf4e41eb1c368a1ae Reviewed-on: https://chromium-review.googlesource.com/262590Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jacek Caban <cjacek@gmail.com>
-
Austin Kinross authored
Change-Id: I0e39a196796813203c841c46aa2a6b89957f6051 Reviewed-on: https://chromium-review.googlesource.com/261355Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
Remove extraneous semicolons and fix indentation in a couple of places. TEST=angle_unittests Change-Id: Iaa51eb50990c0435f41dfd346ec161216cd8d372 Reviewed-on: https://chromium-review.googlesource.com/261823Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
ESSL 1.00 spec section 5.9 says that equality operators don't operate on structs containing sampler types. Section 5.7 also suggests this. ESSL 3.00 doesn't have a similar restriction. ESSL 1.00 spec section 4.1.7 says that structs containing samplers can't be used as l-values. This is interpreted to apply also in the case of ESSL 3.00, which similarly disallows samplers as l-values, but doesn't explicitly mention structs. BUG=angleproject:954 TEST=angle_unittests, WebGL conformance tests Change-Id: I73f74962a192e8d9449990ffa5f3d8c851491601 Reviewed-on: https://chromium-review.googlesource.com/261822Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
- 25 Mar, 2015 6 commits
-
-
Olli Etuaho authored
This requires sorting all equality functions together so that struct equality functions can have dependencies on array equality functions, but support for array equality functions that have dependencies on struct equality functions is also maintained. There's no automated test coverage for this specifically. The change was tested by manually inspecting shader output and ensuring that there were no test regressions in tests listed below. TEST=dEQP-GLES3.functional.shaders.* BUG=angleproject:954 Change-Id: If7199ab2446804afae50f103bb625101172882b9 Reviewed-on: https://chromium-review.googlesource.com/261550Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
This requires adding functions to the shader source that can do the comparison for a specific array size. There's no automated test coverage specifically for this functionality, since all deqp tests that cover this also require array constructors to be supported. The change has been tested by manually inspecting shader output. No regressions were seen in automated tests listed below. TEST=dEQP-GLES3.functional.shaders.*, angle_unittests BUG=angleproject:941 Change-Id: Ie2ca7c016a3f0bcb3392a96d6d20d6f803d28bf0 Reviewed-on: https://chromium-review.googlesource.com/261530Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nicolas Capens <capn@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
Make sure that the computed index range is added to the cache of the main buffer object, instead of just to the static buffer object created for the buffer object. This applies to the code path used for D3D9. This way the front-end code in ValidateDrawElements gets the index range from the cache instead of having to iterate over all the indices used on every draw call. BUG=chromium:461274 TEST=WebGL conformance tests, angle_end2end_tests Change-Id: I07cf493d2771dab8e76d69bafda7ac49e5a04808 Reviewed-on: https://chromium-review.googlesource.com/262180Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Jamie Madill authored
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/262208Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:681 Change-Id: Ia9f4ac9cee2c3e4fa140eba12bdb9ab0cc423f6c Reviewed-on: https://chromium-review.googlesource.com/261709Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:884 Change-Id: Ie6e809477253502d88f599172eaed17638e58dd3 Reviewed-on: https://chromium-review.googlesource.com/262112Reviewed-by:
Brandon Jones <bajones@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 24 Mar, 2015 4 commits
-
-
Geoff Lang authored
The window passed to surface creation should not be used by any surface owned by any display, not just the current one. Store a global window surface list for validation. BUG=angleproject:795 Change-Id: I2314979f2f27848b21fcb00676194d7671d1db68 Reviewed-on: https://chromium-review.googlesource.com/260942Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:795 Change-Id: I15e7f2f51ecc243edf83d9a9544eba137d8bb599 Reviewed-on: https://chromium-review.googlesource.com/260941Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
We integrate dEQP as a console application and a shared library which runs all of the test logic. Using a shared library lets us compile dEQP with all the specific compiler options it needs, without conflicting with the compile settings in ANGLE proper. Currently we only support Windows D3D11, ES 2 and 3. We can add other targets in the future. We also have a few bugs preventing us from running the test suite in full. We run into infinite loop problems in some shader tests, and have crashes or UNIMPLEMENTED in others. BUG=angleproject:901 Change-Id: Ib6fe66041a6fe547eb2cba497c52de7fd080d667 Reviewed-on: https://chromium-review.googlesource.com/238084Reviewed-by:
Kenneth Russell <kbr@chromium.org> Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Austin Kinross authored
Change-Id: I16453248c2cb0aaf53a748eb8d6e32c63fa73394 Reviewed-on: https://chromium-review.googlesource.com/261983Tested-by:
Austin Kinross <aukinros@microsoft.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
- 23 Mar, 2015 4 commits
-
-
Nico Weber authored
::testing::WithParamInterface ends up calling deleting an object with the type of the template parameter, and the pointer it deletes could arguably point to a subclass of the param object -- so clang warns that there's a delete on a class with a virtual method but without a virtual dtor. Make the param classes final to let the compiler know that this can't happen in practice. BUG=chromium:82385 Change-Id: I49a4120b15670d876613b22ba709d50bf4685006 Reviewed-on: https://chromium-review.googlesource.com/261965Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Nico Weber <thakis@chromium.org>
-
Geoff Lang authored
BUG=angleproject:880 Change-Id: I67839d4934767db77cff7b501002c5aafbcbaef2 Reviewed-on: https://chromium-review.googlesource.com/257672Tested-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:881 Change-Id: If81675ef4931c920edac56249461db7c91cc170c Reviewed-on: https://chromium-review.googlesource.com/261708Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
Comparing structures that contain arrays to each other and assigning structures that contain arrays is "not defined" in ESSL 1.00 (section 5.7). Sections 5.8 and 5.9 further suggest that these operations are not allowed. Additionally some platform drivers on Linux seem to reject shaders produced by ANGLE which compare structures containing arrays. This might require changing the output GLSL version for ESSL 3.00. BUG=angleproject:954 TEST=angle_unittests Change-Id: I5f3a016f360f940f2fc1ec1ff8e60d13a977eb69 Reviewed-on: https://chromium-review.googlesource.com/261531Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-