Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 81970bc3 | 2018-06-06 11:11:56 | Use ShaderMap in DynamicHLSL and StateManager11 - Part I This patch is the first one of using ShaderMap in both DynamicHLSL and StateManager11 to make the code cleaner and more straightforward. BUG=angleproject:2169 Change-Id: I2b206d0250f5ced071cc1c3632367b16e5e02dfb Reviewed-on: https://chromium-review.googlesource.com/1089473 Reviewed-by: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> | ||
| e1a057e8 | 2018-06-07 15:09:00 | Fully format some files. Change-Id: Id6ea245849696d4c6d7eabc6860c0ac424dd8013 Reviewed-on: https://chromium-review.googlesource.com/1091309 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 74be296b | 2018-06-07 09:13:38 | GLES1: Texture environments setup - Revise entry point definitions to use packed enums BUG=angleproject:2306 Change-Id: I06ad95f475d1dbaf07ec24ff2544503c4a44e826 Reviewed-on: https://chromium-review.googlesource.com/1090996 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Lingfeng Yang <lfy@google.com> | ||
| ea17575d | 2018-06-07 10:18:29 | Vulkan: enable invariance dEQP tests Change-Id: I911e3e8460be2205119bb53ebbe8f56677e9e4c6 Reviewed-on: https://chromium-review.googlesource.com/1090760 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org> | ||
| 2bd1fabf | 2018-06-06 10:30:19 | Update dEQP expectations after June 2018 roll. BUG=angleproject:2629 BUG=angleproject:2349 BUG=angleproject:2327 BUG=angleproject:2328 BUG=angleproject:2630 BUG=angleproject:2631 BUG=angleproject:2349 Change-Id: Ie0752dd07ec8ee151e56c1d4362c47249b7393fc Reviewed-on: https://chromium-review.googlesource.com/1088876 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| f7af13c4 | 2018-06-06 14:14:54 | Fix the divide by zero exception in BindBufferRange This bug is caught because we haven't implemented caps.shaderStorageBufferOffsetAlignment on D3D backend. So the default value is 0. This change will set its value for D3D11 backend. BUG=angleproject:2625 TEST=angle_deqp_gles31_tests Change-Id: I03c045c08903e4da41659133e7dbd9c4133186cc Reviewed-on: https://chromium-review.googlesource.com/1088192 Reviewed-by: Yunchao He <yunchao.he@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 096a6c8c | 2018-02-27 23:48:21 | ES31: copy to a texture with RGB9_E5 internalformat is invalid. BUG=angleproject:2378 TEST=dEQP-GLES31.functional.debug.negative_coverage.get_error.texture.copytexsubimage2d_texture_internalformat Change-Id: I4ad0ec6636c0312a3ecfeb47df3297e4bf399c35 Reviewed-on: https://chromium-review.googlesource.com/938328 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yunchao He <yunchao.he@intel.com> | ||
| d1978037 | 2018-06-05 14:37:00 | Roll dEQP (June 2018). Quite a substantial update. Includes ANGLE-related fixes contributed by Google and Intel. Also includes some test suppressions for ES 3.1 D3D11. Bug: angleproject:2617 Bug: angleproject:2619 Bug: angleproject:2625 Change-Id: Iea90036996b1a49278443e5d88dbe7ace32de6d4 Reviewed-on: https://chromium-review.googlesource.com/1087179 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| 7ba3f425 | 2018-06-01 09:43:04 | GLES1: Fog API and rendering - Update test expectations BUG=angleproject:2306 Change-Id: Ic5aa5f052bcbe9c5adaf0eb0c6c06df66fd1720c Reviewed-on: https://chromium-review.googlesource.com/1082978 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 060088a5 | 2018-05-30 20:40:57 | GLES1: Clip plane API and rendering - Add unit tests for the API - Update test expectations + Pass through point size from the vertex array to the shader, required for new tests to pass. BUG=angleproject:2306 Change-Id: Ib19436c1f4cb12873adea94f734c821363f9e27d Reviewed-on: https://chromium-review.googlesource.com/1079993 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| fba1f61d | 2018-06-04 14:37:17 | Vulkan: No-op on ProgramVk::Validate implementation Also enable the dEQP test that was blocked on that UNIMPLEMENTED call. Bug: angleproject:2600 Change-Id: Iae1280d6e4f52c5b8e66c9f7fbaa9b2730c4eb0e Reviewed-on: https://chromium-review.googlesource.com/1085693 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org> | ||
| e9465a61 | 2018-06-04 10:41:52 | Vulkan: Fix wrong read ptr location when updating uniform block Fixes these dEQP tests: dEQP-GLES2.functional.state_query.shader.uniform_value_array dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_* dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_* dEQP-GLES2.functional.shaders.struct.uniform.nested_struct_array* dEQP-GLES2.functional.shaders.struct.uniform.loop_nested_struct_array* dEQP-GLES2.functional.shaders.struct.uniform.dynamic_loop_nested_struct_array* dEQP-GLES2.functional.uniform_api.value.assigned.by_value.get_uniform.multiple_nested_structs_arrays.* dEQP-GLES2.functional.uniform_api.value.assigned.basic_array_assign_partial.multiple_basic_array.* dEQP-GLES2.functional.uniform_api.value.assigned.basic_array_assign_full.multiple_basic_array.* dEQP-GLES2.functional.uniform_api.value.assigned.by_value.get_uniform.multiple_basic_array.vertex dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic.vertex dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic.fragment dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic.both dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic_array.* dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_nested_structs_arrays.* dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array.bool_* dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct.bool_* dEQP-GLES2.functional.uniform_api.info_query.unused_uniforms.* dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic.vertex dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic.fragment dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic.both dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic_array.* dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_nested_structs_arrays.* dEQP-GLES2.functional.uniform_api.value.initial.render.basic_struct.* dEQP-GLES2.functional.uniform_api.value.initial.render.struct_in_array.* dEQP-GLES2.functional.uniform_api.value.initial.render.array_in_struct.* dEQP-GLES2.functional.uniform_api.value.initial.render.multiple_basic_array.* dEQP-GLES2.functional.uniform_api.value.initial.render.multiple_nested_structs_arrays.* dEQP-GLES2.functional.uniform_api.value.initial.render.nested_structs_arrays.* dEQP-GLES2.functional.uniform_api.value.assigned.unused_uniforms* Bug: angleproject:2586 Change-Id: I51f619832424131b7c1eeff9589259b14cf4f358 Reviewed-on: https://chromium-review.googlesource.com/1085369 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org> | ||
| 16fdde13 | 2018-06-02 15:38:21 | Move vertex data copy functions out of D3D. Move the vertex buffer copying and conversion functions from the D3D back end so the Vulkan back end can use them. No functional change. BUG=angleproject:2405 Change-Id: If3c04a6c0dc37c78c1779d8b5d3cece263e8a031 Reviewed-on: https://chromium-review.googlesource.com/1083817 Commit-Queue: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 33f11fbc | 2018-05-07 13:42:47 | Initialize gl::Context state on the first call to MakeCurrent. The constructor of gl::Context creates a bunch of zero and helper objects but it is not current at this time. If the backend if not using virtualized contexts this causes the created objects to be created on the wrong native context. BUG=angleproject:2464 Change-Id: I9718df87d0afeb08729920363d362d5f891061ed Reviewed-on: https://chromium-review.googlesource.com/1048114 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Luc Ferron <lucferron@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| c8fbff3d | 2018-06-04 10:30:48 | Vulkan: Update uniforms bugfix and enable dEQP tests with it If a uniform was already marked as dirty, and the call to setMatrixUniform wasn't updating the data, the flag was flipped to false, causing the descriptor set never to be initialized. This enables these tests: dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.* Bug: angleproject:2583 Change-Id: I0bcb95cc66951e0ed347af5d874178c403a1c08a Reviewed-on: https://chromium-review.googlesource.com/1085228 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org> | ||
| 48cdc2e8 | 2018-05-31 09:58:34 | Vulkan: Implement setUniform for matrices correctly This fixes all these tests: dEQP-GLES2.functional.shaders.functions.datatypes.float_mat* dEQP-GLES2.functional.shaders.functions.datatypes.mat* dEQP-GLES2.functional.shaders.linkage.varying_type_mat* dEQP-GLES2.functional.shaders.matrix.* dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.mat2_* dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.mat3_* dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.* dEQP-GLES2.functional.shaders.conversions.matrix_combine.* dEQP-GLES2.functional.shaders.random.scalar_conversion* Bug:angleproject:2581 Bug:angleproject:2583 Bug:angleproject:2584 Bug:angleproject:2588 Change-Id: Ib8c03397f0229432292c51f4a6332f954fc8fa12 Reviewed-on: https://chromium-review.googlesource.com/1080392 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 79216620 | 2018-05-29 19:19:54 | Use stringstream with locale override. Add test for compiling float literals in locales with comma decimal separators. Handle inexplicable test setlocale failure on Android,Linux. (Require success on other platforms) Skip setting the locale on Android, which is always C locale in C++, but for some reason std::locale::classic isn't implemented as a no-op. Bug: angleproject:2607 Test: angle_unittests Change-Id: I7c97cb56c01335db46f532fb8af3f9a4f2a30564 Reviewed-on: https://chromium-review.googlesource.com/1077789 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 4fb8a8bd | 2018-06-01 16:47:57 | Move the EGL-based initial state to the gl::State constructor. This is a small refactor to allow State::initialize to be called without needing the EGL context creation attributes. BUG=angleproject:2464 Change-Id: Ifa167cc83f652435ecc00a0a73e4c6c4a3295430 Reviewed-on: https://chromium-review.googlesource.com/1083312 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 2f3f4141 | 2018-05-30 08:27:19 | Vulkan: Fix texture completeness issues The fix is to skip updates that are queued that are not valid for the current image description. We keep these around in case they are used in a later usage of the same texture but we issue a warning telling the user that memory will be used indefinitely until they use that data. Bug: angleproject:2596 Change-Id: I8c20fffbd473ae8e2e9d2123a49b675b824a9bf6 Reviewed-on: https://chromium-review.googlesource.com/1078913 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org> | ||
| 6b600645 | 2018-05-31 14:53:31 | D3D11: Micro-optimize StateManager11::updateState. This inlines several accessors. Bug: angleproject:2574 Change-Id: I61d223dd2a8f08e5331ccefde02e6ce55f5a607d Reviewed-on: https://chromium-review.googlesource.com/1067118 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 4166f014 | 2018-05-31 14:53:30 | D3D11: Optimize Renderer11::drawArrays. Uses inlining and more efficient computation re-use to streamline this function. Bug: angleproject:2575 Change-Id: Ib13e32811f56ec9a010ed66f298d4235e5c6807d Reviewed-on: https://chromium-review.googlesource.com/1067120 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| bf7b95db | 2018-05-01 16:48:21 | Create a default framebuffer per surface/context pair on MakeCurrent. Sharing a gl::Framebuffer object between multiple contexts causes problems if contexts are not virtualized because the native framebuffer objects are not shared between these contexts. The FramebufferImpl created should be the glue that binds a specific context to a specific surface. Update the SurfaceImpl implementations to re-create the framebuffer object before passing it to FramebufferGL. No backing resources will be re-created. BUG=angleproject:2464 Change-Id: Id0b13a221c22b71517b25cb5b1ef2392ad2ecdd6 Reviewed-on: https://chromium-review.googlesource.com/1039985 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| cbab2750 | 2018-05-31 18:49:31 | DEPS.chromium: Sync dEQP to ANGLE (not Chromium) third_party. Bug: 782846 Change-Id: I88af578dfd27fb69751138d9b263a148da9ecf23 Reviewed-on: https://chromium-review.googlesource.com/1081113 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| a0cfa873 | 2018-05-30 21:12:17 | GLES1: Shade model API + add sample BUG=angleproject:2306 Change-Id: Ie0c391618ec2b771cc99b96db02b9008a86272b9 Reviewed-on: https://chromium-review.googlesource.com/1079992 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 32749b94 | 2018-05-30 19:24:18 | GLES1: Alpha test - Update test expectations BUG=angleproject:2306 Change-Id: Ib49900c7c4d6b808ebfab9483d42d3fd98644f9e Reviewed-on: https://chromium-review.googlesource.com/1079991 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 0c4e08e9 | 2018-05-08 11:00:36 | Use ShaderMap in Caps - Part II This patch is the last one in the series of putting resource limits on each shader stage into ShaderMap. With this patch, all such values are organized in the corresponding ShaderMap. This patch also cleans up all the related code by using this new type of data structure. BUG=angleproject:2169 Change-Id: I440643fe44ab63acf7da0a1611643beed1ba66d1 Reviewed-on: https://chromium-review.googlesource.com/1077748 Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 6a455206 | 2018-05-31 14:20:36 | Use IsCubeMapFaceTarget on texture targets This patch introduces IsCubeMapFaceTarget() to determine if a teture target belongs to cube map. BUG=angleproject:2169 Change-Id: I3968ee267887665835f3eb3eda281c054e5d4375 Reviewed-on: https://chromium-review.googlesource.com/1080450 Reviewed-by: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> | ||
| 46bcea50 | 2018-05-31 09:48:36 | D3D,Vulkan: Prep work to share useful functions from D3D - Refactor and move some functions used by D3D that are not really renderer specific to be used by the Vulkan implementation to support setting matx uniforms. Bug: angleproject:2581 Change-Id: Ib37ddf4fc62bb8ecb3629893a24969e1f515795b Reviewed-on: https://chromium-review.googlesource.com/1079845 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 77a2b4c3 | 2018-05-21 17:28:29 | Validate the total invocations within a work group If the total number of invocations within a work group is greater than MAX_COMPUTE_WORK_GROUP_INVOCATIONS, a compile-time error will occur. BUG=angleproject:2572 TEST=dEQP.GLES31/functional_debug_negative_coverage_callbacks_compute_invalid_maximum_work_group_sizes dEQP.GLES31/functional_debug_negative_coverage_log_compute_invalid_maximum_work_group_sizes dEQP.GLES31/functional_debug_negative_coverage_get_error_compute_invalid_maximum_work_group_sizes Change-Id: I8218b618d1b347df2c85cfc67ba82ae91d756e05 Reviewed-on: https://chromium-review.googlesource.com/1066076 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 1da46774 | 2018-05-14 14:30:30 | Add support for EGL_ANDROID_presentation_time. BUG=angleproject:2506 Change-Id: I46b3c6ac7f259eabfdd8ea5799da6ef563ff81ee Reviewed-on: https://chromium-review.googlesource.com/1057997 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| 78ee3423 | 2018-05-30 11:34:19 | Vulkan: varyings of type Matrix/Struct can't use components. - This is not yet fixing all issues for these tests but it does get us further in the execution of the test case. Bug: angleproject:2581 Change-Id: I96510e013ccc87fd21bce6823e1278ed9ff60739 Reviewed-on: https://chromium-review.googlesource.com/1079267 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org> | ||
| 2274b652 | 2018-05-31 10:56:08 | StateManager11: Cache impl objects. Also requires putting the Framebuffer ID in the shared state object. Bug: angleproject:2575 Change-Id: I68e3af839a85798e01050560a67624a165d3ed2c Reviewed-on: https://chromium-review.googlesource.com/1067119 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 683d65f8 | 2018-05-31 13:32:00 | Fix a trivial parentheses compile warning Unable to compile with gcc 7.2.0 ubuntu 17.10. Bug: angleproject:2318 Change-Id: I91a5d73e56d308c7bda45778f5222884f3c202d0 Reviewed-on: https://chromium-review.googlesource.com/1079997 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 05cd6dfc | 2018-05-24 15:51:29 | Vulkan: generateMipmaps with vkCmdBlitImage when possible Bug: angleproject:2502 Change-Id: Ib32a128a453749c59d751e996017a8a6e2a9972e Reviewed-on: https://chromium-review.googlesource.com/1072550 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org> | ||
| 86ce210a | 2018-05-22 11:54:42 | Vulkan: Clean up onResourceChanged. Merge this with the internal method to generate a new command graph node. Call onResourceChanged internally in beginWriteResource. Bug: angleproject:2539 Change-Id: Ie33f886c5df7e15ff0b5d690a63fa664b1e964d4 Reviewed-on: https://chromium-review.googlesource.com/1069292 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Luc Ferron <lucferron@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org> | ||
| c57ee259 | 2018-05-30 19:53:48 | Vulkan: Clean up object releasing APIs. This cleans up the confusing releaseResource/releaseObject pair in the RendererVk class. It also makes getQueueSerial private in ResourceVk but keeps a public isResourceInUse API for external use. Bug: angleproject:2539 Change-Id: I6b4f24db16e36130a85ef03fc2c3b26d8d9e1fba Reviewed-on: https://chromium-review.googlesource.com/1069291 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org> | ||
| d014c9e6 | 2018-05-18 15:15:59 | Vulkan: Mark some Resource APIs are protected. This clarifies what is supposed to be called from outside the class to what should be called internally. The read/write dependency management is accessible publically. The command buffer access however is private and should be only used within the class. Bug: angleproject:2539 Change-Id: Ic25b589d4009de62633d13546be596ecafd0b175 Reviewed-on: https://chromium-review.googlesource.com/1066555 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Luc Ferron <lucferron@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org> | ||
| 5dca651f | 2018-05-30 10:53:51 | Vulkan: Make Resource's updateSerial private. This simplifies the API from the calling resource classes. This method is called internally instead. beginWriteResource and appendWriteResource both call updateSerial internally. Additionally this removes hasStartedRenderPass and instead returns a boolean from appendToStartedRenderPass indicating success. Bug: angleproject:2539 Change-Id: Idcf72e6a80dde90e83dabc64644051bb536c6b12 Reviewed-on: https://chromium-review.googlesource.com/1066554 Reviewed-by: Frank Henigman <fjhenigman@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 95fb2a17 | 2018-05-27 20:17:05 | Add vertex formats and lookup function. Add an angle::Format for each ES2 vertex data format. Add function GetVertexFormatID() to get the angle::Format for a vertex attribute. These will be used later to support vertex formats in Vulkan (by mapping angle::Format to Vulkan format) and to eliminate the redundant enum gl::VertexFormatType. No functional change. BUG=angleproject:2405 BUG=angleproject:2531 Change-Id: I871ae23ce9fba57d90c554376e84b03f8514f7fc Reviewed-on: https://chromium-review.googlesource.com/1044874 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org> | ||
| 4fef7738 | 2018-05-29 15:21:41 | Add perf test for Error/Result class. This is a performance test that stresses the Error class. It also is used in tests for the new Result class. Bug: angleproject:2575 Change-Id: Ie23c2a1ea74108d2ba72bf26f1db04e14f7eda64 Reviewed-on: https://chromium-review.googlesource.com/1077129 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| c20b950e | 2018-05-24 09:30:17 | Vulkan: Fix clear of specific mip level was clearing all mip levels Bug: angleproject:2502 Change-Id: Iffa012dce14584318c4dfd3d9b3a304291c9cebf Reviewed-on: https://chromium-review.googlesource.com/1070666 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 574a6f25 | 2018-05-28 10:21:18 | Vulkan: Fix edge case in DynamicBuffer causing wrong allocations - on a very specific scenario when the next buffer to allocate was fitting exactly in the allocated size. The condition was wrong and needed to be >= instead of >. Bug: angleproject:2562 Change-Id: Ide36bc3baadafdc1ffa40416b46998dc455caecf Reviewed-on: https://chromium-review.googlesource.com/1075293 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 22695bf5 | 2018-05-22 15:52:08 | Vulkan: Support cube mimaps generation Bug: angleproject:2502 Change-Id: I953d99d04608cec04aad824b8b38f388ed1e4c2b Reviewed-on: https://chromium-review.googlesource.com/1069544 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| c5181706 | 2018-05-17 09:44:42 | Vulkan: generateMipmaps for 2D textures - This implements cpu-only mipmaps generation. To do in the next CLs: - Cube textures support - GPU faster path with vkCmdBlitImage - Find the bug with clearing of level 0 mips. - Investigate the intel linux specific bug. Bug: angleproject:2502 Change-Id: Iecd73cb45ebc9c79ce6291c4529eb27330b51e2c Reviewed-on: https://chromium-review.googlesource.com/1064194 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 0ed2aa23 | 2018-05-29 18:42:28 | Vulkan: Fix expectations for android vulkan failures Bug: angleproject:2557 Change-Id: I0efd2f7ed47e1848e49fb853dc7a06b3a44082bc Reviewed-on: https://chromium-review.googlesource.com/1077567 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org> | ||
| 8c361c7f | 2018-05-18 14:36:06 | Vulkan: Remove one API from CommandGraphResource. 'checkResourceInUseAndRefreshDeps' can be implemented using other APIs. This simplifies the API surface in CommandGraphResource. Bug: angleproject:2539 Change-Id: I55350ab352c50961736327a867e8403d3b38506b Reviewed-on: https://chromium-review.googlesource.com/1052070 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Luc Ferron <lucferron@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org> | ||
| 95cce74a | 2018-05-29 16:10:14 | Vulkan: Add expectations for failing tests on Android Bug: angleproject:2557 Change-Id: Ibf8abee5c292da460bf33485ab4699b5d70d51c7 Reviewed-on: https://chromium-review.googlesource.com/1077054 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| a5e06071 | 2018-05-18 14:36:05 | Vulkan: Move the CommandGraphNode class to the cpp. This totally hides the details of the CommandGraphNode implementation from the rest of the back-end. This continues the simplification of the graph/resource APIs. Refactoring change only. Bug: angleproject:2539 Change-Id: I7e0f286c387599624cfdff6c8972a8e082fe05d3 Reviewed-on: https://chromium-review.googlesource.com/1052069 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Luc Ferron <lucferron@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org> | ||
| b4a3f65f | 2018-05-28 21:18:55 | Fix nativegl::InsertFormatMapping Bug: angleproject:2567 Change-Id: I0f01499855213ef8d4bb772698ad4386e6317d2f Reviewed-on: https://chromium-review.googlesource.com/1075847 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 387b3b36 | 2018-05-28 10:11:57 | Vulkan: Fix a line loop edge case causing validation errors Bug: angleproject:2563 Change-Id: I6e908fbd3e5725dc3f355f8b0561f2177b61dff6 Reviewed-on: https://chromium-review.googlesource.com/1075291 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 316c6065 | 2018-05-29 10:49:45 | Vulkan: Call GraphResource instead of GraphNode. We don't need to use the CommandGraphNode class directly. This CL consolidates our code so we never call the GraphNodes class directly. Instead we call operations on GraphResource. This should simplify the interaction with APIs from the various graph and dependency management classes in the Vulkan back-end. A new concept of 'starting' vs 'appending' commands is introduced. Appending tries to avoid starting new command buffers when possible. Should not change how the graphs are constructed, and mostly be a refactoring change. There may be minor behaviour changes to some commands. Bug: angleproject:2539 Change-Id: Ia971e5cacb1164b9b3b22fa4a0a55b954d81f10e Reviewed-on: https://chromium-review.googlesource.com/1052068 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org> | ||
| b26ab825 | 2018-05-29 11:19:00 | Return a program binary size of 0 when the program is not linked. From the GLES3 spec: "... When a program object's LINK_STATUS is FALSE, its program binary length is zero ..." Querying the size was generating errors in the GL backend. BUG=angleproject:2569 Change-Id: I1be511040331abaec2bba98502d8aa88fb4bd19c Reviewed-on: https://chromium-review.googlesource.com/1076317 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| c2014bce | 2018-05-28 16:09:04 | Expose eglCreatePlatformWindowSurfaceEXT and eglCreatePlatformPixmapSurfaceEXT These entry points are part of EGL_EXT_platform_base but were never returned by eglGetProcAddress. BUG=angleproject:2603 Change-Id: I4782df67fa8625a9af29a18df02af7b5fa73d75e Reviewed-on: https://chromium-review.googlesource.com/1075469 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 3f1eba94 | 2018-05-10 15:53:22 | Support EGL_KHR_swap_buffers_with_damage in the EGL backend. Update the EXT extension to KHR in ANGLE. BUG=angleproject:2544 Change-Id: Ia647191c3e762d658b0f7e28a34a9ce2cc545f48 Reviewed-on: https://chromium-review.googlesource.com/1054415 Reviewed-by: Luc Ferron <lucferron@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 1e91374e | 2018-05-25 12:37:50 | Vulkan: Enable every dEQP tests that are passing - Also created bugs for each failing expectation to follow-up on. - This CLs enable 8572 dEQP tests for Vulkan. Bug: angleproject:2557 Change-Id: I7fba622994a5b0d884ba965bcbc2f807fefee9b4 Reviewed-on: https://chromium-review.googlesource.com/1073657 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org> | ||
| bcf467f2 | 2018-05-23 09:46:00 | Vulkan: Encapsulate RenderTargetVk. This makes the members private and adds more functionality. This moves more responsibility out of vk::CommandGraphNode and also makes the RenderPass init in the CommandGraphNode class better encapsulated. Bug: angleproject:2539 Change-Id: Ia16f3f39cf011548c6473805b8b28e284808e856 Reviewed-on: https://chromium-review.googlesource.com/1040279 Reviewed-by: Luc Ferron <lucferron@chromium.org> Reviewed-by: Frank Henigman <fjhenigman@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 29523298 | 2018-05-28 15:01:43 | Update dEQP EGL expectations for Mac. BUG=angleproject:2546 Change-Id: I9485c701c6960f8abb60e763ad8b099933eaee81 Reviewed-on: https://chromium-review.googlesource.com/1075728 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 1478afaf | 2018-05-17 10:43:34 | GLES1: Lighting and materials (renderer) - Update test expectations - Add gles1 sample app that shows simple lighting. BUG=angleproject:2306 Change-Id: I545dcf860374abd9d628b0d554153cb634098f6d Reviewed-on: https://chromium-review.googlesource.com/1065501 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| d0febe7a | 2018-05-17 22:36:52 | Reland "GLES1: Entry points for lighting and materials" This is a reland of 4a09c1a245c406e402b3996b7ed33798b897e60f Entry points have been autogenerated again. Original change's description: > GLES1: Entry points for lighting and materials > > - glLight*/glMaterial and their queries > - Use new packed enums in these entry points, except for lightmodel > which stays GLenum to be consistent with other generic glGet's > - State.cpp: New glGet* queries related to light model and > light/normal rescale enablement > - GLES1State.cpp: Functions to get/set lighting/material state > - Validation for lighting/materials > > + Add a few convenience methods to random_utils for sampling > non-negative floats and a sampler for random booleans > > BUG=angleproject:2306 > > Change-Id: If7ba0c0a0dc75f88fbaa986b904f1ea96ee6512e > Reviewed-on: https://chromium-review.googlesource.com/1065502 > Commit-Queue: Lingfeng Yang <lfy@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: angleproject:2306 Change-Id: I434273acd5200dd9f4925e239a032cc8db31a434 Reviewed-on: https://chromium-review.googlesource.com/1072849 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Lingfeng Yang <lfy@google.com> | ||
| d0a7d10f | 2018-05-07 12:40:20 | ES3.1: Set unordered access view related resource limits on D3D11 This patch sets the implementation-dependent resources limits related to unordered access views (images, shader storage blocks, atomic counter buffers and fragment shader outputs) on D3D11 back-ends. For pixel shaders, the render targets and unordered access views share the same resource slots when being written out, so we plan to allocate these slots as follows: - As there are 8 slots for UAVs and RTVs in feature level 11_0, currently we assign 1 slot for atomic counter buffer and 7 slots that are shared among images, shader storage blocks and fragment shader outputs. - As there are 64 slots for UAVs and RTVs in feature level 11_1, currently we assign 4 slots for atomic counter buffers and 60 slots that are shared among images, shader storage blocks and fragment shader outputs. We also limit the maximum number of draw buffers to 7 if we create ES 3.1 context on D3D11 feature level is 11_0 because the value of combined shader output resources is 7. This patch also labels several dEQP cases from "FAIL" to "SKIP" because since the resource limits on ssbos, atomic counter buffers and images in rendering pipeline are set in D3D11 back-ends, the GLSL programs in these cases can pass all the related link checks, thus these cases will crash due to reaching the unimplemented parts when they are running on ANGLE D3D11 back-ends. BUG=angleproject:2345 TEST=dEQP-GLES31.functional.state_query.integer.max_compute_atomic_counter_buffers_* dEQP-GLES31.functional.state_query.integer.max_compute_shader_storage_blocks_* dEQP-GLES31.functional.state_query.integer.max_atomic_counter_buffer_bindings_* dEQP-GLES31.functional.state_query.integer.max_combined_atomic_counter_buffers_* dEQP-GLES31.functional.state_query.integer.max_image_units_* dEQP-GLES31.functional.state_query.integer.max_combined_image_uniforms_* dEQP-GLES31.functional.state_query.integer.max_shader_storage_buffer_bindings_* dEQP-GLES31.functional.state_query.integer.max_combined_shader_storage_blocks_* dEQP-GLES31.functional.state_query.integer.max_combined_shader_output_resources_* Change-Id: I56a4e6c60d4f6f5bd6f238ae8ce425fb5072a4a3 Reviewed-on: https://chromium-review.googlesource.com/1046372 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org> | ||
| 5f9482f4 | 2018-05-18 09:00:09 | ES31: Implement FramebufferTextureEXT entry point This patch adds the entry point and related validation for FramebufferTextureEXT defined in OpenGL ES 3.1 extension EXT_geometry_shader. BUG=angleproject:1941 TEST=angle_end2end_tests Change-Id: Id6804e0b3971f52273562ce1a325d8377926a558 Reviewed-on: https://chromium-review.googlesource.com/1069842 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 04796cda | 2018-05-24 19:52:16 | Remove gl::PrimitiveType. This replaces the usages with gl::PrimitiveMode. Also replaces the ProgramD3D Geometry Shader executable storage with a PackedEnumMap. Bug: angleproject:2574 Change-Id: I476dd2ba92d6267b9ea2bb9a37ee15fb6a91e627 Reviewed-on: https://chromium-review.googlesource.com/1067115 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| 493f9571 | 2018-05-24 19:52:15 | Add PrimitiveMode packed GLenum. Bug: angleproject:2574 Change-Id: I3d7bd7ca0d69a364a611dc04799ea34906fc4a6c Reviewed-on: https://chromium-review.googlesource.com/1067114 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| b2eda420 | 2018-05-24 19:14:48 | dEQP: Add attrib init helper function. This removes a lot of repeated code in tcuANGLEPlatform.cpp. Bug: angleproject:2552 Change-Id: Ie4cc53af2dfdf719b78d272cbd260cab5b2efd7b Reviewed-on: https://chromium-review.googlesource.com/1064196 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| 3c7439b6 | 2018-05-24 19:52:14 | Fix style inconsistency in packed enum json. Bug: angleproject:2574 Bug: angleproject:2169 Change-Id: I33387bd47979cda7d5239c7128252f860c721a3b Reviewed-on: https://chromium-review.googlesource.com/1067113 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| c22f5134 | 2018-05-24 19:02:04 | D3D9: Fix incorrect parameter to setBlendDepthRasterStates. We were passing an unsigned int mask instead of a GLenum drawMode. This was caught by converting draw modes to internal packed enums. Bug: angleproject:2574 Change-Id: I4b063590aa60381b5ffa5eba0479a86d10b439c6 Reviewed-on: https://chromium-review.googlesource.com/1067112 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| 450420b2 | 2018-05-24 19:02:03 | Order packed enums according to JSON. This simplifies the code for the ordered enum cases. Also sort the existing non-ordered enums alphabetically. Bug: angleproject:2574 Bug: angleproject:2169 Change-Id: I444092a94ee46f76b2fc05a557458f273c5a50bc Reviewed-on: https://chromium-review.googlesource.com/1067111 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| d4703d50 | 2018-05-24 17:31:43 | Move packed enum code to common/ This makes it accessible in the utilities files. Bug: angleproject:2574 Bug: angleproject:2169 Change-Id: I0fdd34b4233e72b7534cb2b09f451539c1a394cd Reviewed-on: https://chromium-review.googlesource.com/1067110 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| 1c597eea | 2018-05-24 14:19:31 | Fix run_code_generation for huge diffs. This uses the --full argument to work around max path limitations on Windows. Also includes a couple minor changes for generators to generate already-formatted code. Bug: angleproject:2578 Change-Id: I1e400b02e828bfdca21cacb73c649f41226bef55 Reviewed-on: https://chromium-review.googlesource.com/1072161 Reviewed-by: Lingfeng Yang <lfy@google.com> Reviewed-by: Luc Ferron <lucferron@chromium.org> Reviewed-by: Brandon1 Jones <brandon1.jones@intel.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 14eb89c6 | 2018-05-17 15:16:27 | dEQP: Add EGL 1.5 getPlatformDisplay. This will allow us to pass pointers in the attributes list. This is helpful for the angle::Platform init code. Bug: angleproject:2552 Bug: angleproject:2564 Change-Id: I388d907ad543a61f357c0a51e8242942118bdaea Reviewed-on: https://chromium-review.googlesource.com/1064195 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 4428d395 | 2018-05-17 15:16:27 | dEQP: Abort gtest run on exception. Prevents massive infra failures when the tests are all broken. This also gives the GoogleTest harness the ability to handle different test result types. Bug: angleproject:2552 Change-Id: Id9832e8557e2ee4e6a248a27729f67a81bf2d830 Reviewed-on: https://chromium-review.googlesource.com/1064014 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 0f8aab8b | 2018-05-24 10:25:27 | Remove unused files from libGLESv2.gpyi Remove two files from libGLESv2.gpyi that were accidentally included in commit "Implement EGL_ANGLE_explicit_context" Bug: angleproject:1395 Change-Id: I9a8b2e25a1a1d105977b9a6e0cf4e19b8e7b69a2 Reviewed-on: https://chromium-review.googlesource.com/1072032 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 668e507f | 2018-05-24 17:12:14 | Revert "GLES1: Entry points for lighting and materials" This reverts commit 4a09c1a245c406e402b3996b7ed33798b897e60f. Reason for revert: Seems to break the build Original change's description: > GLES1: Entry points for lighting and materials > > - glLight*/glMaterial and their queries > - Use new packed enums in these entry points, except for lightmodel > which stays GLenum to be consistent with other generic glGet's > - State.cpp: New glGet* queries related to light model and > light/normal rescale enablement > - GLES1State.cpp: Functions to get/set lighting/material state > - Validation for lighting/materials > > + Add a few convenience methods to random_utils for sampling > non-negative floats and a sampler for random booleans > > BUG=angleproject:2306 > > Change-Id: If7ba0c0a0dc75f88fbaa986b904f1ea96ee6512e > Reviewed-on: https://chromium-review.googlesource.com/1065502 > Commit-Queue: Lingfeng Yang <lfy@google.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,lfy@google.com Change-Id: Ifabd708ded87c7484ad6d466508e2c2d6ea2557c No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2306 Reviewed-on: https://chromium-review.googlesource.com/1071828 Reviewed-by: Lingfeng Yang <lfy@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 4a09c1a2 | 2018-05-17 22:36:52 | GLES1: Entry points for lighting and materials - glLight*/glMaterial and their queries - Use new packed enums in these entry points, except for lightmodel which stays GLenum to be consistent with other generic glGet's - State.cpp: New glGet* queries related to light model and light/normal rescale enablement - GLES1State.cpp: Functions to get/set lighting/material state - Validation for lighting/materials + Add a few convenience methods to random_utils for sampling non-negative floats and a sampler for random booleans BUG=angleproject:2306 Change-Id: If7ba0c0a0dc75f88fbaa986b904f1ea96ee6512e Reviewed-on: https://chromium-review.googlesource.com/1065502 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 2b0cdcc1 | 2018-05-02 08:02:50 | Implement EGL_ANGLE_explicit_context Implementation of EGL_ANGLE_explicit_context. Includes new libGLESv2 entry points and exports, libANGLE entry points, extension declarations for eglGetProcAddress, and unit tests. Autogeneration scripts have been modified to produce entry points, exports, eglGetProcAddress function table, extension function pointers, and function declarations. Bug:angleproject:1395 Change-Id: I1b79c6069bbed05beb4700a32139a64ddc465c4c Reviewed-on: https://chromium-review.googlesource.com/1039865 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 390900a0 | 2018-05-18 09:44:59 | Add support for EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE To support ANGLE for Android need a way to tell ANGLE what library to call when using GL backend. Bug: angleproject:2418 Test: test-opengl-gl2_copyTexImage Change-Id: Ie00251b0672a036db4720e1e5b269f66a30a03da Reviewed-on: https://chromium-review.googlesource.com/1066822 Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| c1651618 | 2018-05-23 11:34:11 | Don't double-terminate a display. Some dEQP tests call eglTerminate twice on the same display and cause crashes. BUG=angleproject:2546 Change-Id: I3118e07aec19a28ad2b76fc2705be5b0bea37857 Reviewed-on: https://chromium-review.googlesource.com/1066467 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 22a5f5f0 | 2018-05-23 11:33:01 | Make sure to destroy all resources in DisplayWGL if initialization fails. It was possible to leak some resources if initialization fails half way through. BUG=angleproject:2546 Change-Id: I0ea75a274fed27b118e788785bb72aff5fe8381e Reviewed-on: https://chromium-review.googlesource.com/1070221 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 2a12b3d5 | 2018-05-23 13:42:13 | ES31: Add struct uniform block support in compute shader for D3D BUG=angleproject:2577 TEST=angle_end2end_tests Change-Id: I4d84a10508458444d559013e658ae88cd2923f91 Reviewed-on: https://chromium-review.googlesource.com/1069989 Commit-Queue: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| b0e9ddb5 | 2018-05-23 11:30:04 | Refactor a hex streaming into a generic FmtHex function. The length of the printed value can be determined from size of the type. BUG=angleproject:2546 Change-Id: I39a4f9550f381dd82183f50019b3f7d117c52472 Reviewed-on: https://chromium-review.googlesource.com/1070220 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> | ||
| 58675016 | 2018-05-22 14:54:07 | Vulkan: Refactor CopyTexImage to use readPixelsImpl. It turns out it won't be easy to just use the RenderTargetVk and CommandBuffer with the Command Graph refactor. Better to use the FramebufferVk directly. Also cleans up a few incidental style issues. Bug: angleproject:2539 Change-Id: I73c2767072a84e9e5042361c7bdf4e9aef0f8ac7 Reviewed-on: https://chromium-review.googlesource.com/1066471 Reviewed-by: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: Luc Ferron <lucferron@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| be7f44fb | 2018-05-21 14:35:32 | Vulkan: Use push constant for masked clear color Storing the color in an uniform buffer, and updating it by vkCmdUpdateBuffer can hit a driver bug. Using vkCmdPushConstants instead can workaround this bug. Besides, push constant is expected to outperform memory-backed resource update according to the vkspec (section 13.2.6). Bug: angleproject:2547 Change-Id: I319cd8e07e0a1d0cb56005b78a46466d9fca436e Reviewed-on: https://chromium-review.googlesource.com/1067247 Commit-Queue: Jie A Chen <jie.a.chen@intel.com> Reviewed-by: Luc Ferron <lucferron@chromium.org> | ||
| b1e91380 | 2018-05-17 14:33:55 | ES31: Implement EXT_geometry_shader framebuffer default layers on OpenGL This patch implements FRAMEBUFFER_DEFAULT_LAYERS_EXT as a legal framebuffer parameter required in OpenGL ES 3.1 extension EXT_geometry_shader on OpenGL back-ends. The query on FRAMEBUFFER_DEFAULT_LAYERS_EXT specifies the layer count used when the framebuffer has no attachments. BUG=angleproject:1941 TEST=dEQP-GLES31.functional.geometry_shading.query.framebuffer_default_layers Change-Id: I888465dfe23da53541ec2fedb8616027df532466 Reviewed-on: https://chromium-review.googlesource.com/1063560 Reviewed-by: Jiajia Qin <jiajia.qin@intel.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> | ||
| 9b1462a0 | 2018-05-21 16:40:57 | Roll fwd ANGLE chromium DEPs Roll build, buildtools, clang, testing, googletest, zlib, gyp. Bug: angleproject:2560 Change-Id: Ic7f2a8bbdb9f6ff3bca1cd6d7ba424add7d086ad Reviewed-on: https://chromium-review.googlesource.com/1068064 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 31d3deb4 | 2018-05-18 18:32:16 | Add `formatType` arg to computeSkipBytes. Fix texture upload format tests: - Format tests should definitely run on ES3 also. - Also set filters to NEAREST since some formats aren't filterable. - Fix RGB9_E5 test reference encoding and add a test for it. - True int/uint textures require i/usamplers. Bug: angleproject:2576 Change-Id: Ia5bac34cdee6554a88db339de443689a71a0cf70 Reviewed-on: https://chromium-review.googlesource.com/1068142 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 64ac5d9e | 2018-05-22 10:39:47 | Vulkan: Quick rename of member variable in DynamicBuffer The new name mNxtAllocationOffset instead of mNextWriteOffset makes more sense. Also merged the 2 offset tracking vars since the user of DynamicBuffer should know to flush or invalidate correctly. Bug: angleproject:2480 Change-Id: If7a04b633794484ad88e73fd6f802fcfe0e3705a Reviewed-on: https://chromium-review.googlesource.com/1069107 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org> | ||
| 671be629 | 2018-05-18 15:01:46 | Make sure the DisplayImpl is terminated if it fails to fully initialize. It is possible that if device creation fails that the display would be left in a state where rx::DisplayImpl is initialized and egl::Display is not. BUG=angleproject:2546 Change-Id: I609e4c40f37945322d64786d4f6e97f361764b62 Reviewed-on: https://chromium-review.googlesource.com/1066501 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 534b00db | 2018-05-18 08:16:53 | Vulkan: readPixels improvement - use DynamicBuffer Reintroduce the change that was previously reverted here: https://chromium-review.googlesource.com/c/angle/angle/+/1064770 This includes a tentative fix the issue on Android that prompted the revert, we need to call invalidate on the mapped memory range before we read it on the host side. Bug: angleproject:2480 Change-Id: Id637bafa2845628ae38483c6fc8e6d7f26ad2d3e Reviewed-on: https://chromium-review.googlesource.com/1066229 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> | ||
| 787338f9 | 2018-05-07 17:23:57 | Add headers to build file lists. Bug: angleproject:2535 Change-Id: If4d3037e43b403683554a710e89a76befd9b354a Reviewed-on: https://chromium-review.googlesource.com/1068140 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 42cf958c | 2018-05-17 15:39:16 | Make UNIMPLEMENTED a warning. Having UNIMPLEMENTED be an error was problematic in a few places. Some tests would pass despite hitting the macro. We were relying on this in a bunch of places. Making it a warning is an easier solution than fixing all of the cases. Going forward we can fix the warnings and make warnings produce test failures. This is similar to enabling warnings as errors in C++ code. Bug: angleproject:2552 Change-Id: Iaf0479cd6bd6a9e85aaccbbee13c322166ff7b5a Reviewed-on: https://chromium-review.googlesource.com/1064724 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| be4a3683 | 2018-05-17 15:16:27 | dEQP: Use overload of CreateWindow. This allows us access to the EGLDisplay handle. This will be useful for passing along an error logging function. Bug: angleproject:2552 Change-Id: I98a170f419d728ca93558954be4e5c0511b0316b Reviewed-on: https://chromium-review.googlesource.com/1062790 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 9b1a9084 | 2018-05-17 15:16:26 | dEQP: Format display factory and clean up style. This fixes a bunch of minor style issues. Bug: angleproject:2552 Change-Id: If0e8130cf85deb176a5dcbca568cca477d2c1068 Reviewed-on: https://chromium-review.googlesource.com/1062789 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> | ||
| 78b7f3a8 | 2018-05-18 01:42:34 | GLES1: New packed enums for materials and lighting BUG=angleproject:2306 Change-Id: Icd1f830b666d75b30455dd4cbc2183cd431b97cc Reviewed-on: https://chromium-review.googlesource.com/1065792 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> | ||
| a9ab0f37 | 2018-05-17 17:03:55 | Vulkan: Fix DynamicBuffer usages, need to use specific alignment The alignment used to allocate VkBuffers in the VkBuffer needs to be at least the size of the nonCoherentAtomSize defined in the limits of the VkDevicePhysicalProperties. The latest roll of the vulkan-validation-layers added that check and caused a bunch of errors. This is fixing them. Bug: angleproject:2565 Change-Id: Ia2ad506dce7966adb6220c52ea891903922c47d0 Reviewed-on: https://chromium-review.googlesource.com/1064950 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| dcda0e50 | 2018-05-10 12:50:43 | Don't make redundant calls to Display::makeCurrent. Refactor ValidateMakeCurrent to pass egl object pointers instead of handles. BUG=angleproject:2464 Change-Id: I98859f56d238a38bd6755f00dce7344635690491 Reviewed-on: https://chromium-review.googlesource.com/1053877 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Luc Ferron <lucferron@chromium.org> | ||
| dd565786 | 2018-05-18 11:39:49 | Revert "Vulkan: readPixels improvement - use DynamicBuffer" The tentative fix did not fix the issue on Android Nexus 5x. This reverts commit 8688bf46f1835dbe7fff4480350b1bc0ef02ff78. NOTRY=true Change-Id: If4a517028951a2232a87aeaf1045a5df731d17d3 Reviewed-on: https://chromium-review.googlesource.com/1065578 Reviewed-by: Luc Ferron <lucferron@chromium.org> | ||
| 8688bf46 | 2018-05-18 08:16:53 | Vulkan: readPixels improvement - use DynamicBuffer Reintroduce the change that was previously reverted here: https://chromium-review.googlesource.com/c/angle/angle/+/1064770 This includes a tentative fix the issue on Android that prompted the revert. Bug: angleproject:2480 Change-Id: I04be55d9dead00500adaa5f56458cb93957f2535 Reviewed-on: https://chromium-review.googlesource.com/1065799 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> | ||
| 6c6c76c0 | 2018-05-17 18:45:06 | Revert "Vulkan: readPixels improvement - use DynamicBuffer" This reverts commit 82a420bb9af221e659b9510aed6791a87ac97b25. Reason for revert: breaks readPixels on Android, probably because memory there is not host coherent by default. Original change's description: > Vulkan: readPixels improvement - use DynamicBuffer > > - Instead of using a new Staging image everytime, we now > just use a DynamicBuffer that should be bit less wasteful. > > Bug: angleproject:2480 > > Change-Id: I09edfb16f6ec49a0ca320d9e5dd9ce34e9dbf99e > Reviewed-on: https://chromium-review.googlesource.com/1059452 > Commit-Queue: Luc Ferron <lucferron@chromium.org> > Reviewed-by: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,jmadill@chromium.org,lucferron@chromium.org Change-Id: Id7c493915ec7131f5202a7224267a79cd53007d2 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2480 Reviewed-on: https://chromium-review.googlesource.com/1064770 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> | ||
| 82a420bb | 2018-05-15 12:55:21 | Vulkan: readPixels improvement - use DynamicBuffer - Instead of using a new Staging image everytime, we now just use a DynamicBuffer that should be bit less wasteful. Bug: angleproject:2480 Change-Id: I09edfb16f6ec49a0ca320d9e5dd9ce34e9dbf99e Reviewed-on: https://chromium-review.googlesource.com/1059452 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> | ||
| 1ce8aede | 2018-05-17 09:19:05 | dEQP: Shorten test case names. Instead of dEQP_GLES2.Default/functional.blah... Use dEQP.GLES2/functional.blah... This makes them a bit easier to parse and reconstruct from memory. Bug: angleproject:2557 Change-Id: I092dc6ef10d4451ddafe373e699a5d35247f8785 Reviewed-on: https://chromium-review.googlesource.com/1062065 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> |