- 15 Sep, 2017 1 commit
-
-
Peter Collingbourne authored
The object owned by the BindingPointer does not necessarily derive from RefCountObject; it could also just derive from RefCountObjectNoID (e.g. Compiler). Found with Clang's CFI bad cast checker. BUG=chromium:507755 Change-Id: I7e431746b2783e2fc0f2d347a4a27bd60da18473 Reviewed-on: https://chromium-review.googlesource.com/667218Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 14 Sep, 2017 7 commits
-
-
Jamie Madill authored
This will prioritize re-allocating smaller handles. It should not affect performance in most cases, but will prefer allocating handles that are in the "fast" portion of the resource map. BUG=angleproject:1458 Change-Id: Ib2853be936f09fc1e6b5bfb870c360ce8424ab5f Reviewed-on: https://chromium-review.googlesource.com/665993 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This was already implemented, it simply hooks it up to the rest of the code. Could improve performance on some badly behaved benchmarks. BUG=angleproject:1390 Change-Id: I539df611d51ca085712fa8022bf8a7c1990afc65 Reviewed-on: https://chromium-review.googlesource.com/663896 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
Jamie Madill authored
Also use a single UpdateSubresource call to update the buffer. Should improve performance on some benchmarks. BUG=angleproject:1390 Change-Id: I70d54d86d3d3beb0e2caee86338ee03081070ac8 Reviewed-on: https://chromium-review.googlesource.com/663895Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Now that we have support for the Debug runtime on the Chromium bots, we can enable the feature in angle_end2end_tests that checks for any runtime messages after test execution. They should now show up in the Chromium CQ. BUG=angleproject:1878 Change-Id: Ie7502b031a49bcb6a68cf7e3f5e40760fa076ec1 Reviewed-on: https://chromium-review.googlesource.com/667724Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Corentin Wallez authored
BUG+angleproject:2137 Change-Id: Ib33210cc89c846db665887f0e59e4b1c91fe29b7 Reviewed-on: https://chromium-review.googlesource.com/665363Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
This probably was left out accidentally. Also this fixes the return type of the prototype in the extension header (should be void, not boolean). BUG=angleproject:1523 Change-Id: I7bf0b36b05a4cba4cb6fb2411fc53103dda54bfe Reviewed-on: https://chromium-review.googlesource.com/657898Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Martin Radev authored
The ANGLE_multiview specification is modified so that Draw* generates an error if the number of views in the active program does not match with the number of views in the active draw framebuffer object. The tests and validation are modified accordingly. The patch also sets a contact person, updates the contributor list and sets the correct enum values in the ANGLE_multiview specification. BUG=angleproject:2062 TEST=angle_end2end_tests Change-Id: I15fee4c5e729605bb1d6292f7ad1155637578dea Reviewed-on: https://chromium-review.googlesource.com/663160 Commit-Queue: Martin Radev <mradev@nvidia.com> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
- 13 Sep, 2017 5 commits
-
-
Geoff Lang authored
BUG=angleproject:2148 Change-Id: If3fa4a42a7343ed133f85be1a4d9d0fa48b427cd Reviewed-on: https://chromium-review.googlesource.com/665158Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:2075 Change-Id: Ic5e061d4908c072f92f80f70fa6da27b1346cd83 Reviewed-on: https://chromium-review.googlesource.com/663944Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Also remove StateManager11::invalidateEverything. With all state application consolidated in the StateManager, it should be aware of all state changes, and shouldn't need outside notifications. BUG=angleproject:2052 Change-Id: I6748b3944b25f958fa093052bcb7336e66255dd4 Reviewed-on: https://chromium-review.googlesource.com/659400 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
BUG=angleproject:1474 Change-Id: Ie80385a9c89453694f1411e49dba7b298c3a1a6c Reviewed-on: https://chromium-review.googlesource.com/664478Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Was used in a couple other places. BUG=angleproject:2052 Change-Id: Ib335271a42c9569bbb452b6de8b683023cfc5900 Reviewed-on: https://chromium-review.googlesource.com/659399 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
- 12 Sep, 2017 24 commits
-
-
Jamie Madill authored
BUG=angleproject:2052 Change-Id: Ib6f55be3d71d083a87e845447f174a55413c8a2f Reviewed-on: https://chromium-review.googlesource.com/659398Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This adds an internal and external version of the setShaderResource method. The external version sets the state as dirty. BUG=angleproject:2052 Change-Id: I6d2d47490c0af89ff5592d4e9c53eb69f8a3264d Reviewed-on: https://chromium-review.googlesource.com/659397Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
BUG=angleproject:2052 Change-Id: I1cbf2adc09c82b9de68785265def9361eff418b3 Reviewed-on: https://chromium-review.googlesource.com/659236Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
BUG=angleproject:2052 Change-Id: I11094744bab4570712632a424f29dff8b19a8dea Reviewed-on: https://chromium-review.googlesource.com/659235Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This will make it easier to implement fast state switching on Context change. BUG=angleproject:2052 Change-Id: I045cc2164200a93215629a2746068e686d7c99ff Reviewed-on: https://chromium-review.googlesource.com/659234Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This will make it easier to do state update on context switch. BUG=angleproject:2052 Change-Id: Ia73cfd07ced40a9e22d6b34a5619250ede9e8844 Reviewed-on: https://chromium-review.googlesource.com/659233Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
There were a few calls that were using the context directly. Consolidating them in the StateManager11 class should make efficient state update after a Context switch possible. Also remove the Context parameter from the setRenderTargets methods, since these are only used internally and should be dirtying other states themselves. BUG=angleproject:2052 Change-Id: I878c99fbde7a467f30cc89f2ee5aca476b8cf506 Reviewed-on: https://chromium-review.googlesource.com/659232Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Only reset when the resource is valid. This will prevent a memory allocation that could happen when triggering suprious reset() calls. BUG=angleproject:1155 Change-Id: I3b9bc1f9e0542c14ed5fd4a03f82ad23c94b734b Reviewed-on: https://chromium-review.googlesource.com/659231 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Move this down into the D3D11 renderer. Achieve this by passing a mutable pointer to the memory program cache to the ContextImpl. This will allow the D3D11 back-end to more easily sync state then apply state changes. It also cleans up the gl-side Context a bit. BUG=angleproject:1155 Change-Id: Ia2c63c05cf414e0d0b22b69c3ed7128f0e405933 Reviewed-on: https://chromium-review.googlesource.com/659230 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This was a missing part of the validation. Makes us pass the WebGL test conformance2/rendering/blitframebuffer-outside-readbuffer. Was necessary for lazy robust resource init. BUG=angleproject:2107 BUG=chromium:644740 Change-Id: I54c50012fc09ec80a65a2e75f5bde05101c8a1a7 Reviewed-on: https://chromium-review.googlesource.com/663212Reviewed-by:
Frank Henigman <fjhenigman@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This also changes the dirty TF object to use a Serial, which is more secure for very edge-care reallocation issues. It also moves the StateManager11::updateState call to be the very first thing that happens in a draw call. This prepares the back-end for making the state sync actually happen in Context11::syncState, instead of inside the draw call. Also moves a bit more TF management code out of RendererD3D and Renderer9. BUG=angleproject:2052 Change-Id: I93d033a07be2049023111975a31637c53893e8c8 Reviewed-on: https://chromium-review.googlesource.com/659229Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This eliminates some of the redundant work we do in uniform state updates. Driver uniforms and constant buffers are no longer synched with every draw call, but only when the StateManager11 thinks they might be dirty. Should improve overall draw call throughput. BUG=angleproject:1155 BUG=angleproject:1390 Change-Id: I351c23fb18dcb3ef2f79e3b4f411e1e09c6300dc Reviewed-on: https://chromium-review.googlesource.com/659228 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This will let the StateManager11 work more easily with dirty bits. BUG=angleproject:1390 BUG=angleproject:2052 Change-Id: I9738d02e69e2062feeba4237487ad8e9ae86e78b Reviewed-on: https://chromium-review.googlesource.com/659227 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Also moves the logic of the constant buffer sync to StateManager11. Removes a few of the remaining virtual methods in RendererD3D. BUG=angleproject:1390 BUG=angleproject:2052 Change-Id: Ia6c1c3949fff84323331510d80bbfb6e1665d294 Reviewed-on: https://chromium-review.googlesource.com/659226 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:2147 Change-Id: I53062a84d48e1c106901a8c32fa49b0148baa344 Reviewed-on: https://chromium-review.googlesource.com/664059Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Allow for "empty" bindings, which are valid but represent when no object is bound. BUG=angleproject:2052 Change-Id: I0a41d1f0db3f5736e9e8f8ca3a74f41b748fd2d2 Reviewed-on: https://chromium-review.googlesource.com/659225 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Corentin Wallez authored
BUG=angleproject:2137 Change-Id: I5d840fcd7fda85d7c33a2f261586e8c3733b9781 Reviewed-on: https://chromium-review.googlesource.com/661419Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
BUG=angleproject:1387 Change-Id: Ie2277874acb9e7a3eed4bce327f2c08750213967 Reviewed-on: https://chromium-review.googlesource.com/660419Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Martin Radev authored
The patch fixes a bug with the viewport and scissor state not being correctly updated for side-by-side framebuffers. BUG=angleproject:2062 TEST=angle_end2end_tests Change-Id: I5f85b8146174d78a363316a66e2761e37305cffe Reviewed-on: https://chromium-review.googlesource.com/663260 Commit-Queue: Martin Radev <mradev@nvidia.com> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
Initialize globals in a separate function instead of a block in the beginning of main(). This way it works also for globals declared after main(). BUG=chromium:764036 TEST=angle_end2end_tests Change-Id: I2fcbb97d046589301287757dc3dde5471172a3f6 Reviewed-on: https://chromium-review.googlesource.com/663158 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
JiangYizhou authored
Implement getMultisamplefv for d3d part.Because standard D3D sample positions from https://msdn.microsoft.com/en-us/library/windows/ desktop/ff476218.aspx are fixed sample pattern,we put the sample positions into a constant array in renderer11_utils.cpp with a function to query it. BUG=angleproject:1590 TEST=dEQP-GLES31.functional.texture.multisample.samples_*.sample_position Change-Id: I6e6006ed1c4e22fe006522e9ffd3297247bee75e Reviewed-on: https://chromium-review.googlesource.com/594970 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
jchen10 authored
Add API entry and validation checks(GLES 3.1 section 7.3). Add the first 4 interfaces(PROGRAM_INPUT, PROGRAM_OUTPUT, UNIFORM and UNIFORM_BLOCK) implementation. BUG=angleproject:1920 TEST=angle_end2end_tests:ProgramInterfaceTestES31.* Change-Id: Iab80ba332e2a5e2b3e677039359e60a420e3d6b0 Reviewed-on: https://chromium-review.googlesource.com/642729 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
Extensions are now referred to by enum values instead of strings most of the time. This gets rid of unnecessary copying of strings. The code is easier to work with than before as typoing the extension enum names will be caught by the compiler. BUG=angleproject:2147 TEST=angle_unittests Change-Id: Ifa61b9f86ef03211188fc23bc23a5ce4e4d8c390 Reviewed-on: https://chromium-review.googlesource.com/571002 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Frank Henigman authored
This provides compile testing of ANGLE's Ozone GBM back end. BUG=762377 Change-Id: I3e6581307e303fe81fe754799cea9c09989e0d89 Reviewed-on: https://chromium-review.googlesource.com/660380Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
-
- 11 Sep, 2017 3 commits
-
-
Jamie Madill authored
This is a preparation for more dirty bits. It moves the driver constant buffer application into the state manager, redesigns how the dirtiness is tracked (no more memcmp) and also removes a couple of virtual calls. BUG=angleproject:1390 BUG=angleproject:2052 Change-Id: I41a75c280600ad8ba1f23c721d436214a116422a Reviewed-on: https://chromium-review.googlesource.com/659223 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Instead of storing a type GLenum, store a pointer into the type info table. This makes looking up some values a bit easier. Also includes some micro-optimizations. Improves the score of the uniforms micro-benchmark by about 12.4% on a local Windows 10 machine. BUG=angleproject:1390 Change-Id: I35f7f1c7bb3cf2c62d737b494dc56ff61ea2d1fb Reviewed-on: https://chromium-review.googlesource.com/659221 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
The type info tables were incorrectly using some information. This bug was uncovered after trying to use the tables more. BUG=angleproject:1390 Change-Id: I5eae01f51269bab05746a14bd3caabb614be210a Reviewed-on: https://chromium-review.googlesource.com/659220Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-