- 07 Apr, 2015 5 commits
-
-
Jamie Madill authored
We can use the Impl casting helper methods to clean up dynamic type casting. Change-Id: I5706da74eedd9f3cdc5a728420074a91ad7c95cb Reviewed-on: https://chromium-review.googlesource.com/263520Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This patch cleans up the rest of our custom casting helper functions. Change-Id: I41975c736765fca855c4498acca31116df3e8317 Reviewed-on: https://chromium-review.googlesource.com/263477Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Brandon Jones <bajones@chromium.org>
-
Gregoire Payen de La Garanderie authored
BUG=angleproject:965 Change-Id: I9b4b042e3f9bde3ce713a02aa353b5f3a5cff49e Reviewed-on: https://chromium-review.googlesource.com/263711Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
-
Olli Etuaho authored
This adds support to the following type of shader code, where an array constructor is used as a source of assignment: float a[3]; a = float[3](0.0, 1.0, 2.0); The assignment gets replaced in the HLSL code by a function call where the array is an out parameter and the constructor parameters are regular parameters. Constructors cannot yet be used in initializers. With this change in place, some of the relevant dEQP tests start passing. TEST=dEQP-GLES3.functional.shaders.arrays.constructor.* BUG=angleproject:941 Change-Id: I13ed603c02a30d9f9950a61c4d562ae9fac058ec Reviewed-on: https://chromium-review.googlesource.com/263403Reviewed-by:
Olli Etuaho <oetuaho@nvidia.com> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
Add limited support for parsing array constructors and writing them out as GLSL code. Still missing from this version: HLSL output, array support in initializer lists, arrays with implicit size. BUG=angleproject:941 Change-Id: I7febf80923c4cd0b730399f1f49f9456cf3668e9 Reviewed-on: https://chromium-review.googlesource.com/260572Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
- 06 Apr, 2015 1 commit
-
-
Nico Weber authored
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/264061Reviewed-by:Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 02 Apr, 2015 22 commits
-
-
Corentin Wallez authored
This reverts commit 2fc57a2a. Change-Id: I619297090c8441c1b90099437f8764263cdd68cc Reviewed-on: https://chromium-review.googlesource.com/263728Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
This reverts commit f30a9ba9. Change-Id: I577cfd1e7d5d6138413c29205cbf4d35b6861226 Reviewed-on: https://chromium-review.googlesource.com/263754Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org>
-
Geoff Lang authored
failures in angle_unittests and compilation failure on clang (see: https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder%20%28dbg%29/builds/30016/steps/compile/logs/stdio) . This reverts commit b34d1d12. Change-Id: Ia995fb2db0e891294f3461de01617cb13e5ae381 Reviewed-on: https://chromium-review.googlesource.com/263727Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This cleans up the syntax somewhat. Also place some more of the helper methods in the header. BUG=angleproject:963 Change-Id: I62419095a7b65486f54d74791027594e8e595e48 Reviewed-on: https://chromium-review.googlesource.com/263629Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This will let us squash the attachment types in a follow-up patch. BUG=angleproject:963 Change-Id: I1efb2e41aa08766189499995b3150aec6fd61c4e Reviewed-on: https://chromium-review.googlesource.com/263486Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Corentin Wallez authored
This will allow narrowing down which usages of [[flatten]] and [[unroll]] are actually useful. BUG=angleproject:937 BUG=395048 Change-Id: Icc37abf51a1407c9e7bc708dc08d3ba4050a496a Reviewed-on: https://chromium-review.googlesource.com/261189Tested-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
This will allow narrowing down which usages of [[flatten]] and [[unroll]] are actually useful. BUG=angleproject:937 BUG=395048 Change-Id: Ic31e434c7b5bb6c32eff2336e5949391bfee25a5 Reviewed-on: https://chromium-review.googlesource.com/260930Reviewed-by:
Nicolas Capens <capn@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Corentin Wallez authored
The CallDAG preprocesses the AST to construct a DAG of functions that can be used for several analysis. Use it to implement check for recursion and max call depth. It will also be used to limit the usage of [[flatten]] and [[unroll]]. BUG=angleproject:937 BUG=395048 Change-Id: I643e0ed605ad095e4fd7da4977d842be5e6a12e0 Reviewed-on: https://chromium-review.googlesource.com/229352Reviewed-by:
Nicolas Capens <capn@chromium.org> Tested-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
Fix in https://chromium-review.googlesource.com/#/c/263730/ This reverts commit 0d91328b. Change-Id: Ibab792001798eff94652345b7c12fb9a42cddb55 Reviewed-on: https://chromium-review.googlesource.com/263740Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This was giving a compile error on OSX. Also update the logic slightly. BUG=angleproject:963 Change-Id: I1ac64aa0908a58d9780054084d5c205c61848763 Reviewed-on: https://chromium-review.googlesource.com/263730Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This will give us better dashboard encapsulation when we're running on the Chromium bots. It also paves the way for more specialized draw call tests, like for indexed draw, with uniform updates, instancing, etc. BUG=angleproject:744 Change-Id: I396de28c027f99da18a0904f959d23b59cac2010 Reviewed-on: https://chromium-review.googlesource.com/263505Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
Add an AST traverser that rejects shaders with expressions that use the return value of an assignment where an array is assigned to another array. In the future this should be made into a tool that can simplify these expressions so that return values of array assignments are not used. In its current form this code prevents OutputHLSL from producing garbage code when the original code contains expressions like a = (b = c); where a, b, and c are all arrays. BUG=angleproject:960 Change-Id: I11353d7ed7160c853e58a0ef3471ca439cb314c8 Reviewed-on: https://chromium-review.googlesource.com/263070Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
Implement support for assignments where the return value of the assignment is not used in another part of the expression. TEST=WebGL conformance tests BUG=angleproject:960 Change-Id: Ibf9d71a75d27d139d2aabb5162ab04a0974321d3 Reviewed-on: https://chromium-review.googlesource.com/263222Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Giving compile errors on Clang/OSX. http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder%20%28dbg%29/builds/30008 This reverts commit 7f67b030. Change-Id: I5fb7d237c99ca9f2a8d50538f86dfc334d56ddd9 Reviewed-on: https://chromium-review.googlesource.com/263722Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
This finishes the refactoring of unary math operation handling so that IntermUnary::promote has the complete code for setting the return type of the node. BUG=angleproject:952 TEST=angle_unittests, WebGL conformance tests Change-Id: I19bd8d53029e24f734c9436eceb446b37e7fcf26 Reviewed-on: https://chromium-review.googlesource.com/262416Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
Shuffle the code around so that each part has a clear responsibility: IntermUnary::promote is responsible for setting the return type of the node, Intermediate::addUnaryMath is responsible for creating the node object, and ParseContext::createUnaryMath is responsible for validating the operand type. This removes duplicated bool type check for logical not. BUG=angleproject:952 TEST=angle_unittests, WebGL conformance tests Change-Id: I9f5a0abb6434ad2730441ea9199ec3f5382ebcda Reviewed-on: https://chromium-review.googlesource.com/262415Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Olli Etuaho <oetuaho@nvidia.com>
-
Jamie Madill authored
We can use GetAs() to retrieve the corresponding API object. BUG=angleproject:963 Change-Id: I472e13664e45f9f05621dea3d28135d4e833fb3d Reviewed-on: https://chromium-review.googlesource.com/263485Reviewed-by:
Kenneth Russell <kbr@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This class is no longer necessary or used. BUG=angleproject:963 Change-Id: I5e6fa64822e637e1cc769be6fe777fa6e13a0d83 Reviewed-on: https://chromium-review.googlesource.com/263484Reviewed-by:
Kenneth Russell <kbr@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
BUG=angleproject:964 Change-Id: I8eb3cfd8d49beded4ac55ead97b50c7691e4980a Reviewed-on: https://chromium-review.googlesource.com/263710Tested-by:
Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Instead of using an Impl type for default attachments, store the egl::Surface pointer where possible. BUG=angleproject:963 Change-Id: I3e34849e8b1ccae0c91a79617ec6f64aaaab6b10 Reviewed-on: https://chromium-review.googlesource.com/263483Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:883 Change-Id: Idc474c58d3971c5f7c2c2760cd21aefdf65424b4 Reviewed-on: https://chromium-review.googlesource.com/263502Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:885 Change-Id: I30a9bcebc80805aea0c12d9c67194b7b0c98200f Reviewed-on: https://chromium-review.googlesource.com/263475Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 01 Apr, 2015 12 commits
-
-
Jamie Madill authored
These extensions give power apps the ability to query raw device pointers from the EGL layer. EGL_EXT_device_query is based on EGL_EXT_device_base, which is being split into device_query and device_enumerate. We remove the device enumeration logic, and only allow the app to query the current device from a display, which matches how ANGLE works internally. EGL_ANGLE_device_d3d gives the app the ability to query D3D devices associated with a display. BUG=angleproject:935 Change-Id: I8079661f00d11717ed0e792c9fe8dc5c26f67dcc Reviewed-on: https://chromium-review.googlesource.com/252110Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This will let us store references to Surface in FBO attachments, even after the surface is destroyed. BUG=angleproject:963 Change-Id: I7e1cb161d1e08f78b1c4d730a32ad09ac7e61e30 Reviewed-on: https://chromium-review.googlesource.com/263482Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This allows the implementation object to also check the caps. BUG=angleproject:930 Change-Id: I5a48ad942eaa5271b60cffd931829296e5d2a767 Reviewed-on: https://chromium-review.googlesource.com/263481Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
We no longer use the DISALLOW_COPY_AND_ASSIGN macro. BUG=angleproject:956 Change-Id: I439c4d55612059d6a16ae6351c54c3817be017cf Reviewed-on: https://chromium-review.googlesource.com/263480Reviewed-by:
Brandon Jones <bajones@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Gregoire Payen de La Garanderie authored
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/263404Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
-
Geoff Lang authored
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 381f9693. Change-Id: I05f09f19e40046994d34809c5b79095458f56148 Reviewed-on: https://chromium-review.googlesource.com/263474Reviewed-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, 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/263412Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Change-Id: I5c224fe779aed90332d14e463abedf8926516156 Reviewed-on: https://chromium-review.googlesource.com/263337Tested-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
When running from within the chrome test harness, calls to CreateWindow* in debug builds would return null when the title was an empty string. Change-Id: I0d5dfb1eb824ff2a1470e7d66d850602e73988a0 Reviewed-on: https://chromium-review.googlesource.com/263430Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:890 Change-Id: I72f28583e3903b273578abb6ed487c0a8d696746 Reviewed-on: https://chromium-review.googlesource.com/261359Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Many of the members of SurfaceImpl could be stored in egl::Surface instead. This makes SurfaceImpl a pure interface and makes Surface constructors much simpler. BUG=angleproject:795 Change-Id: Ifa797b4bef84afe66f9fb3f3a6be260f726ca55c Reviewed-on: https://chromium-review.googlesource.com/261358Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Gregoire Payen de La Garanderie authored
Was ignoring the uniform block bindings. This reverts commit 7159ea67. Change-Id: Ie7d2b40d3fb2adedd309f1162fb6fd33ab0b4c3c Reviewed-on: https://chromium-review.googlesource.com/263420Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-