Log

Author Commit Date CI Message
Vladimir Vukicevic 2e660d56 2014-05-12T16:43:19 Use lowercase d3d header includes to fix ANGLE compilation on case sensitive OSes The actual D3D header filenames are all lowercase. Change-Id: I8f78d618d44360d34b5b01eb5a1972b35f2f15b7 Reviewed-on: https://chromium-review.googlesource.com/199692 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Vladimir Vukicevic 1e514358 2014-05-13T15:53:06 Add READ/DRAW_FRAMEBUFFER_BINDING_ANGLE to getQueryParameterInfo Change-Id: I3e7f5cb0b4d2829eef86b878ffede0ac86279f57 Reviewed-on: https://chromium-review.googlesource.com/199684 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Zhenyao Mo d526f989 2014-05-13T14:51:19 Fix code style violation in compiler/preprocessor BUG=angle:650 TEST=no behavior change Change-Id: Ib52f15f6471fc7897b66d11baee11216cf08158a Reviewed-on: https://chromium-review.googlesource.com/199591 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org>
Geoff Lang ae1990c8 2014-05-12T16:57:14 Track if uniform data has been updated to avoid extra Map calls. Compare all uniform data to the values currently stored in the uniform and only mark the uniform as dirty if the data is new. This saves lots of buffer map calls when the same data is set on a uniform many times. BUG=260069 Change-Id: Ic4df8a276a81b074211712ff50e5cc4d0d9bb612 Reviewed-on: https://chromium-review.googlesource.com/199346 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 64c83249 2014-05-06T10:49:24 Remove references to software rendering in Renderer9. BUG=angle:641 Change-Id: I3724c2504d43eae0528e8c72eb51e96c9d7c7a71 Reviewed-on: https://chromium-review.googlesource.com/198377 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f98e63a5 2014-05-12T16:45:12 Minimize the API calls done by InputLayoutCache::applyVertexBuffers. Reduce the number of IASetInputLayout calls to 1 in all cases and set the fewest number of buffers at once. BUG=260069 Change-Id: I059337fc6601ecefd801ef37546935becaa0d355 Reviewed-on: https://chromium-review.googlesource.com/199345 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 946b948d 2014-05-12T16:37:25 Optimize Texture*::updateStorage by iterating over fewer levels. Only update the storage on levels that exist. Especially helps for cube maps which have 90 images that would be iterated over in all cases. Added an additional early-out check if the image is dirty for cube maps to match the other texture types. BUG=260069 Change-Id: I3d298f4f9ebdc23136a31138a3ef8364667fa78c Reviewed-on: https://chromium-review.googlesource.com/199344 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill ff0d2ba6 2014-05-14T13:49:10 Split register allocation of varyings from the translator. The translator gl::Varying struct does not need to know about register allocation. We can put that entirely in the API library. This makes exposing Varying variables with the new translator types cleaner. BUG=angle:466 Change-Id: Ib85ac27de003913a01f76d5f4dc52454530859e6 Reviewed-on: https://chromium-review.googlesource.com/199736 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4f8fcc24 2014-05-14T13:49:09 Remove gl::Varying::elementIndex. We only assigned to elementIndex, and never referenced the value at any point in our code. BUG=angle:466 Change-Id: I541a353110bcd1863b07b21bcf21fad38be19ca1 Reviewed-on: https://chromium-review.googlesource.com/199735 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 11c3b30f 2014-05-13T22:33:31 Revert "Fix binary serialization to use explicit size and type." This reverts commit 261988513e89479a0d121d045a8d89b64dc68214. Change-Id: I959ca14fcbb257f12005f7f0b64a600e906a118c Reviewed-on: https://chromium-review.googlesource.com/199630 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Zhenyao Mo c8f7232e 2014-05-13T15:21:37 Attempt an Mac build fix BUG= TEST=mac bots build on GPU.FYI Change-Id: I3dd2b07702e8c0a40d64ab973eb969ba50954640 Reviewed-on: https://chromium-review.googlesource.com/199611 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org>
Zhenyao Mo 9eedea03 2014-05-12T16:02:35 Fix code styles in OutputGLSLBase, SymbolTable, and Types. I came across these three classes in the last CL, so do some cleanup as I touched these classes. BUG= TEST=webgl conformance, no regressions Change-Id: I2819bab5965fcb4917f85c2eded571a7f95ab9a2 Reviewed-on: https://chromium-review.googlesource.com/199423 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org>
Geoff Lang 487456a3 2014-05-13T11:52:45 Fix missing <algorithm> include. Change-Id: Id6952fa07223217c9dde6798d3ea701b49e6089e Reviewed-on: https://chromium-review.googlesource.com/199313 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 0f55498b 2014-05-12T16:24:59 Regenerate public projects. BUG=angle:618 Change-Id: I516ad4a5639b021fb467aa7c7889a5f9f9bf4b33 Reviewed-on: https://chromium-review.googlesource.com/199342 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Zhenyao Mo 904a9164 2014-05-09T14:07:45 Fix nested struct scope support in GL backend. Basically we should be able to reuse a struct name once the previous use is out of the scope, or we can reuse it if we are in a inner scope than where it is defined before. BUG=368910 BUG=angle:618 TEST=conformance/glsl/bugs/nested-structs-with-same-name.html Change-Id: Icfac76b844deaca0c8a0501d7426ff3802e657dc Reviewed-on: https://chromium-review.googlesource.com/199137 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org>
Jamie Madill 26198851 2014-05-12T15:49:38 Fix binary serialization to use explicit size and type. Loading program binaries across different architectures would cause runtime errors due to use of size_t. Also fix the ANGLE major and minor version that were clobbered in an earlier commit. BUG=angle:647 BUG=371435 Change-Id: If2ad4c8fc246cc9ff0b4d95ba87b7d1ed109a064 Reviewed-on: https://chromium-review.googlesource.com/199102 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 2c27db6f 2014-05-10T12:21:11 Attempt skipping D3D11 shader optimization if compilation fails. BUG=angle:648,chromium:371868 Change-Id: I1de854aad6e002bd1349f08eb8d6b597c535c90b Reviewed-on: https://chromium-review.googlesource.com/199312 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Brandon Jones <bajones@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 1408bae6 2014-05-10T12:18:42 Attempt skipping validation if D3D11 shader compilation fails. Some shaders fail to compile with validation error messages that make no sense. BUG=angle:648,chromium:372016 Change-Id: Ief0e28efa6bc7eaa483c95f45c00ce4f9f20e541 Reviewed-on: https://chromium-review.googlesource.com/199311 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 93faad9f 2014-05-10T12:14:13 Refactor attempting shader compilation with different flags. BUG=angle:648 Change-Id: Ie340eaa708820cc13be6d1f5ba04555b6c1918ea Reviewed-on: https://chromium-review.googlesource.com/199310 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens aea8e947 2014-05-09T19:14:08 Fix D3D11 'units' polygon offset bias. D3D11 DepthBias is an integer corresponding directly to GL polygon offset units. BUG=371604 Change-Id: I20a126bd9c6298efff95f3edbf1babc0dd495b18 Reviewed-on: https://chromium-review.googlesource.com/199200 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 5075e13b 2014-05-09T14:40:29 Fix D3D11 polygon offset. We were not taking the state of GL_POLYGON_OFFSET_FILL into account. BUG=371604 Change-Id: I9b490ed043faeece86665acaef0b865bf1f7b60d Reviewed-on: https://chromium-review.googlesource.com/199121 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Nicolas Capens <nicolascapens@chromium.org>
Zhenyao Mo ed14b79d 2014-05-08T11:21:07 Shaders should fail compile if a boolean's precision is specified Tested and no regression on WebGL conformance 1.0.3 BUG=angle:628 BUG=368874 TEST=http://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/boolean_precision.html Change-Id: Ie74616c3ab846eea19f4bd4a041fc0f00d55f151 Reviewed-on: https://chromium-review.googlesource.com/198884 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org>
Geoff Lang 7b827596 2014-05-08T11:12:26 Fix BufferStorage11::getLatestStorage not finding the latest buffer. If there are only buffers with data revision 0, getLatestStorage will skip over them. Fixed the if statement so that it will always find a buffer if one exists. BUG=angle:644 Change-Id: I24fc426383c9ae18b7ccf2f8937a9daa7a071ebe Reviewed-on: https://chromium-review.googlesource.com/198826 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang d3ff9009 2014-05-08T11:19:27 Add support for querying GL_MAX_VARYING_COMPONENTS. BUG=angle:645 Change-Id: I2e33798bd7fe6cabb1237224aeb9e59cdf03f73c Reviewed-on: https://chromium-review.googlesource.com/198836 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 5fedd017 2014-05-08T10:19:36 Implement copies from pack buffers to native buffers. Full support for using pack buffers as vertex buffers or other binding points requires us to copy through the staging buffer. BUG=angle:511 Change-Id: Ife0f5390a1a83dfbe0fa0b19db72f3a8b82b6b83 Reviewed-on: https://chromium-review.googlesource.com/198435 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 14764a09 2014-05-08T10:19:20 Implement internal copies from pack buffers. Pack buffers used in different binding points when combined with other buffer operations require us to be able to read from the pack buffer then write to the native buffer. BUG=angle:511 Change-Id: I2e859695235eb649ddd5dfc1332ecb19b57c1933 Reviewed-on: https://chromium-review.googlesource.com/198434 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 235a6ab5 2014-05-08T10:44:20 Fix regression with BufferStorage11 and latest storage. With our fix to huge buffer allocations, an extra check was preventing pixel pack from running on the first try. BUG=angle:511 Change-Id: Idabafe4e204ad3b7bf2010595dc455affe93dae0 Reviewed-on: https://chromium-review.googlesource.com/198825 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang b69d39ba 2014-05-06T11:49:22 Add a DXGI format for GL_LUMINANCE16F_EXT in ES3. BUG=angle:642 Change-Id: I41eb64b8e9963cfe33e4c127f84a16eef9b118d3 Reviewed-on: https://chromium-review.googlesource.com/198379 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 07d68856 2014-05-06T16:31:14 Move the implementations of shader var init to the header. Making the contructors for shader variables inline saves us from exporting them across DLL boundaries. This makes it easier to use them in the translator when building the translator as a DLL. BUG=angle:466 Change-Id: Iee0556e06dc1f9e98fe9eea6577819305de0dd0b Reviewed-on: https://chromium-review.googlesource.com/198555 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill d127d8e6 2014-05-06T14:21:23 Replace libEGL catch bad_alloc clauses with ellipses. Since we incur some kind of type confusion that stops us from properly catching bad_alloc exceptions generated when compiled with exceptions or when ANGLE is compiled with C++ exceptions, use catch-all clauses. BUG=angle:634 Change-Id: I6d6efbf1fc7a4ebf8f13150b2814bfcd5edaad91 Reviewed-on: https://chromium-review.googlesource.com/198421 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Shannon Woods 6b6fd54a 2014-05-06T17:09:19 Adds the PBO extension test BUG=angle:581 Change-Id: I50a1181d0547c5629c9037f6d8e989c505c7e5ed Reviewed-on: https://chromium-review.googlesource.com/198239 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Shannon Woods 6667f76b 2014-05-06T17:12:19 Advertises the NV_pixel_buffer_object extension BUG=angle:581 Change-Id: I1e55582e94a36e56ef3e0f53ff9233c1a31408f5 Reviewed-on: https://chromium-review.googlesource.com/198238 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Shannon Woods 158c4384 2014-05-06T13:00:07 Adds PBO buffer targets when extension is present BUG=angle:581 Change-Id: I125cdd995e538db4a275657770149071406a6ad1 Reviewed-on: https://chromium-review.googlesource.com/198237 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Shannon Woods 334f19b7 2014-05-06T15:39:11 Adds conversion for USHORT2N decltype BUG=angle:643 Change-Id: I90a5e5c91351b9dd43a841cc5612f3f3656dc5b1 Reviewed-on: https://chromium-review.googlesource.com/198233 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
Jamie Madill 80b9528d 2014-05-06T13:57:43 Handle buffer memory allocation failures gracefully. 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/197994 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 2b5c9cbc 2014-04-29T16:17:22 Store current pack operation as a queued command. 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/197836 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 7a29e4ae 2014-05-02T10:41:48 Stop generating duplicate vertex binaries. 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/197830 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill de0ec75e 2014-05-05T15:10:38 Replace catch blocks from std::bad_alloc to ellipses. 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/198245 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang cc14f104 2014-05-05T17:00:40 Use a static function instead of a static initializer for defaultBlockInfo. BUG=angle:640 Change-Id: I5fe568c9a2b492a5bd8a42142762229c5f992c7e Reviewed-on: https://chromium-review.googlesource.com/198248 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 8a7bed8c 2014-05-01T14:51:07 Add tests for pack buffer corner cases. BUG=angle:511 Change-Id: I72ff4f8fa83d9dda4d186d727035085ecc39a9dc Reviewed-on: https://chromium-review.googlesource.com/197703 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 1ef6fe77 2014-05-01T14:51:05 Enable PBO asynchronous readback in Renderer11. BUG=angle:511 Change-Id: Id795a85ec1daa396fc51f021c37fe23df3ecc065 Reviewed-on: https://chromium-review.googlesource.com/197702 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 19811d0b 2014-05-01T14:51:04 Keep persistent pack buffer memory storage. 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/197701 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 876dc724 2014-05-01T17:10:24 Fix 64-bit build failures. 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/197819 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill a18299c9 2014-04-30T14:51:53 Reference .git/index as a dependency of commit_id. 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/197723 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens 25bf006a 2014-04-22T15:10:22 Optimize alignment and conversion test for float attribute types. 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/197721 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 37f77d2e 2014-04-30T16:10:13 Fixes to the standalone Linux build. 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/197724 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Nicolas Capens b05e3495 2014-04-22T15:48:00 Refactor setting the input layout and vertex buffers separately. BUG=angle:613 Change-Id: Id2ecfc215ef65164cb9ee8bfbad168e9af658386 Reviewed-on: https://chromium-review.googlesource.com/197722 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens aa2f00af 2014-04-22T13:49:59 Early out when direct binding not supported. BUG=angle:613 Change-Id: I488dca027e3f6d23cda546ca44af54dcc3338047 Reviewed-on: https://chromium-review.googlesource.com/197720 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 69d8b7cf 2014-04-30T12:16:48 Remove unused mWriteUsageCount. BUG=angle:613 Change-Id: Ia0d9f4ff3b4ace57532b061f5729fa82f49c4497 Reviewed-on: https://chromium-review.googlesource.com/197710 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Nicolas Capens 3b35e4da 2014-04-22T11:34:31 Fix a performance regression. "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/197503 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
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 c93d6f37 2014-04-15T16:12:41 Add an ANGLE test for the permissive blit fix. BUG=361931 Change-Id: Ib44667422f524e5dcc3035692e8f725c24e92821 Reviewed-on: https://chromium-review.googlesource.com/194981 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org> (cherry picked from commit 6795ca48559cedbc94c2a5c1e24ce9bd0139571a) Reviewed-on: https://chromium-review.googlesource.com/197251 Reviewed-by: Jamie Madill <jmadill@chromium.org>
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>
Geoff Lang 06bcde59 2014-04-24T17:05:40 Remove gmock the dependency from angle_tests and compiler_tests. BUG=angle:611 Change-Id: Ieb250bda25d62cda3e0690d05d814a4a39062d92 Reviewed-on: https://chromium-review.googlesource.com/197042 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@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>
Jamie Madill a56a86e6 2014-04-22T13:14:06 Update the VertexAttribute test expectations. 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/196532 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@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>
Geoff Lang a8ff8855 2014-04-22T14:18:13 Fix signed/unsigned comparison warning. BUG=angle:560 Change-Id: I9d0e8ce01db91a828bc7ae2da74c8ddce60f0184 Reviewed-on: https://chromium-review.googlesource.com/196192 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@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>
Geoff Lang 3b5c4be2 2014-04-17T11:45:24 Remove forced windows version macros. These macros were causing conflicts when chrome redefines them and since we don't rely on any specific windows versions, we can remove them. BUG=angle:568 Change-Id: Ie6bf31d03cea07bf2a71ffa6d815dad2b4d204f8 Reviewed-on: https://chromium-review.googlesource.com/195364 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@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>
Geoff Lang 1deca4fd 2014-04-17T10:50:43 Don't include the test main files in the source listings. Since chrome adds the ANGLE test source directly to it's own projects, the main function is defined twice. Remove the main file from the source listings and only add it for our test executables. BUG=angle:568 Change-Id: I30b481a23d5de80341d7f339583a43ad2f4391bb Reviewed-on: https://chromium-review.googlesource.com/195345 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@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>