kc3-lang/angle

Branch :


Log

Author Commit Date CI Message
a5c9a144 2014-05-26 16:39:33 Fix uniform bug from duplicate D3D9 shader pointers. In D3D9, sometimes the compiler would return the same shader pointer on different calls to compile, if the programs were similar. Work around this quirk by storing an applied serial for the program, so we know when to refresh uniform data. BUG=angle:661 Change-Id: I9750ee2298701dbe3f121dac6626198d24a2d1b2 Reviewed-on: https://chromium-review.googlesource.com/201562 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
673e680c 2014-05-28 10:28:33 Don't allocate unused swap chain buffers According to msdn.microsoft.com/en-us/library/windows/desktop/bb173075(v=vs.85).aspx the front buffer is the desktop and is not a dedicated part of the swap chain. Thus we should only need 1 swap chain buffer instead of the currently allocated 2. Samples in the DirectX SDK also only allocate just one. BUG=angle:662 Change-Id: If88eeab1954cbc92b39ac7cf42f924515c4b77f9 Reviewed-on: https://chromium-review.googlesource.com/201860 Tested-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
9cd1915c 2014-05-28 15:54:34 Fix warnings about unreferenced local variables. BUG=skia:2272 Change-Id: Ibf03efedc662fea2a389ad2dc5af5b7b014181a8 Reviewed-on: https://chromium-review.googlesource.com/201900 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
24d8d675 2014-05-27 12:07:51 Fix register packing for structs in d3d9. Fixes WebGL test misc/shader-with-array-of-structs-uniform BUG=angle:656 Change-Id: If79a19db4d40bab9110422f7876de32e7f85e506 Reviewed-on: https://chromium-review.googlesource.com/200620 Tested-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
68fe74aa 2014-05-27 12:56:01 Add a compiler query for the translator output type. This is useful for determining if we are compiling to a D3D9 or D3D11 shader outside of the internal translator classes. BUG=angle:656 Change-Id: Ib1c1d3de569edaa2b65c24c09d05aa4dd229d3e4 Reviewed-on: https://chromium-review.googlesource.com/201564 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
5f5320a9 2014-05-26 13:56:11 Use 'inout' qualifiers in generated HLSL for 'out' parameters. With our added padding to some structures, using only 'out' in the generated HLSL can cause warnings because not all of the structure members are initialized. BUG=angle:286 Change-Id: I866960883de487f19883fb2bc086c02703ea6271 Reviewed-on: https://chromium-review.googlesource.com/201364 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
afc10260 2014-05-26 10:47:38 Regenerate public projects. Change-Id: Ibaccaa46457e9ee4379c137182673153a17f207d Reviewed-on: https://chromium-review.googlesource.com/201461 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
d61e4726 2014-05-26 12:44:54 Fix placement of windows.h include for Win 8.1 SDK. The windows header must be included before versionhelpers.h. BUG=angle:649 Change-Id: Ifee95b2918ea039f9a1c93ad0244bf2d35bd8570 Reviewed-on: https://chromium-review.googlesource.com/201462 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
3501c165 2014-05-21 13:27:15 Make available EGL surface parameters queryable. BUG=angle:331 Change-Id: Idb3c3ddc6ddd6bfc21b15b7e8942975ce4cd051f Reviewed-on: https://chromium-review.googlesource.com/200811 Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Nicolas Capens <nicolascapens@chromium.org>
893ab087 2014-05-16 16:56:10 Move state query validation out of Context. Generate all GL errors in the validation helper functions, instead of within the state manipulation logic and internals of Context. BUG=angle:571 Change-Id: I7a3f540e2ae0f5f8c7126e2593717cc3200dd7e5 Reviewed-on: https://chromium-review.googlesource.com/200551 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
5df9f523 2014-05-16 10:37:47 Automate the DEQP tests by wrapping them in the gtest suite. BUG=angle:497 Change-Id: If0a72c053bccccc4369ec78dd70173bbadb1be7b Reviewed-on: https://chromium-review.googlesource.com/200044 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
6ba49d94 2014-05-07 12:59:47 Automate the es conformance tests by wrapping them in the gtest suite. BUG=angle:497 Change-Id: If12b2dd79f9f666c5d686237d5663f316171b15c Reviewed-on: https://chromium-review.googlesource.com/200043 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
c600c8c3 2014-05-16 11:22:21 Fix arrays-of-struct and nested struct uniforms. Our computation of register offsets had a few errors that messed up nested structs and arrays of structs. This fixes a WebGL test, as well as several dEQP tests. BUG=angle:505 TEST=WebGL CTS 1.0.3, dEQP-GELS3.functional.uniform-api Change-Id: Id5a0f39481e079fe5ef5ef856943dc1f91ee3639 Reviewed-on: https://chromium-review.googlesource.com/200045 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
3639892d 2014-05-20 14:51:53 Move all uniform validation from ProgramBinary to API layer. This will have the contract of having a successful API call once we call into the ANGLE internals, having successfully passed valiation. BUG=angle:571 Change-Id: Ia8d6eccc1e42bdf9e9cc5c10094a08729b42778a Reviewed-on: https://chromium-review.googlesource.com/200075 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
aa981bd7 2014-05-20 10:55:55 Refactor Uniform validation to validationES.cpp. This patch also incidentally fixes some bugged validation in the new ES3 unsigned int uniform API entry points. BUG=angle:571 Change-Id: I89bd909467bd9418fe5ce3f246561765cf27a5e9 Reviewed-on: https://chromium-review.googlesource.com/200074 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
d7c7bb27 2014-05-20 10:55:54 Refactor UniformMatrix validation. Move the shared validation logic to validationES.cpp. BUG=angle:571 Change-Id: I2fb06a012703c647de2176914238b48665145c6f Reviewed-on: https://chromium-review.googlesource.com/200073 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
82b42271 2014-05-20 15:38:22 Fix build warnings in x64. A std::min/max with size_t and unsigned int. Popped up in f98e63a54b8a2. BUG= Change-Id: I25f26ddbe7fb333f895be8a8dce3d3d73044c3f9 Reviewed-on: https://chromium-review.googlesource.com/200484 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
fc2521e1 2014-05-16 16:21:57 Fix build on Windows 8.1 SDK. The Windows 8.1 SDK includes a new DLL compiler DLL, and is useful to test against, so we should fix the few deprecated functions and warnings. BUG=angle:649 Change-Id: I28bcf49564f3f7d7403d939d61dd78d3972281ba Reviewed-on: https://chromium-review.googlesource.com/199341 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
2d76e5f6 2014-05-16 17:46:41 Adds resource string generation to ANGLE This will avoid Chrome source having to be updated each time that ANGLE's ShBuiltInResources changes. BUG=374942 Change-Id: If54dba8351de9b261ff269e885f231547c08ff0a Reviewed-on: https://chromium-review.googlesource.com/200171 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
0e3efa51 2014-05-16 16:54:23 Explicitly set the swap effect. swapChainDesc.SwapEffect wasn't being set. The whole structure was initialized to 0 and DXGI_SWAP_EFFECT_DISCARD has value 0 so this should have no effect. Also sorted the field initialization in the order they're declared. BUG=373360 Change-Id: If0113e7468c0bad024a07fec6ad9e223e19494b5 Reviewed-on: https://chromium-review.googlesource.com/200046 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Nicolas Capens <nicolascapens@chromium.org>
784371d0 2014-05-16 12:39:04 Don't discard serials of zero from the set of bound framebuffer serials. A serial of zero is a valid texture serial but it was used by RenderbufferStorage to denote a non-texture binding. Added a isTexture method to Renderbuffers and RenderbufferStorage has been updated to return -1 as the current texture serial to avoid collisions. BUG=angle:633 Change-Id: Ie27e4b185ac09b48b593ae0dea02aeff5950a44f Reviewed-on: https://chromium-review.googlesource.com/200123 Reviewed-by: Nicolas Capens <nicolascapens@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
b66feb31 2014-05-14 15:38:55 Handle interface blocks in getVariableInfo and getUserDefinedVariableInfo. BUG=angle:654 Change-Id: I07a230bbf2387e85168c50cb3719c669a7890f8a Reviewed-on: https://chromium-review.googlesource.com/199687 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shannon Woods <shannonwoods@chromium.org> Tested-by: Shannon Woods <shannonwoods@chromium.org>
1b2a8f96 2014-05-14 13:09:39 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: I9473cc7e119592fce336aa47881839543e337b69 Reviewed-on: https://chromium-review.googlesource.com/199633 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
43b00426 2014-05-12 16:28:07 Optimize texture application in draw calls. Gather all bound textures and samplers first and then pass them to generateSwizzles and applyTextures to reduce redundant get calls. BUG=260069 Change-Id: I5b10dddb01a6bfd756c58b76218838cfc1fd59b6 Reviewed-on: https://chromium-review.googlesource.com/199343 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
45c785d3 2014-05-13 14:09:34 Move validation of EndQuery out of gl::Context. BUG=angle:571 Change-Id: I8913eb1b565a4282d9d84d06933e8b854453f17d Reviewed-on: https://chromium-review.googlesource.com/199349 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
db2f14c0 2014-05-13 13:56:30 Refactor BeginQuery validation out of gl::Context. Part of our effort to relocate all validation logic to a preliminary pass outside of our state tracking or rendering layers. BUG=angle:571 Change-Id: I5241daef6249910a781e78fd066debe0ab1d3f2b Reviewed-on: https://chromium-review.googlesource.com/199348 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
2e660d56 2014-05-12 16: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>
1e514358 2014-05-13 15: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>
d526f989 2014-05-13 14: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>
ae1990c8 2014-05-12 16: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>
64c83249 2014-05-06 10: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>
f98e63a5 2014-05-12 16: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>
946b948d 2014-05-12 16: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>
ff0d2ba6 2014-05-14 13: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>
4f8fcc24 2014-05-14 13: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>
11c3b30f 2014-05-13 22: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>
c8f7232e 2014-05-13 15: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>
9eedea03 2014-05-12 16: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>
487456a3 2014-05-13 11: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>
0f55498b 2014-05-12 16: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>
904a9164 2014-05-09 14: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>
26198851 2014-05-12 15: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>
2c27db6f 2014-05-10 12: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>
1408bae6 2014-05-10 12: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>
93faad9f 2014-05-10 12: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>
aea8e947 2014-05-09 19: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>
5075e13b 2014-05-09 14: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>
ed14b79d 2014-05-08 11: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>
7b827596 2014-05-08 11: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>
d3ff9009 2014-05-08 11: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>
5fedd017 2014-05-08 10: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>
14764a09 2014-05-08 10: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>
235a6ab5 2014-05-08 10: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>
b69d39ba 2014-05-06 11: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>
07d68856 2014-05-06 16: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>
d127d8e6 2014-05-06 14: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>
6b6fd54a 2014-05-06 17: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>
6667f76b 2014-05-06 17: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>
158c4384 2014-05-06 13: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>
334f19b7 2014-05-06 15: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>
80b9528d 2014-05-06 13: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>
2b5c9cbc 2014-04-29 16: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>
7a29e4ae 2014-05-02 10: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>
de0ec75e 2014-05-05 15: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>
cc14f104 2014-05-05 17: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>
8a7bed8c 2014-05-01 14: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>
1ef6fe77 2014-05-01 14: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>
19811d0b 2014-05-01 14: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>
876dc724 2014-05-01 17: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>
a18299c9 2014-04-30 14: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>
25bf006a 2014-04-22 15: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>
37f77d2e 2014-04-30 16: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>
b05e3495 2014-04-22 15: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>
aa2f00af 2014-04-22 13: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>
69d8b7cf 2014-04-30 12: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>
3b35e4da 2014-04-22 11: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>
a836e48a 2014-04-28 10: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
f20f0206 2014-04-28 11: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>
17a0e632 2014-04-25 11: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>
e7a453a5 2014-04-24 14: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
73571e66 2014-04-24 14: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
c93d6f37 2014-04-15 16: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>
006ed1ed 2014-04-28 15: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>
66e5dda7 2014-04-28 11: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>
c41e42d4 2014-04-28 10: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>
7faf1a14 2014-04-25 18: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>
06bcde59 2014-04-24 17: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>
bde4c2f7 2014-03-21 10: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>
a56a86e6 2014-04-22 13: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>
cdacacdd 2014-04-24 12: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>
f67115ce 2014-04-22 13: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>
42350abc 2014-04-22 15: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>
9fba2ba0 2014-04-22 14: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>
a8ff8855 2014-04-22 14: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>
32e66b7a 2014-04-22 13: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>
6cec8509 2014-04-19 12: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>
10567260 2014-04-17 16: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>
4f267868 2014-04-17 15: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>
fbcc6345 2014-04-17 10: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>
c9fa6ed1 2014-04-17 11: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>