- 02 May, 2018 5 commits
-
-
Jamie Madill authored
Even on the highest optimization level MSVC was still generating extra code in Release for ASSERT macros. This realigns the code more with Chromium by using a streaming eating macro with the expression at the end. Now no code should be generating. I believe this did not affect Clang builds. Bug: angleproject:1671 Change-Id: I099c59cf0b28ae3ffc08b864982e67559901724e Reviewed-on: https://chromium-review.googlesource.com/1036208Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This re-uses the same machinery as the GL front-end. It saves a lot of custom casting and array sizing. Currently we only support vertex and fragment shaders in Vulkan. Because of the Pipeline cache sizing, it's easier to stick with just VS/FS and introduce the full set of shaders when we move to packing the cache better. Bug: angleproject:2522 Bug: angleproject:2455 Change-Id: I21432a335c741885af87970d8ee52b4a36338304 Reviewed-on: https://chromium-review.googlesource.com/1036927Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jiawei Shao <jiawei.shao@intel.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Corentin Wallez authored
BUG=angleproject:1874 Change-Id: I8898c1a467c1fec25963f45a31376a6b02e1b6c4 Reviewed-on: https://chromium-review.googlesource.com/1037584Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
-
Olli Etuaho authored
We can validate to avoid triggering driver issues even if the native GLES spec is not telling us to. This will fix WebGL in Chromium when it's being run with the --use-cmd-decoder=validating --use-angle=gl config. BUG=chromium:830046 TEST=WebGL conformance tests Change-Id: I2d61182cb6cbe46b52e1d9b7ed6b4035defee082 Reviewed-on: https://chromium-review.googlesource.com/1033743 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Olli Etuaho authored
Simplify handling of reversing the blitted area and calculate shader parameters in a way that doesn't require lengthy explanation. BUG=chromium:830046 TEST=angle_end2end_tests Change-Id: Ie9bce812be4ef04a969153fc7c484039fc48a198 Reviewed-on: https://chromium-review.googlesource.com/1030172 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 01 May, 2018 5 commits
-
-
Jamie Madill authored
This allows Framebuffer syncState methods to handle dirty bits themselves. This will be useful for the implementation of masked color clear. Bug: angleproject:2455 Change-Id: I65ad9c61e89e317c820f6be5550edd8185b52afc Reviewed-on: https://chromium-review.googlesource.com/1032856 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Luc Ferron <lucferron@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
Vulkan intenal shaders are stored in a ShaderLibrary, and this is owned by the RendererVk. This way the shaders are reused between all the different Contexts. They are initialized lazily to keep init time low. They also have an associated Serial (called a ProgramSerial) so they can be identified in a PipelineDesc (used by the Pipeline cache). We use a python script to build and invoke the glslang validator, that also produces SPIR-V binary code snippets. These snippets are gathered into an auto-generated file that is exposed via an auto-generated header file. The InternalShaderID enum class gives access to the internal shaders that are shared through the Vulkan back-end. This also adds simple clear shaders to be used in masked color clears. The patch doesn't add any functionality but it is split off from the color clear functionality to keep the code size down. Bug: angleproject:2339 Bug: angleproject:2455 Change-Id: Ie83043eda217c9f013817b198c92a3b7ba0878b4 Reviewed-on: https://chromium-review.googlesource.com/1031372 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Luc Ferron authored
Bug: angleproject:2474 Change-Id: Ia558c2e266422f8f8b55523c9542379688a7058d Reviewed-on: https://chromium-review.googlesource.com/1037164 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Luc Ferron authored
1- Link program with a shader and draw with it, relink with another shader and draw again. 2- Release program that is reading from a uniform. Bug: angleproject:2397 Change-Id: Icb4211c5cf71efaf41833d9d5afd83ce8410c598 Reviewed-on: https://chromium-review.googlesource.com/1028580 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This was causing very slow builds/test runs. Bug: chromium:837166 Bug: chromium:834269 Change-Id: If2e5665455d4a8af13cbc732a65a07550ace8304 Reviewed-on: https://chromium-review.googlesource.com/1036220Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 30 Apr, 2018 3 commits
-
-
Courtney Goeltzenleuchter authored
Bug: angleproject:2418 Change-Id: I793d330a2cc92a510b189fa23d14f41f48a7d986 Reviewed-on: https://chromium-review.googlesource.com/1035422Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
-
Jamie Madill authored
The mtime values I was seeing on my file system were sometimes floating point numbers that were very very close but not exactly the same. This might be due to numerical errors. Increasing the tolerance to something still very small, precision is less than a second. It will lead to fewer rebuilds of non-dirty files. Bug: angleproject:2455 Change-Id: I95dc3214ee91af7a70a20cc625405e0e2bc18698 Reviewed-on: https://chromium-review.googlesource.com/1032855Reviewed-by:
Luc Ferron <lucferron@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
These weren't needed in many places. Also renames one FramebufferVk method. Bug: angleproject:2455 Change-Id: Idb641094fa3e180a85f357533d86bd0b19db4ec8 Reviewed-on: https://chromium-review.googlesource.com/1024826Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Luc Ferron <lucferron@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 28 Apr, 2018 2 commits
-
-
Jiawei Shao authored
This patch intends to remove redundant computations on combined interface block counts in ValidateGraphicsInterfaceBlocks. In this patch, we compute and check the number of combined interface blocks by the result of ValidateInterfaceBlocksCount directly instead of re-compute it, and if the check on max combined interface blocks failed, Program::link() can early return without entering ValidateGraphicsInterfaceBlocks. BUG=angleproject:2345 Change-Id: I7573f7c645993b4d75230a8471203a305127f2a3 Reviewed-on: https://chromium-review.googlesource.com/1031852Reviewed-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>
-
Jiawei Shao authored
This patch implements GL_REFERENCED_BY_GEOMETRY_SHADER as a valid property of program interfaces. BUG=angleproject:1941 TEST=angle_end2end_tests dEQP-GLES31.functional.geometry_shading.query.referenced_by_geometry_shader Change-Id: Id9659313d371dbfc7d00bf9d816df4449fbf29ec Reviewed-on: https://chromium-review.googlesource.com/1025281Reviewed-by:Jiajia Qin <jiajia.qin@intel.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
-
- 27 Apr, 2018 5 commits
-
-
Geoff Lang authored
The index range was being resolved in the call to VertexArray11::syncStateForDraw but the code which invalidates the input layout was being executed before this. BUG=837002 Change-Id: I4e00b53cdc51f8758b0e2ba9e2dfc93b5e22556c Reviewed-on: https://chromium-review.googlesource.com/1032633 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:1472 BUG=621240 Change-Id: I723839bd7961167adddcccc680638ae066eacea3 Reviewed-on: https://chromium-review.googlesource.com/1025645Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=837717 Change-Id: I1ac659b18bd9aef2f24f798d23f49d1efbb81938 Reviewed-on: https://chromium-review.googlesource.com/1033478Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
Scaling and flipping of the framebuffer with blitFramebuffer are now covered by end2end_tests. The test configurations are set so that the BlitGL shader-based blit is also covered. The tests reveal a bug in the D3D11 backend implementation of blitFramebuffer when using an oversized source area. BUG=angleproject:2486 BUG=angleproject:2519 BUG=angleproject:2521 TEST=angle_end2end_tests Change-Id: Ica48e564a5b4180241ec4c4c6be06c58cc6dc29b Reviewed-on: https://chromium-review.googlesource.com/1030171Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Jiawei Shao authored
This patch refactors ProgramD3D by storing all shader information into ShaderMap to simplify the code structure. This patch also fixes a bug on getting the number of maximum uniform blocks. BUG=angleproject:2169 Change-Id: I5b9fbfd70a18f8731ce19efed0df88037d495389 Reviewed-on: https://chromium-review.googlesource.com/1024749 Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
- 26 Apr, 2018 5 commits
-
-
Jamie Madill authored
This is a small optimization for the WebGL compatibility mode. Instead of scanning the list of attributes for a Transform feedback conflict, it can quickly check a cached mask. This should save a lot of cycles on the fast path. Bug: angleproject:1391 Change-Id: Icb8d095493a629dbff0e93872357e5bf7c7458ae Reviewed-on: https://chromium-review.googlesource.com/1011236 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Geoff Lang authored
Simply check if the device has already been lost. Chrome already checks glGetGraphicsResetStatus after SwapBuffers and MakeCurrent. BUG=angleproject:1472 BUG=621240 Change-Id: I95fe6306fa0c09191a4b1b93840c2143e069ef53 Reviewed-on: https://chromium-review.googlesource.com/1026527 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Courtney Goeltzenleuchter authored
Forgot to format BUILD.gn in CL 46978bccd3659 Remove unnecessary android:debuggable setting Bug: angleproject:2520 Change-Id: I31457c82536827f78e3aa17c02dd8e878f803f04 Reviewed-on: https://chromium-review.googlesource.com/1030259Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Was simply a matter of triggering a new write node in the subImage call. Bug: angleproject:2495 Change-Id: I06334ba6ee816f671e5c599c8e8f079f56adb25e Reviewed-on: https://chromium-review.googlesource.com/1028729 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Luc Ferron <lucferron@chromium.org>
-
Luc Ferron authored
Bug: angleproject:2495 Change-Id: Ibc6c060e8924f19562da62ce15d48d9f6820b372 Reviewed-on: https://chromium-review.googlesource.com/1028228 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 25 Apr, 2018 9 commits
-
-
Geoff Lang authored
BUG=836820 BUG=801364 Change-Id: I08b6a2f9f12b689e09df6efd916c313e71e8a051 Reviewed-on: https://chromium-review.googlesource.com/1028581 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
Lingfeng Yang authored
BUG=angleproject:2306 Change-Id: I08ac9ef91753112f8185d16423925cf265f0384e Reviewed-on: https://chromium-review.googlesource.com/1023987 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
Converting a negative float to uint is undefined in the GLSL ES 3.00.6 spec. However, it improves portability if we don't trigger undefined results in C++ in this case. To do this, we cast negative floats first to signed integer before casting them to unsigned integer. We also issue a warning about an undefined conversion in case a negative float was converted to uint. BUG=chromium:835868 TEST=angle_unittests Change-Id: I9835a739ec80699d420a4f91a3bfa112c9a13604 Reviewed-on: https://chromium-review.googlesource.com/1026681Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Luc Ferron authored
Bug: angleproject:2492 Change-Id: I9e821632bdb3b8ba90d5ce47198a3445d2b684de Reviewed-on: https://chromium-review.googlesource.com/1026510 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Luc Ferron authored
Also re-enable the Windows AMD tests that were suppressed because of that bug. Bug: angleproject:2492 Change-Id: Ie9b5eb4c5705bbb390c3899fe4c66d3e47eff00d Reviewed-on: https://chromium-review.googlesource.com/1026461 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Conforms a bit more to the proposed DEPS standardization. Bug: chromium:782846 Change-Id: I65eae268dc9ebe4a56382db67fd123a0beafa656 Reviewed-on: https://chromium-review.googlesource.com/1027792 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Luc Ferron authored
Added 2 tests in StateChangeTest.cpp to validate the behavior and reproduce the issue I saw in dEQP. Bug: angleproject:2479 Change-Id: I29c3da0474ec2b13a10fc266284cb19a07675da2 Reviewed-on: https://chromium-review.googlesource.com/1025951 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Olli Etuaho authored
LUMA texture workarounds are now being used correctly in case texture levels that have only been touched by generateMipmap are used to draw. BUG=angleproject:2498 TEST=angle_end2end_tests Change-Id: I739550d59f99a4a22ffae766a5ee52c07610d78a Reviewed-on: https://chromium-review.googlesource.com/1025995Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Courtney Goeltzenleuchter authored
Package up libraries into Android APK. Libraries must be uncompressed for them to be mmapped properly. Bug: angleproject:2418 Change-Id: I27817d7a6c5dcd93ca7790c55042c6548f84906f Reviewed-on: https://chromium-review.googlesource.com/1013057 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
- 24 Apr, 2018 4 commits
-
-
Geoff Lang authored
BUG=836131 Change-Id: I1206c8eda465da563e15cf43f2e5c9320bb65eae Reviewed-on: https://chromium-review.googlesource.com/1026460Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This small helper routine will be used when doing masked clears. Bug: angleproject:2455 Change-Id: Id309b48f2bc5958abb1276d140c9a3599fb7d2b9 Reviewed-on: https://chromium-review.googlesource.com/1024825Reviewed-by:
Luc Ferron <lucferron@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Luc Ferron authored
Bug 1) The offset wasn't plumbed through for setSubImage. Bug 2) The DynamicBuffer allocation sometime allocates a bit more than requested, but we were using the size requested as the next offset instead of the actual allocated size. This could get us in a situation in certain corner cases where the next allocation would be done on the said buffer instead of using a new allocation as it should. Also enables a bunch of new texture_specification_* tests that were unable to run successfully without these 2 bug fixes. Found a weird issue on WIN AMD only and suppressed these tests for now. Will investigate part of the same bug number as a separate change. Bug: angleproject:2495 Bug: angleproject:2492 Change-Id: I490b1bf2d1795b7a1033365e29eac12a8bc50bff Reviewed-on: https://chromium-review.googlesource.com/1024380Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org>
-
Luc Ferron authored
Note that generate mipmaps is not yet supported, but uploading mipmaps is. This also enables 64 tests in dEQP gles2 to validate the changes. While trying to enable tests in functional.texture.mipmap.*, I found an issue where the graph ends up in an invalid state and triggers and assert in onReadResource in ContextVk.cpp:188. It seems like an unrelated bug to mip maps, I will investigate to enable these tests separately in a following CL. Bug: angleproject:2479 Change-Id: If51776d8ef3d994bee620d6a1cf982bb51838ff0 Reviewed-on: https://chromium-review.googlesource.com/1022232 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 23 Apr, 2018 2 commits
-
-
Olli Etuaho authored
It's not necessary to set the intersection rectangle in case the intersection is empty. BUG=chromium:830046 TEST=angle_end2end_tests Change-Id: I0b99cdb7d6623b2d8a95dbe946a6eead6a44351d Reviewed-on: https://chromium-review.googlesource.com/1021695Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
Don't allow blitFramebuffer dimensions to overflow 32-bit integer range as specified in WebGL 2.0 section 5.41. BUG=chromium:830046 TEST=WebGL 2 conformance tests, angle_end2end_tests Change-Id: Ia232291b09c94e1e4f837441c6720a78bab672fb Reviewed-on: https://chromium-review.googlesource.com/1023856Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-