src


Log

Author Commit Date CI Message
Geoff Lang a836e48a 2014-04-28T10:08:27 Allow non-4x4 compressed blocks for small mip layers. 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/197250 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> (cherry picked from commit cc84a853eb5ab63a744657da704f84905565ab9e) Reviewed-on: https://chromium-review.googlesource.com/197654
Geoff Lang f20f0206 2014-04-28T11:02:07 Verify that the compiler has been initialized before freeing it. BUG=angle:625 Change-Id: I8bba0dea26eacf02df4568cfb6840aa332bd0df8 Reviewed-on: https://chromium-review.googlesource.com/197655 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 17a0e632 2014-04-25T11:29:54 Fix scoped structure references. 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/197252 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e7a453a5 2014-04-24T14:50:57 Lazy creation of the BufferStorage staging buffer. 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/195367 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> (cherry picked from commit ebf396c1dd243223240bac6ea7f01a23893f9a28) Reviewed-on: https://chromium-review.googlesource.com/197281
Jamie Madill 73571e66 2014-04-24T14:50:56 Implementation of buffer map for pack buffers. 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/195366 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> (cherry picked from commit 0b44a455b5a81b84662e57f30348f4e791f62358) Reviewed-on: https://chromium-review.googlesource.com/197272
Jamie Madill 006ed1ed 2014-04-28T15:47:39 Reduce translator sources compile count to one. 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/197271 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Zhenyao Mo 66e5dda7 2014-04-28T11:13:25 Fix a bug in init_varyings_without_static_use workaround. 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/197294 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org>
Geoff Lang c41e42d4 2014-04-28T10:58:16 Early-out of *TexSubImage* calls when the width, height or depth is zero. BUG=angle:622 Change-Id: I74ef5b684151895b24a15fa8f799a633174622c2 Reviewed-on: https://chromium-review.googlesource.com/197270 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Zhenyao Mo 7faf1a14 2014-04-25T18:03:56 Fix a mem corruption in ANGLE translator. 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/197178 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org>
Jamie Madill bde4c2f7 2014-03-21T10:42:10 Force a compiler release when we terminate the Renderer. 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/196820 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang cdacacdd 2014-04-24T12:01:56 Add validation for unsized BGRA texture formats. BUG=angle:620 Change-Id: I956b7fc4ed0be99239e4ed1c63b51732727cc87f Reviewed-on: https://chromium-review.googlesource.com/196840 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill f67115ce 2014-04-22T13:14:05 Fix validation in TexSubImage. 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/195410 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 42350abc 2014-04-22T15:05:26 Fix Linux GCC unit test build. 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/196291 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9fba2ba0 2014-04-22T14:21:00 Fix GCC Release build. 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/196290 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Shannon Woods 32e66b7a 2014-04-22T13:54:56 Add newline to fix clang compile Change-Id: I9e0e32d94f24fb32e9971772fb7cd68cd36ab47d Reviewed-on: https://chromium-review.googlesource.com/196280 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 6cec8509 2014-04-19T12:39:25 Re-enable RTTI and fix compilation errors. BUG=angle:616 Change-Id: I964ddc4a3d51d5f202608e3162edb684290cbc6a Reviewed-on: https://chromium-review.googlesource.com/195731 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 10567260 2014-04-17T16:40:00 Fix build with Clang. 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/195472 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 4f267868 2014-04-17T15:53:37 Fix Linux build. 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/195471 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens fbcc6345 2014-04-17T10:38:38 Report unknown swap error as EGL_BAD_MATCH. 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/195363 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill c9fa6ed1 2014-04-17T11:53:40 Implement asynchronous readback with PBOs. This patch covers the basic implementation in the buffer storage. BUG=angle:511 Change-Id: Ie7dcb11e42e568115521cc3e4ed479d3486ac957 Reviewed-on: https://chromium-review.googlesource.com/193621 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 7538f7fa 2014-04-17T11:53:39 Refactor Renderer11 to accomodate pixel pack. Splitting the readTextureData call allow a pack buffer read to return asynchronously after the D3D11 CopySubresource call. Refactoring patch only. BUG=angle:511 Change-Id: I3459ddfa7b48497b25fb2f4890e1cc1341e2cf75 Reviewed-on: https://chromium-review.googlesource.com/193620 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4305fea1 2014-04-16T15:12:35 Add a pack buffer storage to BufferStorage11. This new storage implementation uses CPU memory to read back pixel data from a texture. We use this class to implement pack buffers for asynchronous pixel readback. BUG=angle:511 Change-Id: Ifebd242047291af6b34c981231b69987b87d290d Reviewed-on: https://chromium-review.googlesource.com/193243 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 834e8b77 2014-04-11T13:33:58 Move ShaderVariables to common shared source. Also move the block layout encoding utilities to the common folder. The combined changes allow us to include the shader and block code into both libGLESv2 and the translator separately. This in turn fixes the Chromium component build, where we were calling internal translator functions directly from libGLESv2. BUG=angle:568 Change-Id: Ibcfa2c936a7c737ad515c10bd24061ff39ee5747 Reviewed-on: https://chromium-review.googlesource.com/192891 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8cc03bf7 2014-04-11T13:33:57 Revert "Remove the second translator target, only using static." This reverts commit d51df461e52ac9421201234fff488104f788a7c3. Conflicts: projects/build/all.sln projects/samples/samples.sln src/compiler.gypi Change-Id: I6e1d77531df61de28e4402ed1916f6ecdebb68fd Reviewed-on: https://chromium-review.googlesource.com/192890 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang bdc9b2f0 2014-04-16T14:41:54 Add validation for GL_RED and GL_RG in glReadPixels. EXT_texture_rg adds support for these readback formats but validation was not added. BUG=angle:609 Change-Id: Iddd94bb8d8cf3b244a0d8a59cd4445ffa2ae61fe Reviewed-on: https://chromium-review.googlesource.com/195176 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang b5b02857 2014-04-16T14:39:36 Fix a semantic index not being written for gl_FragCoord. BUG=angle:608 Change-Id: Iebf7577a7a0c54cef25cfa7706840e8ad26b7a08 Reviewed-on: https://chromium-review.googlesource.com/195163 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Nicolas Capens 46485086 2014-04-15T13:12:50 Implement EXT_shader_texture_lod BUG=angle:551 Change-Id: I81d7574a15861f1b24ddf6147cf71adbf20e10f3 Reviewed-on: https://chromium-review.googlesource.com/194960 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 04296f85 2014-04-14T14:24:38 Fix comparing TextureFunction structures. Test each field for smaller or larger than, and when they're equal test the next field. BUG=angle:605 Change-Id: I2c5a90d95c7ff73b83f3067381c14b74a213ef05 Reviewed-on: https://chromium-review.googlesource.com/194602 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 84cfa124 2014-04-14T13:48:45 Fix Lod0 texture functions that take a bias parameter. Texture functions that are in a divergent path can still take a bias parameter. Treat the bias parameter as an explicit lod. The logic behind this is that the implicit lod is considerd to be 0 like with other Lod0 functions, and then the bias is added to it. BUG=angle:604 Change-Id: I2dbc309c497d37e960209f08849f9d2bc9e1fbcc Reviewed-on: https://chromium-review.googlesource.com/194544 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 35adc099 2014-04-11T17:49:31 Implement BASE/MAX_LEVEL, and MIN/MAX_LOD functionality. BUG=angle:596 Change-Id: I0c818fdc1575be1ee16966acf7b6daa067a24282 Reviewed-on: https://chromium-review.googlesource.com/193236 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 8de68287 2014-04-04T11:10:27 Implement state tracking for BASE/MAX_LEVEL, and MIN/MAX_LOD. BUG=angle:596 Change-Id: I773720a19b766c7a6930967983db0a34e84f2790 Reviewed-on: https://chromium-review.googlesource.com/193235 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 41d9f7e9 2014-04-11T17:32:55 Move common SRV management into TextureStorage11. BUG=angle:596 Change-Id: I0de2e3826e18ee769c27577b40677f0ca4da083b Reviewed-on: https://chromium-review.googlesource.com/193234 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Nicolas Capens e83fb002 2014-04-11T17:28:13 Homogenize the parameter list for all SRV creation functions. BUG=angle:596 Change-Id: Idd13aea4b4074aabbc4c183a3814226c31dda994 Reviewed-on: https://chromium-review.googlesource.com/193233 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Nicolas Capens a9f85c63 2014-04-11T17:23:29 Cache previously created SRVs. BUG=angle:596 Change-Id: I15ac729388177a2ac89df4caffad5e12c7317bd7 Reviewed-on: https://chromium-review.googlesource.com/193232 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 1d31aca9 2014-04-03T12:45:07 Deduplicate SRV creation. BUG=angle:596 Change-Id: I2f4e0c4dd5c1182db1f67589f72dafef3717b363 Reviewed-on: https://chromium-review.googlesource.com/193231 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 76b258f8 2014-04-03T10:59:42 Rename getBaseTexture to getResource, and refactor swizzleRequired. BUG=angle:596 Change-Id: I72d8796172c5db57ddeb86bbc6c08cbb2ec125f1 Reviewed-on: https://chromium-review.googlesource.com/193230 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 948f5571 2014-04-08T10:26:35 Move the map logic to the buffer storage implementation. Refactoring patch only. BUG=angle:511 Change-Id: Id69efe15ecb32d711a79cc5ff612853e29377368 Reviewed-on: https://chromium-review.googlesource.com/193242 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill ac0a267b 2014-04-11T13:33:56 Fix non-square matrix vertex attributes. When we generate an input signature for a vertex shader, we should use the transpose of the matrix type instead of the matrix type itself. This was breaking dEQP tests 'shaders.functions.datatypes'. BUG=angle:594 Change-Id: Ia945ffd865d7255500f7a62394bcd5bdfbbedef4 Reviewed-on: https://chromium-review.googlesource.com/191461 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 12bea0a9 2014-04-11T13:33:55 Stop shader local variables from using invalid qualifiers. Local variables in GLSL can't use any other storage qualifier than 'const', but we weren't checking properly. For example, the can't have 'in' or 'out' storage. This was causing a dEQP conformance test failure. BUG=angle:593 Change-Id: Ibb333950f2d0990a47d1a96caecc455497d5e57e Reviewed-on: https://chromium-review.googlesource.com/191460 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 9f45240c 2014-04-11T14:17:34 Regenerate the compiled lexer. The lexer was missing some recent changes. BUG=angle:593 Change-Id: I8fa598e5a4ae35ebc9f9a48789632b6a326bc4d3 Reviewed-on: https://chromium-review.googlesource.com/194136 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang cebb5aa0 2014-04-07T14:13:40 Fix warnings about unreferenced local variables. BUG=angleproject:602 Change-Id: I2eb04fe6eed60b3877b14628e81c0b1fe3b68647 Reviewed-on: https://chromium-review.googlesource.com/193431 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 662b8481 2014-04-11T13:10:15 Handle an unknown error when exiting fullscreen on Windows 8. BUG=361553 Change-Id: I6d3e843a8ae06f1bbd5313ed95e338cb0b74fef3 Reviewed-on: https://chromium-review.googlesource.com/194233 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 9bab6d8f 2014-04-10T13:20:13 Insert missing sampler cases in TType::buildMangledName. We were missing the cases for 2D Rect samplers and external OES samplers. This was causing an assert in the WebGL CTS in Debug. BUG=angle:550 Change-Id: Ieefeef6ff0f9a486bf7667c7efc60dee766f03ef Reviewed-on: https://chromium-review.googlesource.com/194122 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 655fe36e 2014-04-11T13:12:34 Use shader optimization level 3 selectively. Default to HLSL compiler optimization level 1 and work around a compiler bug with break in nested loops by using optimization level 3. BUG=angle:603 Change-Id: I4f7985a5648f1b5f54d80554c21aced7fc1777c2 Reviewed-on: https://chromium-review.googlesource.com/194129 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 15cba8b1 2014-04-08T10:26:34 Refactor buffer storage to split backing stores. A more flexible representation of a buffer storage implementation allows us to represent storage for D3D11 buffers, and also pack buffer as CPU memory. Refactoring patch only. BUG=angle:511 Change-Id: Ie123099f6217bec6edc98594e49333d16f006a0b Reviewed-on: https://chromium-review.googlesource.com/191033 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill eb9baabb 2014-03-24T13:19:43 Pass pack state arguments instead of split parameters. Similar to unpack state, the PixelPackState struct encapsulates all the parameters related to pixel pack buffers. Passing the packstate makes functions more consise. BUG=angle:511 Change-Id: If6954a5085e9b8f828cfc8892a73e7c7514b0c8a Reviewed-on: https://chromium-review.googlesource.com/191032 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1eb5bd76 2014-03-28T10:43:39 Clamp ReadPixels calls to unsigned limits in D3D11. GL allows reads beyond the defined pixel rectangle, although their resultant values are undefined. D3D11 gives an error when reading out-of-bounds, hence clamping the area satisfies both APIs. This fixes a Renderer crash in our ReadPixels out of bounds test, and also fixes the test to test the correct area of pixels. BUG=angle:590 Change-Id: I12439c22d53ec6a2d69e1b8cf80f53e9c18e11f7 Reviewed-on: https://chromium-review.googlesource.com/191080 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang d095bdaa 2014-04-07T14:21:14 Add a common include in the project definitions. Any projects that may be included by gyp files outside our project (chrome or skia) may not have the same defines or ignored compiler warnings. To make sure that we can always compile, each project now includes a common file with all required definitions and gyp variables. BUG=angleproject:583 Change-Id: I702bee975d0554c51bfa03981920dfb295ffbafa Reviewed-on: https://chromium-review.googlesource.com/189458 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f3e6a9e0 2014-04-07T14:18:35 Remove the angle_relative_path gyp variable. Add a separate step to copy the scripts to the intermediate directory and run them from there. BUG=angleproject:583 Change-Id: I307a2810ac03c00248cba1f227f128a1517c6574 Reviewed-on: https://chromium-review.googlesource.com/193432 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Nicolas Capens bf712d0a 2014-03-31T14:23:35 Remove max level from texture storage. BUG=angle:596 Change-Id: I174e3b73c0cb675b5c9aea5722a7051a34639831 Reviewed-on: https://chromium-review.googlesource.com/192340 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens fa7b76d0 2014-03-31T14:51:45 Remove base level from texture storage. BUG=angle:596 Change-Id: I66173f77b6c5aed3b8836cd2c9f1da02ae769429 Reviewed-on: https://chromium-review.googlesource.com/192056 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens f61738a5 2014-03-31T14:50:18 Rename lod offset to top level. BUG=angle:596 Change-Id: Ic256445528d6587adcf0adfd8aaba5e47778988b Reviewed-on: https://chromium-review.googlesource.com/192055 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens e47e7363 2014-03-27T13:34:56 Create a single-level SRV when not mipmapping. BUG=angle:596 Change-Id: Iec5a9e43a23c0743ff8b01985a86a72c5f18a7f7 Reviewed-on: https://chromium-review.googlesource.com/192052 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens a10c1c7e 2014-03-27T11:20:52 Pass all sampler state to getSRV. BUG=angle:596 Change-Id: I4f97ea7c43bf12f5d986db39ae67d87074f98e82 Reviewed-on: https://chromium-review.googlesource.com/192051 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 3b3ad1fe 2014-03-05T14:35:01 Remove excess dereferences and casts. The behaviour of dereferencing an array on the stack is the same as simply using the array but it is counter-intuitive, error prone and requires a cast to fit the required type. Change-Id: Ib14e902293cf6dc71aaf944d57f53ea895a680ab Reviewed-on: https://chromium-review.googlesource.com/188875 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 98705b7d 2014-03-31T16:00:03 Fix off-by-one error with the number of storage mip levels. This caused there to be too few mip levels in the TextureStorage and it would be discarded if there was a modification to a lower mip. Also modified Texture::mipLevels to return the number of mip levels rather than the index of the smallest mip to avoid confusion. Fixes WebGL D3D9 conformance failures in: mipmap-fbo BUG=angleproject:550 Change-Id: Idf3f543487232edceb520337331b39dab2bd26ba Reviewed-on: https://chromium-review.googlesource.com/192341 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang ca623f3f 2014-03-28T13:43:54 Add a B8G8R8X8 type for mipmaping, reading and writing D3D9 BGR textures. Fixes WebGL D3D9 conformance failures in: context-attributes-alpha-depth-stencil-antialias copy-tex-image-2d-formats.html texture-attachment-formats.html BUG=angle:550 Change-Id: I09d42c5e6cf7d880841207627fd20698ed188a6a Reviewed-on: https://chromium-review.googlesource.com/191935 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 8b4f8f84 2014-03-26T14:01:58 Fix D3D11 resource leaks. A few bugs, like missing destructors or Release calls were leaking D3D resources in a few places on exit. This patch should fix all the unreleased D3D object warnings on exit when running a sample app. BUG=angle:589 Change-Id: Ib50df3229998938cddc2859d6f2d19ddd3a4db47 Reviewed-on: https://chromium-review.googlesource.com/190079 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 0979e7aa 2014-03-27T14:48:39 Fix D3D9 short attributes to int component type. In the component type lexicon, we only use float/int/uint/norm, and we were marking the D3D9 short vertex attributes as short. This fixes the WebGL Test gl-vertexattribpointer-offsets. BUG=angle:550 Change-Id: I3853df8bad5c98b8d0986bfa4ea73d254264ad56 Reviewed-on: https://chromium-review.googlesource.com/191950 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1e194d31 2014-03-27T13:41:18 Use correct input stride for disabled attribs. We were using the input stride from the disabled vertex attribute. This was breaking the gl-disabled-vertex-attrib test in D3D9. BUG=angle:550 Change-Id: Ia5a37dc39105fe8ec92f4adbee3cfb2905e82676 Reviewed-on: https://chromium-review.googlesource.com/191932 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 6654bc93 2014-03-26T14:01:57 Fix stack overflow when parsing huge expressions. The expression limit validation check needs to be in front of other tree traversal to prevent stack overflows. Also, call depths of sufficient size (80k+) could overflow the depth check itself, necessitating an upper bound on initial tree traversal. This fixes crashes in the WebGL long-expressions bug test. BUG=angle:584 Change-Id: Ib48294bf77a5923d230f237fbd63a36a5662e317 Reviewed-on: https://chromium-review.googlesource.com/191931 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill dd0d3426 2014-03-26T14:01:56 Use a heap-memory traversal to free compiler resources. The stack-memory traversal is prone to stack overflow. See the WebGL conformance test long-expressions-should-not-crash. BUG=angle:584 Change-Id: I02d72bc2e4101b7141d609c50303403ea8298e60 Reviewed-on: https://chromium-review.googlesource.com/191930 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 6e05c272 2014-03-17T10:46:54 Compile shaders with the best profile available. Instead of always compiling D3D11 shaders with shader model 4, compile with the latest profile that the current feature level allows. BUG=angle:495 Change-Id: I478d3d4a1aadf24d893508eee1a8c11e501bc084 Reviewed-on: https://chromium-review.googlesource.com/190340 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 4c5c6bbb 2014-02-05T16:32:46 Add support for drawing with transform feedback. BUG=angle:495 Change-Id: Ib9c19130dfbc44a99998c5d6d8160bfc2b683eb9 Reviewed-on: https://chromium-review.googlesource.com/185037 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Shannon Woods 916e769a 2014-03-27T16:58:22 Adds support for EXT_map_buffer_range BUG=angle:581 Change-Id: I0ab637db35afd51ff4c516bb97e954f4f2cdad3d Reviewed-on: https://chromium-review.googlesource.com/191710 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Shannon Woods b3801744 2014-03-27T14:59:19 Adds support for OES_mapbuffer BUG=angle:581 Change-Id: I05824051789a77c8169ec5830731e6155c507fc4 Reviewed-on: https://chromium-review.googlesource.com/191650 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill f81e69b9 2014-03-26T14:05:48 Make D3D9 default again. BUG=angle:568 Change-Id: I4b60084f2be0c04bb2f7dd78e78e2ef2825adc00 Reviewed-on: https://chromium-review.googlesource.com/191552 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 48dcae7b 2014-02-05T16:28:24 Added transform feedback shader generation. BUG=angle:495 Change-Id: I41a0177fd3eb43c9f4ab9e54faeadac3eb483c2c Reviewed-on: https://chromium-review.googlesource.com/185035 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 1b6edcb6 2014-02-03T14:27:56 Add remaining transform feedback queries. BUG=angle:493 Change-Id: I8841af50dcb90e7fb8a811b95d015bfdd2c5d226 Reviewed-on: https://chromium-review.googlesource.com/191035 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
John Bauman 3dc300a5 2014-01-28T15:30:35 Allow creating fixed-size window surfaces. BUG=320021 Change-Id: I97cdd65ac17ee142700dbf0f363891500e967571 Reviewed-on: https://chromium-review.googlesource.com/184205 Reviewed-by: John Bauman <jbauman@chromium.org> Tested-by: John Bauman <jbauman@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/190563 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill f0b40601 2014-03-24T14:49:11 Clean up gyp build scripts. We can use angle_path instead of angle_build_scripts_path to locate enumerate_files.py. Also pass angle_path to the post-build script hook, as this information is necessary to locate the root angle folder. BUG=angle:592 Change-Id: I06b3f0201751d90b7c1efdefe8db07d114bd87dd Reviewed-on: https://chromium-review.googlesource.com/191082 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 41a49272 2014-03-18T16:10:13 Fixed error message for exceeding maximum struct nesting. It got broken in r2423. We were referring to field-name as struct-name. This patch fixes the regression and also improves the error message by adding the field-name. BUG=angle:459 R=kbr@chromium.org Review URL: https://codereview.appspot.com/12891043 Change-Id: I9ac9a8dafcad1857f7d39e6d494e457d1fc50f70 Reviewed-on: https://chromium-review.googlesource.com/190530 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 1e40d1c9 2014-03-18T22:41:22 Revert "Add remaining transform feedback queries." This reverts commit 4251b75830f91df68df80a096a0713830c73b1cc. Change-Id: I95afebcaf91ee38a121df20f403eb06f19b2510a Reviewed-on: https://chromium-review.googlesource.com/190560 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Shannon Woods 4dfed837 2014-03-17T20:03:39 Validate target parameter in CopyTexImage calls before using to check mip level Would cause UNREACHABLE to be triggered if target was invalid, and INVALID_VALUE to be returned instead of INVALID_ENUM if it were the only erroneous argument. Change-Id: I2606e77379fa2832a50b3a299e6474a4b2f68afa Reviewed-on: https://chromium-review.googlesource.com/189701 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 4251b758 2014-02-03T14:27:56 Add remaining transform feedback queries. BUG=angle:493 Change-Id: Ibeae41da2b83ab63d237912602ba5d2aad0bbec2 Reviewed-on: https://chromium-review.googlesource.com/185036 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill e708fc02 2014-03-17T10:23:18 Only use map-write instead of map-write-discard. In D3D11, map-discard is reserved for DYNAMIC usage buffer, which are resources that live on the GPU. Staging buffers don't have the notion of map-discard, and using them with discard gives a D3D11 error. This patch fixes crashes in dEQP buffer.map.write.invalidate. BUG=angle:587 Change-Id: Ie225e72d4e226c69e73826c9fb67bbb940bbc466 Reviewed-on: https://chromium-review.googlesource.com/190072 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 0c66720a 2014-03-17T10:06:09 Fix unsigned integer R10G10B10A2 vertex formats. We were incorrectly setting the signed parameter to true in the vertex format table. This fixes a dEQP test in vertex_arrays.output_types. BUG=angle:586 Change-Id: I84dcdee89a95369cc8e41d451f96dbb8daa37b6d Reviewed-on: https://chromium-review.googlesource.com/190056 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill a53ab517 2014-03-17T09:47:44 Fix linking of struct varyings. The dEQP varying struct linkage tests were triggering asserts when we tried to query component info of struct types. BUG=angle:580 Change-Id: I61e33573c5577a327c58fec7a07ae7718690ac42 Reviewed-on: https://chromium-review.googlesource.com/189194 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 3b7e205c 2014-03-17T09:47:43 Fix matrix input attributes and formats. We can't assume we have a simple mapping between input attribs and shader attribs. The app specifies matrix input attribs as several vector inputs, while the shader uses a single matrix type. BUG=angle:576 Change-Id: I4e3cdde4a14a5f06b86052dfe0325113cbe8e599 Reviewed-on: https://chromium-review.googlesource.com/189193 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Shannon Woods 4d161bad 2014-03-17T18:13:30 Amends CopyTexImage validation to conform to new language in the ES 3.0.3 spec. bug=angle:582 Also performs format checks for non-subimage copies, and permits unsized format textures as destination for the copy. Change-Id: Id647bb968416fbd35e1c70e5da21c81367e08f07 Reviewed-on: https://chromium-review.googlesource.com/189431 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Geoff Lang 626d54e8 2014-02-07T14:24:12 Disable MRT support when using D3D10 feature levels. D3D10 cards perform poorly when the pixel shader outputs to multiple render targets that are not bound. BUG=325581 Change-Id: I13f6f98861ffeb77cd21f7401ded4425e4ea7841 Reviewed-on: https://chromium-review.googlesource.com/185400 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/190341
Geoff Lang 7840b170 2014-03-13T11:20:44 Cache bound vertex and index buffers by ID3D11Buffer instead of serial. Since a DirectBuffer11 may return different buffers from getBuffer depending on the required buffer type and if the internal buffers are dirty or not, the current serial is not reliable. Use the actual buffer object so that there can be no missmatch. BUG=350581 Change-Id: I6ea1616273346117a17646edb68e6518e584f2b1 Reviewed-on: https://chromium-review.googlesource.com/189435 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 72b16b25 2014-03-06T14:58:10 Fix incorrect path usage in generate_projects. We should use the cross-platform os.path.join() to support platforms other than Windows. BUG=angle:577 Change-Id: I9d96fc1b13731a57ffcd97469632f0acedb8e5c7 Reviewed-on: https://chromium-review.googlesource.com/188879 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org> Conflicts: generate_projects Change-Id: I76cacb8ee3acf477c0e99cd73cf91622efc3c9b4 Reviewed-on: https://chromium-review.googlesource.com/189131 Tested-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 26e9195f 2014-03-05T15:01:27 Refactor ReadPixels validation. Move ReadPixels error generation out of the implementation and into the API level. BUG=angle:571 Change-Id: I0b32294f359fedd13d1af2c95baf37a3e5ac1d5b Reviewed-on: https://chromium-review.googlesource.com/188014 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 70656a64 2014-03-05T15:01:26 Implement queries and enums for buffer mapping. GetBufferPointerv, GetBufferParameteri64v, and new values for GetBufferParameteriv. BUG=angle:565 Change-Id: I179a3193987b2bff1b0628e47f6a0d627541b0cf Reviewed-on: https://chromium-review.googlesource.com/188203 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens bd0ea9c7 2014-03-04T13:53:29 Don't attempt to perform constant folding with an uninitialized constant variable. BUG=348205 Change-Id: I9be17832b1a35d2995725ab147977992c2732274 Reviewed-on: https://chromium-review.googlesource.com/188711 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/189471
Zhenyao Mo 3cdfcce8 2014-03-07T13:00:08 Remove SH_MAP_LONG_VARIABLE_NAMES We use hashing to map all variables/strcuture field names, etc, so we no longer need this option. Checked with Firefox and WebKit, they no longer use this option either. Time to remove it. Change-Id: Ie3e79b91a05258b04af419a9c42b2fd1b00e67c4 Reviewed-on: https://chromium-review.googlesource.com/189236 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/189568
Zhenyao Mo 550c600b 2014-02-26T15:40:48 Improvement on loop unrolling with loops indexing sampler arrays 1) Before this workaround is hardwired on mac, now we move it behind a compil 2) Fix the issue where "break" inside the loop isn't handled while unrolled. BUG=338474 TEST=webgl conformance test sampler-array-using-loop-index.html Change-Id: I4996a42c2dea39a8a5af772c256f8e3cb383f59a Reviewed-on: https://chromium-review.googlesource.com/188079 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org> Conflicts: include/GLSLANG/ShaderLang.h src/compiler/translator/ValidateLimitations.cpp Change-Id: I546197bd7df1634ebccdd380be14c3250cd56151 Reviewed-on: https://chromium-review.googlesource.com/189061 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org>
Geoff Lang 2515c520 2014-03-07T10:28:43 Fix compile errors on pre-C++11 compilers. BUG=angle:575 Change-Id: Ibad77fda193c850c29483aa56d0d2275c131429a Reviewed-on: https://chromium-review.googlesource.com/189163 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang feee44bf 2014-03-05T11:34:31 Keep the debug log file open and flush with each message. Instead of opening and closing the debug log file with each message, keep it open permanently and flush it with each message, allowing the OS to flush to disk as needed. With debug logging enabled, performance is improved by 100x! Also, dynamically size the output buffer to the max message size. When running all the samples, the largest debug message was 318 characters so an initial size of 512 (instead of 32768) seems reasonable. BUG=angle:575 Change-Id: If4a1387431fc2d32a6b2d1f9ca1f2590473feb86 Reviewed-on: https://chromium-review.googlesource.com/188713 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 7a5f738b 2014-03-05T15:01:24 Implement buffer map related entry points and errors. BUG=angle:565 Change-Id: I14cee4eec032d4b6b8d9479da4234b81e4ec6bec Reviewed-on: https://chromium-review.googlesource.com/188202 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8c96d58a 2014-03-05T15:01:23 Add helper methods for buffer enum tagets. A query helper method in Context and a validation helper method reduce code redundancy quite a bit. BUG=angle:565 Change-Id: I96b9ecc4614e7e31240e31594223e8b9636d22c2 Reviewed-on: https://chromium-review.googlesource.com/188201 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang eeba6e1e 2014-02-03T13:12:30 Added methods for applying the current transform feedback buffers. BUG=angle:495 Change-Id: I2d9fbf9c245bc519b8c5a724ca3912aaa7a23d97 Reviewed-on: https://chromium-review.googlesource.com/185034 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill ca442ba4 2014-03-05T09:53:30 Fix default bits for 3-channel un-normalized int. GPU conversion means we should be using a default of 1 as for int types instead of the MAXINT value for normalized types. Fixes the WebGL test for vertex attribs with offsets. BUG=angle:550 Change-Id: I1aa1b1bae2282e8eda96366adeec492ffe1d5728 Reviewed-on: https://chromium-review.googlesource.com/188433 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2f612290 2014-03-05T09:53:29 Combine widen and defaultBits params of copyVertexData. Since we never, and never will use a default value of zero for the alpha channel, we can use a value of zero to indicate no widening. This has the benefit of not needing a default value where it does not apply. BUG=angle:550 Change-Id: Ifdfedcb16039aa1d7f8ee644b65c6b4d89f9a384 Reviewed-on: https://chromium-review.googlesource.com/188432 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 0027fa9f 2014-02-20T14:26:42 Emulate integer cube texture sampling as an array of six 2D textures. BUG=angle:525 Change-Id: I3c3ec2cecebf9e745f0c02a132433e3076a6fdea Reviewed-on: https://chromium-review.googlesource.com/187534 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill d51df461 2014-02-26T14:18:17 Remove the second translator target, only using static. Because libGLESv2 needs a static translator to link against internal types like Attribute and Varying, as well as using some other internal methods, we can for now disable the component build for the translator. In the future we can support a proper component build with exports across library boundaries. BUG=angle:568 Change-Id: Ie3efc0a29342d02491e91952c3c2398568f83576 Reviewed-on: https://chromium-review.googlesource.com/187699 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 477bc781 2014-02-26T09:54:17 Fix crash on multiple calls to ShInitialize(). The previous fix would allow the calling app to trigger an ASSERT if it did not first call ShFinalize. Chrome would do this in some cases, causing a test failure. BUG=344043 Change-Id: I33fa0c4668dac8750ca949febc7f02cc7d3d95e7 Reviewed-on: https://chromium-review.googlesource.com/187849 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 1d1c1152 2014-02-26T11:00:28 Prevent overflow in the variable packer by sanity checking each variable. BUG=346489 Change-Id: I28f5751580729a4d4d77fa6fdee0b4a6628a05de Reviewed-on: https://chromium-review.googlesource.com/188030 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill b4d192cd 2014-02-26T09:54:10 Re-initialize shader translator properly after one shutdown. Because of a local static, we could get stuck and never re-initialize the translator after calling ShFinalize. BUG=344043 Change-Id: Ib4d18da886eac28f3e1bc959a7eadf5b34d9410f Reviewed-on: https://chromium-review.googlesource.com/186975 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/187848