- 06 May, 2014 8 commits
-
-
Jamie Madill authored
When we would allocate huge buffers, we would not always gracefully fail and return a GL error back to the application. We should be able to better handle buffer allocation failures with this patch. BUG=angle:634 Change-Id: Ic3edce6d22b731ec52666a2a0e82f9a4fbbb23ae Reviewed-on: https://chromium-review.googlesource.com/197994Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
The pack pixels operation is split in two halves: a GPU copy then a CPU readback. We defer the CPU readback until we can't wait any longer. That is, we do the readback when the user maps the buffer, or there's another readback or internal operation. This offers the benefits of doing as much GPU work as asynchronously as possible, and only doing the readback work on related API calls (map or subsequent pack calls). BUG=angle:511 Change-Id: I95a01da2b0e842438b180e8cdbb382c9a46ae210 Reviewed-on: https://chromium-review.googlesource.com/197836Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
We would generate multiple vertex binaries that result in the same HLSL code, eg for vec2 and vec3 vertex attributes. Eliminate duplicates by using the converted attribute type for testing for matching binaries. BUG=angle:599 Change-Id: I061588164577ff9fa69ebb7d8a3f2bf6bb6fe013 Reviewed-on: https://chromium-review.googlesource.com/197830Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
It seems we weren't catching bad_alloc despite using the correct syntax. Using ellipses solves the problem, and since we only expect bad_alloc it does the equivalent result of catching and returning out of memory. I'm currently not aware of the proper syntax to catch bad_alloc. BUg=angle:634 Change-Id: Ib3154546d1b72d180cb565c71f35716696863cdd Reviewed-on: https://chromium-review.googlesource.com/198245Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angle:640 Change-Id: I5fe568c9a2b492a5bd8a42142762229c5f992c7e Reviewed-on: https://chromium-review.googlesource.com/198248Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
BUG=angle:511 Change-Id: I72ff4f8fa83d9dda4d186d727035085ecc39a9dc Reviewed-on: https://chromium-review.googlesource.com/197703Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
BUG=angle:511 Change-Id: Id795a85ec1daa396fc51f021c37fe23df3ecc065 Reviewed-on: https://chromium-review.googlesource.com/197702Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Keeping a persistent storage allows us to treat the memory buffer as the canonical copy of the pack buffer data, and simplifies corner cases. BUG=angle:511 Change-Id: Ied4dcb2edce2b85f68645f5a65603cbf18ad5a16 Reviewed-on: https://chromium-review.googlesource.com/197701Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 02 May, 2014 1 commit
-
-
Geoff Lang authored
Update the BufferStorage classes to use size_t for all sizes and offsets. BufferStorage9 now uses a std::vector to manage its memory. BUG=angle:631 Change-Id: Iea4e7b33ede59a5b9c6a1245690c4b7865096fc3 Reviewed-on: https://chromium-review.googlesource.com/197819Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 01 May, 2014 6 commits
-
-
Jamie Madill authored
Any time the git index changes, we will re-run the commit id hook. This will ensure we never are left with stale commit ids from other git commits. BUG=angle:626 Change-Id: I03c37225fb902b6c1801e8f993d767122e8bfeb6 Reviewed-on: https://chromium-review.googlesource.com/197723Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Nicolas Capens authored
The generic alignment and conversion test to check for the possibility of using direct storage is relatively expensive. Float types can be tested more quickly. BUG=angle:613 Change-Id: I5ab008ce82c8b652f0392c20a80a5b198b2437a5 Reviewed-on: https://chromium-review.googlesource.com/197721Tested-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Several small build errors present on Linux cropped up due to different warning flags and platform quirks. BUG=angle:627 Change-Id: If8f651cacf05bb06ecb129be47b12729ccc3f69b Reviewed-on: https://chromium-review.googlesource.com/197724Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Nicolas Capens authored
BUG=angle:613 Change-Id: Id2ecfc215ef65164cb9ee8bfbad168e9af658386 Reviewed-on: https://chromium-review.googlesource.com/197722Tested-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org>
-
Nicolas Capens authored
BUG=angle:613 Change-Id: I488dca027e3f6d23cda546ca44af54dcc3338047 Reviewed-on: https://chromium-review.googlesource.com/197720Tested-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org>
-
Nicolas Capens authored
BUG=angle:613 Change-Id: Ia0d9f4ff3b4ace57532b061f5729fa82f49c4497 Reviewed-on: https://chromium-review.googlesource.com/197710Tested-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org>
-
- 30 Apr, 2014 4 commits
-
-
Nicolas Capens authored
"Refactor BufferStorage11" caused a performance regression by dropping the line which sets mReadUsageCount to 0. This causes markBufferUsage() to clear mResovedData which then has to be restored on the next getData() call. BUG=angle:613 Change-Id: I61c4b4960305a69b315c20ced66265a770002338 Reviewed-on: https://chromium-review.googlesource.com/197503Tested-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
CompressedTexSubImage would disallow 1x1 or 2x2 mips being set for any mip level except 0. This made it impossible to set the data in the lowest mip levels. BUG=angle:623 Change-Id: I623414ae4fd5d6b051579285160296b03fd36486 Reviewed-on: https://chromium-review.googlesource.com/197250Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org> (cherry picked from commit cc84a853) Reviewed-on: https://chromium-review.googlesource.com/197654
-
Geoff Lang authored
BUG=angle:625 Change-Id: I8bba0dea26eacf02df4568cfb6840aa332bd0df8 Reviewed-on: https://chromium-review.googlesource.com/197655Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
We had neglected to reference scope bracket values when initially constructing the scoped struct name. Fixes the new WebGL test. BUG=angle:618 Change-Id: Ie78a8264c9e16c5a6574cecd662adbd5475d6495 Reviewed-on: https://chromium-review.googlesource.com/197252Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 28 Apr, 2014 7 commits
-
-
Jamie Madill authored
Only creating the staging buffer on use saves us from allocating a D3D11 staging buffer for pack buffers. This saves some memory and time when we're only using a buffer object for asynchronous readback. BUG=angle:511 Change-Id: I97b37cc27aba4a4526025815b5935b9e74abae2e Reviewed-on: https://chromium-review.googlesource.com/195367Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org> (cherry picked from commit ebf396c1) Reviewed-on: https://chromium-review.googlesource.com/197281
-
Jamie Madill authored
Internally pack buffers are CPU pointers, with an associated staging texture. In the map call we copy the data out of the staging memory to CPU memory, and return a pointer to the CPU buffer. BUG=angle:511 Change-Id: I2a82addd2f21241d8d49554b2fc71d890a166386 Reviewed-on: https://chromium-review.googlesource.com/195366Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org> (cherry picked from commit 0b44a455) Reviewed-on: https://chromium-review.googlesource.com/197272
-
Jamie Madill authored
BUG=361931 Change-Id: Ib44667422f524e5dcc3035692e8f725c24e92821 Reviewed-on: https://chromium-review.googlesource.com/194981Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org> (cherry picked from commit 6795ca48) Reviewed-on: https://chromium-review.googlesource.com/197251Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
With this change, the common sources shared between translator and translator_static are compiled in a static library. There is only one file with exported functions which needs to be compiled for each target. This should reduce ANGLE and chromium build times. BUG=angle:569 Change-Id: I3ce011872323ec988befbd6db731add4fce5787b Reviewed-on: https://chromium-review.googlesource.com/197271Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Zhenyao Mo authored
The TType constrcuted is using es2 signature, which is different from the es3 signature. BUG=angle:568 TEST=webgl conformance tests with --init_varyings_without_static_use commandline switch Change-Id: I15347c7a6fe67e9214e4c96b156a50806a90c97c Reviewed-on: https://chromium-review.googlesource.com/197294Reviewed-by:
Kenneth Russell <kbr@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Zhenyao Mo <zmo@chromium.org>
-
Geoff Lang authored
BUG=angle:622 Change-Id: I74ef5b684151895b24a15fa8f799a633174622c2 Reviewed-on: https://chromium-review.googlesource.com/197270Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Zhenyao Mo authored
Basically outside TCompile::compile(), the global parse context is invalid, and should never be queried. BUG=angle:568 TEST=webgl conformance tests, no crash Change-Id: I5573ce2bf3bf838ab24f59dda00948f60a0b023d Reviewed-on: https://chromium-review.googlesource.com/197178Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Kenneth Russell <kbr@chromium.org> Tested-by:
Zhenyao Mo <zmo@chromium.org>
-
- 25 Apr, 2014 1 commit
-
-
Geoff Lang authored
BUG=angle:611 Change-Id: Ieb250bda25d62cda3e0690d05d814a4a39062d92 Reviewed-on: https://chromium-review.googlesource.com/197042Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 24 Apr, 2014 4 commits
-
-
Jamie Madill authored
Forcing the release ensures we always manually deallocate resources, and allows us to compile for different shader model versions after releasing the renderer. BUG=angle:619 Change-Id: I0c9d68a454c7779a024f4fcc4f4987c2abe12e60 Reviewed-on: https://chromium-review.googlesource.com/196820Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Nicolas Capens <nicolascapens@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
When we switched from converting 8-bit normalized signed int from a full 32-bit float expansion to a 4-channel 8-bit format, we broke an ANGLE test. Giving the test a slightly looser bound produces the correct output, due to floating point rounding. BUG=angle:612 Change-Id: I8781e6efe83341e22d31d35b35e0048889bcd540 Reviewed-on: https://chromium-review.googlesource.com/196532Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angle:620 Change-Id: I956b7fc4ed0be99239e4ed1c63b51732727cc87f Reviewed-on: https://chromium-review.googlesource.com/196840Tested-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org>
-
Jamie Madill authored
We weren't properly checking the x and y offsets against the texture boundary, and were in some cases producing D3D errors with out-of-bounds writes. This was popping up in IncompleteTextureTest. The test itself was also bugged. BUG=angle:610 Change-Id: Id58cac088fed03cae2aabbf00bce234f17208753 Reviewed-on: https://chromium-review.googlesource.com/195410Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
- 22 Apr, 2014 5 commits
-
-
Jamie Madill authored
In a Chromium build, we must respect initializer order due to extended warnings. BUG=angle:568 Change-Id: I4d86fdd2c5663524c2ffd17e3e3c26da1ff3ccdb Reviewed-on: https://chromium-review.googlesource.com/196291Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
The release build was complaining about a missing size_t definition in blocklayout.h. BUG=angle:568 Change-Id: I9757f3ac45627a2a73d4f90cc507f8620674820e Reviewed-on: https://chromium-review.googlesource.com/196290Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angle:560 Change-Id: I9d0e8ce01db91a828bc7ae2da74c8ddce60f0184 Reviewed-on: https://chromium-review.googlesource.com/196192Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
Shannon Woods authored
Change-Id: I9e0e32d94f24fb32e9971772fb7cd68cd36ab47d Reviewed-on: https://chromium-review.googlesource.com/196280Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Shannon Woods <shannonwoods@chromium.org>
-
Geoff Lang authored
BUG=angle:616 Change-Id: I964ddc4a3d51d5f202608e3162edb684290cbc6a Reviewed-on: https://chromium-review.googlesource.com/195731Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Tested-by:
Geoff Lang <geofflang@chromium.org>
-
- 17 Apr, 2014 4 commits
-
-
Jamie Madill authored
Clang's validation is a bit more thorough than GCC's or MSVC's and picked up a few new errors and warnings. We missed a few default cases in switches and used an improper type for default arguments. BUG=angle:568 Change-Id: I34239c6c5c785ad1e62917fc37c3243f4c5b5f1b Reviewed-on: https://chromium-review.googlesource.com/195472Tested-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
We were missing several header includes necessary for GCC. Also our static assert macro had a bug, preventing us from using the same assert in multiple places. BUG=angle:568 Change-Id: I01bcdef033a9380f436cbf4bd2a9f11b1553887c Reviewed-on: https://chromium-review.googlesource.com/195471Reviewed-by:
Shannon Woods <shannonwoods@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-
Nicolas Capens authored
EGL_BAD_NATIVE_WINDOW is exclusively for indicating that the native window handle is invalid. Since we're seeing this error on switches between full-screen and windowed, EGL_BAD_MATCH seems like a better fit. BUG=361553 Change-Id: If0e2c4e5efd90838629b2769f20fcffdad4c30a9 Reviewed-on: https://chromium-review.googlesource.com/195363Tested-by:
Nicolas Capens <nicolascapens@chromium.org> Reviewed-by:
Shannon Woods <shannonwoods@chromium.org>
-
Jamie Madill authored
This patch covers the basic implementation in the buffer storage. BUG=angle:511 Change-Id: Ie7dcb11e42e568115521cc3e4ed479d3486ac957 Reviewed-on: https://chromium-review.googlesource.com/193621Reviewed-by:
Geoff Lang <geofflang@chromium.org> Tested-by:
Jamie Madill <jmadill@chromium.org>
-