Log

Author Commit Date CI Message
Geoff Lang 6ba99e3d 2017-05-03T13:10:46 Re-generate pre-compiled D3D shaders. BUG=angleproject:1932 Change-Id: I927eb5adc73bcede220ec56a9634783edd735d18 Reviewed-on: https://chromium-review.googlesource.com/494706 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 60c65556 2017-05-02T14:34:05 Shrink FunctionsGL.cpp. Templating here was causing a lot of redundant functions to be generated. We can use a bit of macro magic instead of template magic to reduce the binary size. This reduces the size of the compile file by about 25k. Note that the ASSIGN macro doesn't itself reduce size, but it does save a bit of code size and makes the file look consistent. BUG=angleproject:2022 Change-Id: I3d9a6e1739dcab1fceca3c63d2a4e35c1e847289 Reviewed-on: https://chromium-review.googlesource.com/493891 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 170efbf9 2017-05-02T13:45:01 validationES: reorder draw validation for the WebGL CTS dEQP dEQP tries to test specific GL ES errors, but also triggers errors in the additional WebGL validation. This commit reoders ANGLE's validation so that WebGL-specific validation for draws is done after the common GL ES checks. BUG=angleproject:2021 Change-Id: Ie06b132ef6a4378f7c82ae8d354a8343d897c478 Reviewed-on: https://chromium-review.googlesource.com/493828 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill ba29fa47 2017-05-02T12:17:24 Reduce binary size with format enum arrays. Apparently using std::vector::push_back causes heavy inlining in MSVS. This refactor (no functionality change) reduces the binary size from ~10kb for all the gl::Determine* functions plus the holding function (setTextureExtensionSupport) to about 1.4k. The visible size of my compiled 32-bit Release libGLESv2.dll went from 4648 to 4642 kb. Note that using PoD arrays was sinificantly better than using vectors with initializer lists (size was ~4kb instead vs 1.4kb). BUG=angleproject:2022 Change-Id: I5b7efd41455d5ee35afc699bafef31ce8367934e Reviewed-on: https://chromium-review.googlesource.com/493890 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 193c0950 2017-05-02T15:51:47 Fix assert when attempting to create a void array node TIntermTyped::CreateZero can be reached with a void array type in an error case. Handle this gracefully instead of asserting. Also remove an assert that wasn't really checking anything in CreateZero. type.isScalar() || type.isVector() || type.isMatrix() can only be false in case of a struct, and struct type was being checked in the condition on the line above. BUG=chromium:717385 TEST=angle_unittests Change-Id: Iff0811d18d399d7b32b2b46deea5df172412eb8c Reviewed-on: https://chromium-review.googlesource.com/492887 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill be849e4f 2017-05-02T15:49:00 GLES2: Clean up entry points for auto-gen. This cleans up a few things: * refactors a few remaining missed EPs * removes unnecessary includes * rename one Context entry point * moves some ES2 EP validation to validationES2 The last item makes for a significant diff, but this is a refactor change only, with no functionality change. BUG=angleproject:747 Change-Id: I7860cc4b6260b6c22faa5f2885297333c0cdb4ed Reviewed-on: https://chromium-review.googlesource.com/483426 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang c4e93668 2017-05-01T10:45:59 Update end2end tests to function without EXT_texture_storage. This also exposed an issue in our glTexSubImage2D validation where the sized format would be used for the texture support check when the unsized format was provided. The GL_ALPHA32F format is not valid unless EXT_texture_storage is present but using GL_ALPHA + GL_FLOAT is valid. BUG=angleproject:1958 Change-Id: Ice0b7549c39559990942176481c5175df17aaf92 Reviewed-on: https://chromium-review.googlesource.com/491246 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Frank Henigman f231232b 2017-05-02T15:46:18 vulkan: assume secure_getenv(). Vulkan's cmake files check for the availability of secure_getenv() but we just assume it exists. BUG=chromium:717558 Change-Id: I22054c3967f543d163dde37b9a6b13e896da7a50 Reviewed-on: https://chromium-review.googlesource.com/494126 Commit-Queue: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8562b773 2017-04-26T13:39:12 GLES2: Apply clang-format to entry points. This will make the diff for the auto-gen patch easier to review. BUG=angleproject:1309 Change-Id: I58526a29b7f538b45409c6ab48b75b41b3521321 Reviewed-on: https://chromium-review.googlesource.com/487883 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 2e16d96d 2017-04-19T14:06:36 GLES2: Use codegen for the entry point header. This is a first step towards auto-generating more entry point files. BUG=angleproject:1309 Change-Id: Ic75a627feb91c19b6bb398a6f9f1a37b603dea14 Reviewed-on: https://chromium-review.googlesource.com/483425 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 0d434046 2017-05-02T13:34:12 Disable Vulkan support on Linux There are both compile error and missing build file dependencies in standalone builds. BUG=angleproject:1668 Change-Id: I8741bd3dd20452c94921101bbf7c5be39fb463b7 Reviewed-on: https://chromium-review.googlesource.com/493608 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez d262799c 2017-04-28T17:17:03 Take depth into account when checking for OOB in TexImage3D BUG=angleproject:2017 Change-Id: Id75a8c0ddf4eda4b569509e2014c20db6f5c46ff Reviewed-on: https://chromium-review.googlesource.com/490848 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kenneth Russell e7a792c6 2017-04-28T16:31:03 Suppress MipmapTestES3.BaseLevelTextureBug failures on 10.12.4. BUG=705865 Change-Id: Ife59aaf009365a51b5362a00373d1efaceba9fb8 Reviewed-on: https://chromium-review.googlesource.com/490946 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 180973c7 2017-04-28T14:42:07 Fix params.h compilation. The ANGLE_PARAM_TYPE_INFO macro was referencing the TypeInfo static member that was only added when release asserts are enabled. BUG=angleproject:747 BUG=chromium:716323 Change-Id: I0657dde69c62ab697b3c095fe19f38c130188cef Reviewed-on: https://chromium-review.googlesource.com/490687 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Shahmeer Esmail 5416f753 2017-03-09T22:02:43 Clear11 Shader Optimizations and Shader Management Rework - ClearShader made into a class that manages all required shaders and input layouts for clears - ClearShader reuses VS for all clear types. This reduces shader compilation time and memory usage significantly - Use constantBuffer for color/z values instead of VB to decouple VB & VS from clearType and allowing for the same VS to be used for multiple clear types - FL10+ Devices: Generate positions using SV_VertexID in VS to avoid having to bind VB. - FL93 Devices: Use an immutable VB containing only position data (SV_VertexID not supported) - Implement CB cache. Incoming color/Z values checked against cache and CB/cache only updated if there is a mismatch. Significantly reduces the frequency of expensive CB map/rename operations especially in common scenarios where most/all clears use the same color/z values BUG=angleproject:1935 Change-Id: I2015fbdcc135ba08b65dbecbe9c62499c2801037 Reviewed-on: https://chromium-review.googlesource.com/453882 Commit-Queue: Shahmeer Esmail <shahmeer.esmail@intel.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill ae39958a 2017-04-28T10:42:42 Fix params.h compilation. Because our ASSERT macro always references the conditional expression, not defining TypeInfo was causing a compile error on builders which had release asserts disabled. BUG=angleproject:747 BUG=chromium:716323 Change-Id: I3b5f27e39235f26b8bef5921c2d398320eb0ebaf Reviewed-on: https://chromium-review.googlesource.com/490426 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Shao 37219c87 2017-04-26T10:59:48 Fix missing return values in bitset_utils.h This patch adds the missing return value *this in the operator= of class BitSetT BUG=angleproject:1814 Change-Id: I758d62e80e4ade92aac64315f1808ca1eabdc787 Reviewed-on: https://chromium-review.googlesource.com/487423 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill ffa4e611 2017-04-27T12:37:52 GLES2: Reformat entry point header. This should simplify the diff with the auto-gen patch. BUG=angleproject:1309 Change-Id: Ibea503f236e7dc07d0862e20f77e866d6ec1f316 Reviewed-on: https://chromium-review.googlesource.com/489081 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang e8b35512 2017-04-27T10:38:20 Fix workaround formats not being used when EXT_texture_storage is emulated. This bug showed up on Mac which doesn't support the extension. The internalFormat is correctly translated to the workaround format but the format and type are not. BUG=angleproject:1958 Change-Id: I9b31f0491df1bb623bf59996cbb02d0276b6355c Reviewed-on: https://chromium-review.googlesource.com/488582 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 876429b7 2017-04-20T15:46:24 Update gl2.h and update entry points. Some method signatures were updated. Types like GLclampf and GLvoid were replaced with other equivalents. BUG=angleproject:1309 Change-Id: I05e8e2072c5a063d87ad96a855b907424661e680 Reviewed-on: https://chromium-review.googlesource.com/475011 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill e1fd475b 2017-04-26T16:46:48 Apply release asserts config to all dependents. Our test sets (e.g. angle_perftests) were not having the config applied. BUG=angleproject:747 Change-Id: Idd3a2cba214d38a923c1936787f9dec4bd016326 Reviewed-on: https://chromium-review.googlesource.com/487730 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 2aadbfc3 2017-04-27T10:11:27 Expand the MipmapTestES3.BaseLevelTextureBug supression to all AMD OpenGL. BUG=705865 BUG=715875 Change-Id: Ib4d83a8c9cb3f65ac8517bfd3ff7c38794dd0654 Reviewed-on: https://chromium-review.googlesource.com/488661 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 9c9b40ac 2017-04-26T16:31:57 Use parameter cache to skip passing IndexRange. For DrawElements et al., we can use a simple design to store entry point parameters and compute index ranges lazily. This allows us to compute the index range outside of the validation layer. Fixing this will let us implement a few things, such as the no error extension. It will also allow auto-generation of the entry points, since we won't have to have special cases for certain entry points. It will also help fix the syncState layering problem. Now the cached parameter helper (which is owned by the Context) can make the impl layer calls, instead of the validation layer calling the impl directly. We use a small array in Context to gather parameters in a generic way without reallocation on call. We also check type safety by storing a type info struct which can handle inheritance between type classes. Optional variables for the cache determine when to re-compute values. The intent with gatherParams is to call this in every entry point, and have in most cases be a no-op. In some cases like for IndexRange, we store some parameters for later use. The inheritance scheme enables auto-generation of the entry points by keeping signatures similar. BUG=angleproject:747 Change-Id: I871e99e1334cf6e61ef8da62fde3ced094903f8a Reviewed-on: https://chromium-review.googlesource.com/474119 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 25e297e9 2017-04-20T17:01:20 D3D11: Alias dirty buffer channel bindings. The types for this were a bit disorganized. Clean this up. BUG=angleproject:1635 Change-Id: I669d347697e0c7c5b06ed7165fa0997c375e876e Reviewed-on: https://chromium-review.googlesource.com/483315 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Frank Henigman 29f148b0 2016-11-23T21:05:36 Support Vulkan on Linux as well as Windows. Refactor display and surface classes into Win32 and Linux parts and add Linux parts to gn and gyp builds. BUG=angleproject:1668 Change-Id: I2a7d29c35f4f42fa0035bd97938d3770f3627672 Reviewed-on: https://chromium-review.googlesource.com/412426 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6d1ccf01 2017-04-24T14:09:58 Re-order the error generation for ES3 TexImage calls. Explictly check if the internal format enum is ever valid before checking if it is valid in combination with other parameters. Some WebGL tests expect a certain order for generated errors. BUG=angleproject:2009 TEST=conformance2/textures/misc/tex-input-validation Change-Id: I31166a78d00629f8281ef53eced72575497ae448 Reviewed-on: https://chromium-review.googlesource.com/486099 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 66c5e619 2017-04-25T11:40:03 TextureD3D: Mark images dirty after deleting the texture storage. When a texture storage is deleted, it copies its mip levels back into images and marks them clean. Marking the images dirty before deleting the texture storage would have no effect. BUG=705865 Change-Id: Ib4c0fc9bea1236fc31963d1b7db814785bc54abc Reviewed-on: https://chromium-review.googlesource.com/486107 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yunchao He f81ce4a3 2017-04-24T10:49:17 Refactoring: replace NULL by nullptr for pointers (3rd CL). This CL mainly handles passing/returning NULL to/from a function. BUG=angleproject:2001 Change-Id: I34802f792e710e3d7ff697cbe4701dc1bf5ab009 Reviewed-on: https://chromium-review.googlesource.com/485060 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Frank Henigman f5841774 2017-04-19T16:31:11 Move Vulkan layer json files. Put the Vulkan layer JSON files in the same place as the gn build puts them, for consistency. Change-Id: I6294372ce34ed20da357a8b8ea83018c4e748c37 Reviewed-on: https://chromium-review.googlesource.com/475074 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Jamie Madill d75dd26c 2017-04-20T17:01:19 Make ImageSibling inherit from FramebufferAttachment. Only currently Renderbuffers and Textures can be bound with images. This makes the relationship explicit, and also ensures that an image sibling can determine if it's been initialized or not, which is important for the robust resource init extension with Textures and EGLImages. BUG=angleproject:1635 Change-Id: Ie05319cfbfda50f1497cab3f0b9ca64e1bff8955 Reviewed-on: https://chromium-review.googlesource.com/469154 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bryan Bernhart (Intel Americas Inc) 151d5de6 2017-04-13T09:52:23 Enable MSAA for texture client buffers Enhancement to the EGL_ANGLE_d3d_texture_client_buffer extension to allow use of a shared D3D texture that can be multi-sampled. BUG=angleproject:1917 Change-Id: Iaf59bbd575a5dfb29345f55b549bc4017bf2d7d0 Reviewed-on: https://chromium-review.googlesource.com/446907 Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jiawei-Shao 331f6dbd 2017-04-13T13:57:59 Tighten workaround on unary minus for Intel D3D drivers This driver bug has been fixed in 20.19.15.4624. BUG=chromium:644033 Change-Id: I6f621d7c4d4b823da29255f869af84097f4f7c2c Reviewed-on: https://chromium-review.googlesource.com/476118 Reviewed-by: Yunchao He <yunchao.he@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 966c940b 2017-04-18T12:38:27 Fix validation for compressed texture functions. * No validation that the format matched the texture level's format for SubImage calls. * WebGL does not allow the base level to be smaller than the block size. * ANGLE used to allow mips of size 3 when this is disallowed. * Don't early-exit validation when dimensions are 0, imageSize validation happens later. TEST=conformance/extensions/webgl-compressed-texture-s3tc BUG=angleproject:1998 Change-Id: I05f5a0b5180344d67b036fdecc17edd2256e85ab Reviewed-on: https://chromium-review.googlesource.com/480442 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang e491578f 2017-04-12T15:19:07 WebGL: Validate the read and write buffers for BlitFramebuffer are unique. TEST=conformance2/rendering/blitframebuffer-test BUG=angleproject:1990 Change-Id: I0caeaac824f1689867134f34f74e5ef2c2f1b016 Reviewed-on: https://chromium-review.googlesource.com/475990 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 94ba36a7 2017-03-31T13:58:55 Only bind that native GL texture if it should be complete. If extensions such as OES_texture_float_linear are not exposed but the native drive still supports them, we don't want to bind the native texture and instead bind a texture that is known to sample like the incomplete texture. BUG=angleproject:1959 Change-Id: I610dbd93bb566c8eb2166488a7494b74da4aa327 Reviewed-on: https://chromium-review.googlesource.com/465090 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 780612a5 2017-04-21T12:58:53 Fix the zlib build on 64-bit Windows. BUG=angleproject:2004 Change-Id: Ifb4f19abbbb1b6724d2af5b0a5dfb005b49ae3d1 Reviewed-on: https://chromium-review.googlesource.com/483906 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 76b8f469 2017-04-21T12:23:40 Use a shared state for egl::Image. This allows us to stop duplicating some information in the impl. BUG=angleproject:1635 Change-Id: If8f7d2418571c3254729f48c463814ec18ed2644 Reviewed-on: https://chromium-review.googlesource.com/469153 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jiajia Qin f6b986c8 2017-04-18T14:52:31 Refactor TextureStorage11 The CL includes below changes: 1. Change bool isAssociatedImageValid to void verifyAssociatedImageValid since we always required that the validation check should never be false. So ASSERT() is enough. Same to Image11::isAssociatedStorageValid->Image11::verifyAssociatedStorageValid. 2. Remove the unnecessary if checking after ASSERT 3. Use override instead of virtual if the function is virtual and is overriding a virtual function from the base class. BUG=angleproject:2006 Change-Id: I036666ae1ed4bfcaa8cef9e0e9626d375cd81a27 Reviewed-on: https://chromium-review.googlesource.com/480015 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Frank Henigman d22b8f72 2017-04-20T21:06:09 Fix zlib compile. The zlib roll 50a8d0e0 broke the Window/gyp/ninja build. Suppress C4245. BUG=angleproject:2004 Change-Id: Ifdac7a1ec3162c8a296f6d4919a2b6f83bdf1e50 Reviewed-on: https://chromium-review.googlesource.com/483802 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Yunchao He 4f285443 2017-04-21T12:15:49 Refactoring: replace NULL by nullptr for pointers (2nd CL). This CL mainly handles the pointer comparisons (== or !=). BUG=angleproject:2001 Change-Id: I25ac3b61032e7ad91459a1c6541cadc87cf9b160 Reviewed-on: https://chromium-review.googlesource.com/483935 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 407d4e77 2017-04-12T14:54:11 Perform ANGLE_instanced_arrays validation for WebGL contexts. TEST=conformance2/rendering/instanced-arrays BUG=angleproject:1988 Change-Id: Ie513dcc7b1af540764fd5fe3790d3e6e3457f048 Reviewed-on: https://chromium-review.googlesource.com/475136 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang ff5c63ee 2017-04-12T15:26:54 Allow dynamically enabling shading language extensions. GL_OES_standard_derivatives, GL_EXT_shader_texture_lod and GL_EXT_frag_depth. TEST=conformance2/extensions/promoted-extensions-in-shaders TEST=conformance/glsl/misc/shader-with-dfdx.frag BUG=angleproject:1719 Change-Id: Ic0bd50c6a222940cc8de903f88f19a4f5ee08088 Reviewed-on: https://chromium-review.googlesource.com/476030 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill de32c2e1 2017-04-20T15:16:33 dEQP: Remove shader compile/link timing output. This should reduce our log sizes significantly. Will upstream the fix to dEQP and then remove the custom workaround once we roll. BUG=chromium:713196 Change-Id: I0ddb678bf5256bd5f05782ca40d49501e84e4cae Reviewed-on: https://chromium-review.googlesource.com/483047 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4fd95d54 2017-04-05T11:22:18 Stop using FramebufferAttachment::Target. Target includes the binding (DEPTH/STENCIL/COLOR), which is not useful for many operations. Simplify this to just passing the mip/layer. This allows us to stop using this internal struct in other classes. BUG=angleproject:1635 Change-Id: Ic5a11781bf45fe7835437fa1e363c190b876d453 Reviewed-on: https://chromium-review.googlesource.com/469152 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang ba992ab5 2017-04-19T11:18:14 Fix HLSL 3 generation of shaders with texture LOD. BUG=angleproject:2002 Change-Id: If8e6bbaeb5769341f92f05025eafb6a202fec437 Reviewed-on: https://chromium-review.googlesource.com/481680 Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez 50a8d0e0 2017-04-20T10:55:28 Roll zlib to fix a warning on Mac BUG= Change-Id: Iaef87582aba57632d5a696fdf9ff09c4fab5c75a Reviewed-on: https://chromium-review.googlesource.com/483619 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Yunchao He d7297bfb 2017-04-19T15:27:10 Code refactoring: replace NULL by nullptr for pointers. This is the frist change to replace NULL by nullptr. It handles the initialization and assignment for pointers. BUG=angleproject:2001 Change-Id: I6d4bb198a72e38b867cd2f65a6e6f2f61339a0b5 Reviewed-on: https://chromium-review.googlesource.com/481600 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Shao 4181bc97 2017-03-17T14:55:25 Fix bug in updating vertex attribs with client memory pointers In DEBUG version, when using OpenGL back-ends, ANGLE may meet an INVALID_OPERATION error from driver when attemping to update an attribute which is disabled and using a client memory pointer. This patch fixes this bug by skipping such vertex attributes when updating them to driver. With this patch the process to update vertex attributes should be: (1) For enabled attributes using client memory pointer: update by streaming mode in streamAttributes() (2) For disabled attributes using client memory pointer: just label them dirty and skip them (3) For attributes using buffer objects: update with vertexAttrib*Pointer BUG=angleproject:1942 Change-Id: I57043e5904eb4a342fa22d449d98a957010170d6 Reviewed-on: https://chromium-review.googlesource.com/456747 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang ca27139e 2017-04-05T12:30:00 Key the format tables on internal format and type. Keying the format tables on internal format alone is not enough to fully validate the unsized formats which require additional type information. This CL has no functional changes, it just splits the tables and updates the calls to GetInternalFormat info to provide type information when the format is not sized. BUG=angleproject:1523 BUG=angleproject:1958 BUG=angleproject:1228 Change-Id: I37e5201e7f54fa8eca01b8a6e64b11a6b94484e7 Reviewed-on: https://chromium-review.googlesource.com/468449 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho 8162926b 2017-04-19T11:56:01 Never add declarations without children to the AST When block nodes were being created for loop bodies that didn't have braces in the parsed source, the code didn't check if the loop body was a declaration node without children. Always use appendStatement() for adding statements to a block, so that declaration nodes without children don't end up in the AST. Similarly make sure that loop init nodes aren't declarations without children. BUG=chromium:712550 TEST=angle_end2end_tests Change-Id: I5e79b700fe6158fa2422fcf4cd13818b2bd24863 Reviewed-on: https://chromium-review.googlesource.com/481660 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill 0c0dc345 2017-03-24T14:18:51 Vulkan: Defer command buffer submission. This packs more rendering commands into fewer command buffers. Instead of using a single command buffer per-command, create a buffer and record commands into it until we need to present the frame. More sophisticated management will be necessary in the future when we can do other types of copied and read-back from image data. This also reduces the number of Fences we use for checking if the device is finished with resources. Instead of creating a Fence per-command-buffer, it creates one per-swap. BUG=angleproject:1898 Change-Id: I9c6033bc04289fd8f936c0df914afc51fc434b29 Reviewed-on: https://chromium-review.googlesource.com/445800 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 43915883 2017-04-13T10:07:14 Lazily initialize the D3D device in DisplayWGL. Change-Id: I3afe4c0619128d7063f49ed8c295d4b814193f84 Reviewed-on: https://chromium-review.googlesource.com/476930 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 6de51858 2017-04-12T09:53:01 Optimize angle::BitSetIterator. Adds a new custom bitset template to handle packing as many bits as possible into a single variable. Intelligently select the right class depending on platform features and bit sizes. For now, always use a packed 64-bit set on 64-bit, instead of using a 32-bit set for smaller bitsets. BUG=angleproject:1814 Change-Id: I3ffef815c15515555833f6fc9302d8a4eee5423b Reviewed-on: https://chromium-review.googlesource.com/471827 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang a0e0aebb 2017-04-12T15:06:29 Validate that framebuffer attachments all have the same size for WebGL. TEST=conformance2/rendering/draw-buffers BUG=angleproject:1989 Change-Id: Ifcbc766dea99a8361261713fde7a6b6ad724fd55 Reviewed-on: https://chromium-review.googlesource.com/475083 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill e4b753ca 2017-04-05T11:22:18 Texture: Add helper to query desc from index. BUG=angleproject:1635 Change-Id: I0e4b57119bf23d656446a5ded76ba2f62ea74d7f Reviewed-on: https://chromium-review.googlesource.com/469151 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill b8126691 2017-04-05T11:22:17 Framebuffer: Add an update attachment helper function. This will allow us to set that certain attachments need to be initialized in a single place. BUG=angleproject:1635 Change-Id: I98c10206ef27670847969c726a8620c4d26400d6 Reviewed-on: https://chromium-review.googlesource.com/469150 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez b2931601 2017-04-11T15:58:57 Add robust entry point for CompressedTex(Sub)Image BUG=angleproject:1354 Change-Id: I925db827c4ccf4e6f037a058f8f6b960a56047e1 Reviewed-on: https://chromium-review.googlesource.com/474964 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang b36e5393 2017-04-12T15:45:13 D3D: Return an empty string when the translated shader source is empty. TEST=conformance/extensions/webgl-debug-shaders BUG=angleproject:1991 Change-Id: Id210ec43501c4e4f3db2c8a0aec25e1d20b18d33 Reviewed-on: https://chromium-review.googlesource.com/475992 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yunchao He 33151a53 2017-04-13T09:58:17 Code refactoring: remove unneeded variables BUG=angleproject:1996 Change-Id: If635bf836251f90ec40d791b5f80d43f751aad9b Reviewed-on: https://chromium-review.googlesource.com/476079 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Kai Ninomiya d1bed175 2017-04-12T17:35:54 Reverse the order of array variable initialization This works around a bug on Adreno 3xx in which array varying variables are assigned in the reverse order. BUG=chromium:709317 Change-Id: I86a345747f293ca8a2cb9a281bd1b752e66dcd3a Reviewed-on: https://chromium-review.googlesource.com/475979 Commit-Queue: Kai Ninomiya <kainino@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill c1d770e8 2017-04-13T17:31:24 Refactor remaining GLES 2.0 entry points. This will pave the way for several features, like auto-generation. BUG=angleproject:747 Change-Id: Ic390ac412f4e6b61346629093f185a4c07ea0284 Reviewed-on: https://chromium-review.googlesource.com/474118 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
JiangYizhou 3c68079c 2017-04-05T15:04:36 Update deqp expectations file for default fbo tests. Deqp test case dEQP-GLES31.functional.fbo.no_attachments.maximums.all fails on nvidia driver. BUG=angleproject:1594 TEST=dEQP-GLES31.functional.fbo.no_attachments.* TEST=dEQP-GLES31.functional.fbo.completeness.no_attachments Change-Id: I31db12b10b4fb915135b12912738d9c14de1e585 Reviewed-on: https://chromium-review.googlesource.com/468649 Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
jchen10 a9042d3c 2017-03-17T08:50:45 ES31: Add array element transformfeedback This enhances the PackedVarying to be either one element of array, or whole array. Correspondingly the VaryingPacking is expanded to pack it properly. BUG=angleproject:1950 Change-Id: I0529d7ac4367d42b2b433410fbf08351412aada8 Reviewed-on: https://chromium-review.googlesource.com/459115 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Corentin Wallez e839078e 2017-04-06T14:34:43 compiler: Prune literal statements when outputting ESSL The ESSL output doesn't have a default precision for floats, this causes float literal statements to not have any precision defined, which is an error. We fix this by removing literal statements as they are dead code anyway. BUG=angleproject:1967 Change-Id: I498f4f8495f854240ee8a2182415bf982c5166a4 Reviewed-on: https://chromium-review.googlesource.com/470268 Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 6e60d6bf 2017-04-12T12:59:04 Don't allow deleting the 0 transform feedback. BUG=709786 Change-Id: I956cae994241a650869cee45c471074d08e79a5d Reviewed-on: https://chromium-review.googlesource.com/475131 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 67f5ce42 2017-04-12T10:32:36 Fix the texture completeness cache. Two silly mistakes were landed in 9aded1: * The cache was not updating the sampler state it was using to compare against new ones. * The SamplerCompletenessCache entry was being copied and not updated. BUG=709980 Change-Id: I1914ed30e24b9e48c4504da164f013a637a0b6c2 Reviewed-on: https://chromium-review.googlesource.com/475752 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jamie Madill 1e5499db 2017-04-05T11:22:16 Refactor Signal utils into template classes. This will allow us to pass on extra information to the receiving end, such as the specific texture levels that are dirty. BUG=angleproject:1635 Change-Id: Idb7ca1d625499e50e7712c458b694f6e9bfc0595 Reviewed-on: https://chromium-review.googlesource.com/453382 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Xinghua Cao 2b39659d 2017-03-29T15:36:04 ES31: Implement glDispatchCompute for OpenGL backend This patch refers to https://chromium-review.googlesource.com/c/380639/ BUG=angleproject:1955 TESTCASE=angle_end2end_tests Change-Id: Iafd7a6ba2d71c0b332d9267a1260d9dbd9800c02 Reviewed-on: https://chromium-review.googlesource.com/462089 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Yunchao He <yunchao.he@intel.com> Reviewed-by: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill e918de22 2017-04-12T10:21:11 Vulkan: Don't finish on swap. This will enable the next frame to render while the previous frame's command buffers are executing and rendering is happening. This should speed up the Vulkan perf test. BUG=angleproject:1898 Change-Id: I0820300d7934ef280cf75628239fe40dc96b8242 Reviewed-on: https://chromium-review.googlesource.com/445799 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 82483b93 2017-04-11T15:33:00 Obey the bufSize and write to the length parameter in glGetSynciv. BUG=angleproject:1985 TEST=conformance2/state/gl-object-get-calls Change-Id: Ic83c408b60d394ff5719beaedc5d4721b7811a47 Reviewed-on: https://chromium-review.googlesource.com/474551 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Frank Henigman df79af59 2017-04-11T16:56:58 Need Vulkan stuff for unix too. Copy the Vulkan-related dependencies into the 'unix' section of the file so we linux bots can build ANGLE's Vulkan backend. BUG=angleproject:1668 Change-Id: I79e2895b525808072495c7cf18138facef6cc868 Reviewed-on: https://chromium-review.googlesource.com/475085 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 38f2cfb8 2017-04-11T15:23:08 Refactor validation of glGetSynciv. BUG=angleproject:1985 Change-Id: Idf1057e6d8d8c850643e3b2a22be5a881c8a2301 Reviewed-on: https://chromium-review.googlesource.com/474550 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 58337799 2017-03-21T13:49:57 Correctly initialize the condition of FenceSync objects. The spec says that the initial condition of a FenceSync object should be GL_SYNC_GPU_COMMANDS_COMPLETE. Make sure this is set in case the condition is queried before the fence is set. TEST=conformance2/state/gl-object-get-calls.html BUG=602688 Change-Id: I8c0451fc996c175109541f337191cc1be4b813e3 Reviewed-on: https://chromium-review.googlesource.com/457452 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 46258e1f 2017-04-10T12:28:34 Blit9: Pass the dest rect to setViewportAndShaderConstants. Using the sourceRect for calculating the viewport and texture coordinates was not enough when the source and destination rectangles were different sizes (generating mipmaps). BUG=709232 Change-Id: I2704ddf6e3da0939ad77d278ab495e53a2d9bc7d Reviewed-on: https://chromium-review.googlesource.com/473266 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
jchen10 eb8abb0a 2017-04-11T08:30:38 Remove unused declaration isValidResourceIndex in Program.h is unused. BUG=angleproject:1920 Change-Id: Ide097348fac7ed97a0e07f3d97d7944ac997f71d Reviewed-on: https://chromium-review.googlesource.com/474229 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Frank Henigman 5ed601b4 2017-04-10T18:50:10 Fix IsOzone() predicate. ANGLE_USE_OZONE is not defined in tests, but USE_OZONE is so use the latter. BUG=angleproject:1423 Change-Id: Ib758fec6a1bb8d5cc66d0994cba2142e6a7f82b0 Reviewed-on: https://chromium-review.googlesource.com/474113 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 20e005b2 2017-04-07T14:19:22 Rename BitSetIterator.h to bitset_utils.h BUG=angleproject:1814 Change-Id: I152ae13b6b7cf0ba72259967f0f124e199b20e07 Reviewed-on: https://chromium-review.googlesource.com/471826 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 03b333b4 2017-04-07T14:54:10 Vulkan: Fix Clang warning and fix build. The data_deps section for angle_vulkan was referencing a variable that didn't exist (no warning for this). Fix the deps which also then exposes the build problem with the layers with Clang in 32-bit. Also fix not propagating the Win32 defines to the layer utils. BUG=chromium:708835 Change-Id: I4a457bfabf1ca735d3f3f3d8b0f0823cfa834b84 Reviewed-on: https://chromium-review.googlesource.com/470087 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang bf67aa80 2017-04-07T10:32:16 Temporarily disable Vulkan for the GN build. BUG=709342 Change-Id: I980634700d364824af9f9b749fca0ec72abf68f8 Reviewed-on: https://chromium-review.googlesource.com/471507 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 067cdb4a 2017-04-05T13:42:49 Create depth stencils for D3D texture EGL surfaces. BUG=angleproject:1144 Change-Id: I42d80293c06e40197fe100bcac31a5c6bd414edf Reviewed-on: https://chromium-review.googlesource.com/469106 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill fa416b18 2017-04-06T11:34:17 Disable ValidationESTest.DrawElementsWithMaxIndexGivesError. Temporarily until we have a proper fix. BUG=chromium:708835 Change-Id: I9c1d63d8d1f831f2a4a168149b7ff805bc851def Reviewed-on: https://chromium-review.googlesource.com/469967 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 6f1c3de9 2017-04-05T16:40:15 gpu_info_util: fix a DeviceInfo leak on Windows BUG=angleproject:1874 Change-Id: I382e306ce0c27a81e0d746fb9922fa12988927d4 Reviewed-on: https://chromium-review.googlesource.com/469230 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Frank Henigman df55f252 2017-04-05T15:32:06 Skip a couple end2end tests on Ozone. Skip the following two end2end tests on Ozone pending investigation: IndexedPointsTestUShort.VertexWithColorUnsignedShortOffsetChangingIndices/ES2_OPENGLES SRGBTextureTest.SRGBDecodeTextureParameter/ES2_OPENGLES BUG=angleproject:1423 Change-Id: Ied5b42903421ae9f388e8563814e3fe28eeb7b3e Reviewed-on: https://chromium-review.googlesource.com/469087 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 72106562 2017-03-24T14:18:50 Vulkan: Only re-create pipeline on state change. This speeds up the simple perf test, but it is a very simple optimization that does not have a cache of pipelines or anything sophisticated. BUG=angleproject:1898 Change-Id: Iec126bc73bf28f8bb33662a2f70670588f010d72 Reviewed-on: https://chromium-review.googlesource.com/444850 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang 5e96d74f 2017-04-05T16:26:14 Allow the OpenGL ES backend to be used with dEQP on Windows. Change-Id: I79e013ca2be57916affb167f5b348cc414d581ba Reviewed-on: https://chromium-review.googlesource.com/469189 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Frank Henigman 6e0d8410 2017-04-05T15:15:10 Add IsOzone(). Add a function to check for the Ozone back end for use in skipping tests. BUG=angleproject:1423 Change-Id: Ida3313e8cce5179422bdca85ba68f9765dfac840 Reviewed-on: https://chromium-review.googlesource.com/469068 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Geoff Lang 9aded17c 2017-04-05T11:07:56 Invalidate completeness caches when enabling extensions. Enabling extensions can cause framebuffers and textures to go from incomplete to complete. No functional changes from the API surface. BUG=angleproject:1523 BUG=angleproject:1958 Change-Id: Iff686e1c292f6cf4921d6fffd7eb98bedaba828b Reviewed-on: https://chromium-review.googlesource.com/468410 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 60e17eab 2017-04-05T11:01:49 Vulkan: Fix 32-bit Clang build. We were getting a warning: stdcall calling convention ignored on variadic function BUG=None Change-Id: I9165b285dfaf6bc238f946fda2d733292789390d Reviewed-on: https://chromium-review.googlesource.com/468373 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shao 562c9686 2017-04-04T17:28:43 Clean up legacy code in VertexAttributeTest.cpp This patch intends to clean up some coding style issues in VertexAttributeTest.cpp, which is helpful to implement Vertex Attrib Binding. 1. Use std::string directly instead of macro SHADER_SOURCE 2. Use constexpr on constants 3. Use std::array instead of traditional C-style arrays BUG=angleproject:1593 Change-Id: I5b6f6d4fe0e34e82a9fc38cb54932fbc39e19a80 Reviewed-on: https://chromium-review.googlesource.com/467406 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Olli Etuaho f2209f74 2017-04-01T12:45:55 Clean up function name mangling code Fix a few incorrect comments about mangled names, and refactor generating mangled names from function call nodes. BUG=angleproject:1490 TEST=angle_unittests Change-Id: I3ee68c4c0982f1a9c28d8e87aafa19f19559bbf8 Reviewed-on: https://chromium-review.googlesource.com/465826 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Jamie Madill dd43e6cd 2017-03-24T14:18:49 Pass Context to VertexArray and Framebuffer syncstate. This will enable more Vulkan-friendly idioms like clearing the vulkan pipeline caches correctly on GL state changes immediately because we have access to the ContextVk. BUG=angleproject:1898 Change-Id: I16c848d8abdde8e26a38d384e565cec8548a66d0 Reviewed-on: https://chromium-review.googlesource.com/459079 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Corentin Wallez 2360ed0c 2017-04-04T15:06:09 Disable the EGLSyncControlTest This test is very flaky on Windows bots. TBR=stanisc@chromium.org BUG=angleproject:1402 Change-Id: Iddfc630113c33cb79a96b7882fe8fa0e7fbf17d7 Reviewed-on: https://chromium-review.googlesource.com/468026 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang e93dabaa 2017-03-30T13:54:40 Output the number of columns and rows written for robust ReadPixels. BUG=angleproject:1354 Change-Id: Ib78f74d7b1a449468e2c477955f6795dc5dbc811 Reviewed-on: https://chromium-review.googlesource.com/463786 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6b2ea3fe 2017-03-28T11:49:17 Support D3D texture share handles in the OpenGL backend on Windows. BUG=angleproject:1144 Change-Id: Ideb0ed306ae8417f53b813745ced43002d028126 Reviewed-on: https://chromium-review.googlesource.com/461271 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 9ec79391 2017-03-31T23:04:23 Use TLValueTrackingTraverser in ValidateLimitations Use TLValueTrackingTraverser to determine whether a loop index is used as an l-value. This replaces custom logic in ValidateLimitations, greatly simplifying the code. Also pass the symbol table to ValidateLimitations as a parameter, which removes the need to store a global pointer to the current ParseContext. BUG=angleproject:1960 TEST=angle_unittests, WebGL conformance tests Change-Id: I122c85c78bbea05833d7c787cd184de568c5c45f Reviewed-on: https://chromium-review.googlesource.com/465606 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Shahmeer Esmail b5e884a4 2017-03-09T19:33:33 Clear11 VerticesTransform, RasterizerStates, ScissorRect - Skip clears if an empty scissor rect is set - Use rastStates to apply scissoring instead of recomputing the scissored positions and updating the VB and updating the VB for every clear - Use ComPtrs for VB and RasterizerStates BUG=angleproject:1934 Change-Id: Ib4448d8568b465df5de57607be4985095f6bd014 Reviewed-on: https://chromium-review.googlesource.com/453881 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuly Novikov 420ba154 2016-09-20T00:00:53 Update dEQP gles3 tests expectations for Android Mark tests that fail or hang on Nexus 5X as such. BUG=angleproject:1532 TEST=gles3 tests pass on Nexus 5X Change-Id: Id4c31884890bd48595a83be14e8d56342f7fbe59 Reviewed-on: https://chromium-review.googlesource.com/387148 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 9cb2c262 2017-04-03T10:12:04 Re-land: Roll vulkan-validation-layers. (2/2) https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f This CL re-enables Vulkan with the new build files. In particular, this roll contains a fix for a vs2017 signed/unsigned mismatch warning as error. Re-land fixes build dependencies. BUG=chromium:683729 Change-Id: If2b1bc7250037c33402965eae354ca550ecd36c0 Reviewed-on: https://chromium-review.googlesource.com/466106 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jiajia Qin f546e7df 2017-03-27T14:12:59 ES31: Add GL_SHADER_STORAGE_BUFFER_BINDING binding point The affected APIs are below: getIntegeri_v getInteger64i_v BindBuffer BindBufferBase BindBufferRange BUG=angleproject:1951 TEST=dEQP-GLES31.functional.state_query.integer.shader_storage_buffer_binding_* dEQP-GLES31.functional.state_query.indexed.shader_storage_buffer_* Change-Id: Ief7186b2ebe305f14e620c31841bc244f84429a5 Reviewed-on: https://chromium-review.googlesource.com/459093 Reviewed-by: Yunchao He <yunchao.he@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
jchen10 fd7c3b52 2017-03-21T15:36:03 ES31: Add glGetProgramResourceName API Add API entry and validation checks(GLES 3.1 section 7.3). Add the first 2 interfaces(PROGRAM_INPUT and PROGRAM_OUTPUT) implementation. BUG=angleproject:1920 Change-Id: Ide7d5ad40a611a091c3dffab47fd31da57b69f1d Reviewed-on: https://chromium-review.googlesource.com/457523 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>