|
aae572a5
|
2018-04-28T15:14:31
|
|
Disable avoid1BitAlphaTextureFormats workaround on Intel
avoid1BitAlphaTextureFormats workaround was added to angle in 288584
due to an old driver bug on Intel and AMD that 1-bit alpha always
rounds up when converting from float to unsigned int. The workaround
uses rgba8 instead of *a1 to avoid the driver bug and optimizes precision.
However, this workaround brings a new issue because 1-bit alpha can only
represent u0 or u1 while 8 bits alpha covers from u0 to u255. For
example, if we expect to render to a rgb5_a1 renderbuffer, the expected
alpha value should be 0 or 255, but actually get a value between 0 and
255 which is incorrect. The current Intel drivers have fixed the old
driver bug. So we suggest to disable this workaround for Intel drivers.
TEST=dEQP_GLES2.Default/functional_fbo_render_color_clear_rbo_rgb5_a1_depth_component16_stencil_index8
--deqp-egl-display-type=angle-gl
BUG=angleproject:2349
Change-Id: I14933f92fa27031ff7442fa437f77a3c67f2f1db
Reviewed-on: https://chromium-review.googlesource.com/1034163
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
03bb2231
|
2018-05-03T15:21:20
|
|
Add test for D3D11 nested floor() bug
The test fails on D3D11, which seems to ignore floor() calls if
they're nested in a particular way with magic multipliers inside.
BUG=chromium:838885
TEST=angle_end2end_tests
Change-Id: I2c8749defa923553bfee69149da15f8e4ddf5096
Reviewed-on: https://chromium-review.googlesource.com/1041959
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e708f004
|
2018-05-02T09:44:01
|
|
Set ANGLE lib apk targetSdkVersion to 28
Bug: angleproject:2418
Change-Id: Ia146c202cff96b1de9cb55ee44fa5479cef36b53
Reviewed-on: https://chromium-review.googlesource.com/1039777
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
c6dbc253
|
2018-04-30T19:07:56
|
|
Scope ANGLE_UNUSED_VARIABLE.
Renames the macro to be more ANGLE-ey.
Refactoring only.
Bug: angleproject:1671
Change-Id: I8f2dd227c7e2025886ec66e85efa877ea261d0ad
Reviewed-on: https://chromium-review.googlesource.com/1036209
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ccafa62c
|
2018-05-02T13:07:53
|
|
Pass a context pointer to SurfaceImpl::[bind|release]TexImage.
BUG=angleproject:2464
Change-Id: I59fd38c626f7076b4065f25601de3e53c1a446ad
Reviewed-on: https://chromium-review.googlesource.com/1040051
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ad3ae90a
|
2018-03-09T13:40:42
|
|
Use packed enums for QueryType.
BUG=angleproject:2169
Change-Id: I129a9d8e295859daa071a298dab9fe1895315cc0
Reviewed-on: https://chromium-review.googlesource.com/957318
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
9aef3670
|
2018-04-27T11:45:06
|
|
Vulkan: Implement masked color clears.
This implements masked color clear using clear shaders. The shaders
themselves were introduced in a prior patch. In order to get the
right setup for the draw call to trigger the shaders, we create
an internal pipeline from the pipeline cache. We also use a special
pipeline layout with only uniform buffers. The masked out color
channels are disabled via settings on the pipeline.
This fixes the dEQP masked color clear tests. It doesn't handle
masked color clears combined with the depth clear bit. It's likely
we don't have test coverage for this case.
Bug: angleproject:2455
Change-Id: I513248cc0f7e58f490fc16ac9afb40119d730ccc
Reviewed-on: https://chromium-review.googlesource.com/1031373
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
78feddc2
|
2018-04-27T11:45:05
|
|
Vulkan: Take serials in PipelineDesc::updateShaders.
This makes the API easy to use with internal shaders and pipelines.
This is useful for the implementation of masked color clear.
Also renames the serials as shader serials. This is more precise than
program serials.
Bug: angleproject:2455
Change-Id: Ie6247d1212ed4df856b561a5e9f16c0378202588
Reviewed-on: https://chromium-review.googlesource.com/1032857
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ec982e18
|
2018-04-30T19:06:43
|
|
Fix ASSERT macro generating extra code in MSVC.
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/1036208
Reviewed-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>
|
|
33318de4
|
2018-05-01T11:22:54
|
|
Vulkan: Use ShaderType enum.
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/1036927
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d8ffd756
|
2018-05-01T13:17:17
|
|
SystemInfo.h: add some documentation
BUG=angleproject:1874
Change-Id: I8898c1a467c1fec25963f45a31376a6b02e1b6c4
Reviewed-on: https://chromium-review.googlesource.com/1037584
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
9aef81c7
|
2018-04-30T14:56:15
|
|
Validate blitFramebuffer for overflows on all platforms
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>
|
|
47155b17
|
2018-04-26T12:14:10
|
|
Clean up BlitGL
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>
|
|
57d9cbb6
|
2018-04-27T11:45:04
|
|
Sync individual attachments in RenderTargetCache.
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>
|
|
d47044ad
|
2018-04-27T11:45:03
|
|
Vulkan: Add framework for internal shaders.
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>
|
|
41529e5e
|
2018-05-01T10:06:04
|
|
Refactor StateChangeTests to use essl1_shaders instead
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>
|
|
94ae660d
|
2018-04-23T13:58:59
|
|
Vulkan: Create tests to validate we created the pipeline when needed
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>
|
|
ad3aaeba
|
2018-05-01T07:35:41
|
|
Disable Vulkan layers in sanitized builds.
This was causing very slow builds/test runs.
Bug: chromium:837166
Bug: chromium:834269
Change-Id: If2e5665455d4a8af13cbc732a65a07550ace8304
Reviewed-on: https://chromium-review.googlesource.com/1036220
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ddd77245
|
2018-04-30T10:31:18
|
|
Add GLESv1_CM to angle library apk
Bug: angleproject:2418
Change-Id: I793d330a2cc92a510b189fa23d14f41f48a7d986
Reviewed-on: https://chromium-review.googlesource.com/1035422
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
0ade8e88
|
2018-04-27T11:45:02
|
|
Use time tolerance in run_code_generation check.
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/1032855
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b90779eb
|
2018-04-27T11:45:01
|
|
Vulkan: Pass fewer Context pointers around.
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/1024826
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bb3255b5
|
2018-04-27T09:45:18
|
|
Remove redundant computations on combined interface block counts
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/1031852
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>
|
|
c6f82872
|
2018-04-24T14:14:50
|
|
ES31: Add REFERENCED_BY_GEOMETRY_SHADER as program interface property
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/1025281
Reviewed-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>
|
|
69643438
|
2018-04-27T12:23:47
|
|
D3D11: Reorder VAO synchronization.
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>
|
|
5528d11f
|
2018-04-24T11:25:10
|
|
D3D: Don't test for device loss as frequenty in tight loops.
BUG=angleproject:1472
BUG=621240
Change-Id: I723839bd7961167adddcccc680638ae066eacea3
Reviewed-on: https://chromium-review.googlesource.com/1025645
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f1bcd017
|
2018-04-27T14:21:55
|
|
Supress failures in BlitFramebufferTest.MultisampleDepth on Mac OpenGL
BUG=837717
Change-Id: I1ac659b18bd9aef2f24f798d23f49d1efbb81938
Reviewed-on: https://chromium-review.googlesource.com/1033478
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
de279590
|
2018-04-26T12:25:13
|
|
Add test coverage for BlitGL
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/1030171
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
467c15f9
|
2018-04-24T15:04:26
|
|
Use ShaderMap in ProgramD3D - Part II
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>
|
|
7267aa65
|
2018-04-17T15:28:21
|
|
Optimize ValidateDrawAttribs: Part 3.
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>
|
|
1633663b
|
2018-04-24T16:39:15
|
|
Don't test for device loss in SwapBuffers and MakeCurrent.
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>
|
|
e5db628b
|
2018-04-26T08:05:18
|
|
Cleanup for "Add angle library apk"
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/1030259
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b221486a
|
2018-04-26T07:25:48
|
|
Vulkan: Fix TexSubImage2D state change test.
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>
|
|
0086de17
|
2018-04-25T11:41:32
|
|
Vulkan: Add test to reproduce graph issue when draw->subImage->draw
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>
|
|
197d5294
|
2018-04-25T14:29:00
|
|
Wrap all preprocessor code in the angle namespace.
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>
|
|
23dc90b8
|
2018-04-23T09:01:49
|
|
GLES1: Enable/disable for texture targets
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>
|
|
f827123d
|
2018-04-25T13:08:24
|
|
Handle negative float to uint conversion robustly
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/1026681
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
f9749eaf
|
2018-04-24T15:34:53
|
|
Vulkan: Enable UnpackAlignmentTest and remove useless warning.
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>
|
|
1a186b16
|
2018-04-24T15:25:35
|
|
Vulkan: Fix issue with texsubimage2d barriers
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>
|
|
f3135da9
|
2018-04-25T08:04:39
|
|
Clean up DEPS style.
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>
|
|
10434f67
|
2018-04-24T10:06:37
|
|
Vulkan: Issue when drawing with a texture and rebinding after.
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>
|
|
023371b3
|
2018-04-24T17:43:32
|
|
Fix setting mip level metadata on GL backend
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/1025995
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
2565d48b
|
2018-04-12T17:06:48
|
|
Add angle library apk
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>
|
|
f2807385
|
2018-04-24T15:25:35
|
|
D3D: Use an alignment of 1 when uploading zero data to initialize textures.
BUG=836131
Change-Id: I1206c8eda465da563e15cf43f2e5c9320bb65eae
Reviewed-on: https://chromium-review.googlesource.com/1026460
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
bd5543c9
|
2018-04-24T08:42:05
|
|
Vulkan: Add GetColorComponentFlags.
This small helper routine will be used when doing masked clears.
Bug: angleproject:2455
Change-Id: Id309b48f2bc5958abb1276d140c9a3599fb7d2b9
Reviewed-on: https://chromium-review.googlesource.com/1024825
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
33e05bab
|
2018-04-23T15:12:34
|
|
Vulkan: Bugfix in TextureVk::setSubImage and DynamicBuffer
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/1024380
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
66410530
|
2018-04-20T12:47:45
|
|
Vulkan: Textures mipmaps support
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>
|
|
b3474d9d
|
2018-04-20T17:37:44
|
|
Clean up ClipRectangle
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/1021695
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
8d5571ac
|
2018-04-23T12:29:31
|
|
Restrict BlitFramebuffer dimensions in WebGL mode
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/1023856
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
af2b33be
|
2018-04-19T10:01:52
|
|
Use ShaderMap in ProgramD3D - Part I
This patch is the first part of using ShaderMap to contain shader
information in ProgramD3D, including the refactoring on struct
D3DUniform, D3DUniformBlock and ProgramD3DMetadata.
In the next patch all shader information in class ProgramD3D will
be organized in the form of ShaderMap.
BUG=angleproject:2169
Change-Id: I27008169dbf6cd8017a67f36f474667feddbd1f6
Reviewed-on: https://chromium-review.googlesource.com/1018728
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
37b3e596
|
2018-04-23T11:56:09
|
|
Add documentation for writing AST transformations
This adds documentation that was previously being drafted at
https://docs.google.com/document/d/1Pe3zkEZiYrtrjs7r9p0_bYFwnOO7bo0BlMYi27sakuk/edit?usp=sharing
Change-Id: I6ecd8e3e5a946960837fee8514ba130e01f9230c
Reviewed-on: https://chromium-review.googlesource.com/1023392
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
00689191
|
2018-03-27T17:34:20
|
|
GL: Fix the CPU readback path of CopyTextureCHROMIUM.
1. BlitGL's resources were not being intialized.
2. The format/type information was not enough to know if the destination
texture was SRGB.
BUG=693090
Change-Id: I3fc277a175772d3b6acace1810cb43f4a9bdc473
Reviewed-on: https://chromium-review.googlesource.com/982642
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
6ce24cf2
|
2018-04-23T07:52:15
|
|
Vulkan: Lift suppressions because of vulkan validation
layer regression
Bug: angleproject:2484
Change-Id: Ib46caa8924c7815154beeb46a291520e57b5cc4f
Reviewed-on: https://chromium-review.googlesource.com/1023833
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
40786bdf
|
2018-04-18T13:58:57
|
|
ES31: Add validation on geometry shader interface blocks matching
This patch adds the validation on checking if there is any mismatch
among geometry shader interface blocks and the ones defined in other
graphics shaders in the same program.
BUG=angleproject:1941
TEST=angle_end2end_tests
Change-Id: I1f65e3c49390135bbe9f9323098daf28c9b838c7
Reviewed-on: https://chromium-review.googlesource.com/1016175
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
20610901
|
2018-04-19T14:41:13
|
|
Vulkan: Implement Texture wrap modes and non-mipmapped filtering modes
Also added a test to validate we can change the filter mode between
two draws successfully.
Bug: angleproject:2478
Change-Id: I80730cdafc6bbdbf61839c6c8eb98d85f7423d92
Reviewed-on: https://chromium-review.googlesource.com/1020084
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c6a0618f
|
2018-04-13T14:11:46
|
|
Fix Vulkan renderer string for NVIDIA
The Vulkan physical device properties "deviceName" field does not
include "NVIDIA" for all NVIDIA GPUs. Add NVIDIA to the renderer name
in case the PCI vendor ID matches, so that Vulkan backend test
failures can be suppressed on NVIDIA using IsNVIDIA().
BUG=angleproject:2487
Change-Id: I8e440499664e5ba19773f72104d11d076dae727d
Reviewed-on: https://chromium-review.googlesource.com/1013467
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
505ea1bb
|
2018-04-18T07:26:45
|
|
Roll (2/2) to latest LVL as of 4/18/18
Bug: angleproject:2482
Moving to HEAD of master as of 4/18/18.
Disable workaround to copy reg.py in BUILD.gn.
Re-enable ANGLE Vulkan build.
Change-Id: I62d79f532bf8fed40872ee9c175caa4b51c2dd25
Reviewed-on: https://chromium-review.googlesource.com/1016683
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5f21df83
|
2018-04-18T06:54:37
|
|
Roll (1/2) LVL version forward and disable VANGLE
Bug: angleproject:2482
Rolling Vulkan validation code forward to HEAD of master as of 4/18/18
morning. Disable Vulkan from the ANGLE build until ANGLE lands in
Chromium. After that second part of roll will be submitted.
This LVL update includes reg.py script fixes for a number of build
warnings as well as a validation fix for vkCmdClearAttachments() in
secondary cmd buffer.
Change-Id: I7f8100f5b656d86caf8f4b5dee61a733a35b7869
Reviewed-on: https://chromium-review.googlesource.com/1016860
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e7e072ef
|
2018-04-19T15:06:30
|
|
Use EGL_KHR_no_config_context in Android GLES backend, when available
Create ANGLE's real context with EGL_NO_CONFIG_KHR.
This allows ANGLE to advertise EGLConfigs which previously were hidden
due to incompatibility with ANGLE's context.
Also enable EGLContextCompatibilityTest on ES2_OPENGLES to test this.
BUG=angleproject:2468
Change-Id: I6fbbe01b4b93db7df39606980f0f58eb74b11e31
Reviewed-on: https://chromium-review.googlesource.com/1022088
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
aecfa71b
|
2018-04-20T11:18:59
|
|
Print more logs
1. Really print WARN with default platform
2. Print UNREACHABLE, was getting lost because ~LogMessage was not reached
BUG=angleproject:1660
Change-Id: I56fad24895adfec8d81539c6628e65ec2f9e7722
Reviewed-on: https://chromium-review.googlesource.com/1021592
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
8ceea819
|
2018-04-10T03:07:13
|
|
Refactor packed enum generation to support EGL enums.
Convert the very simple EGL texture type enum.
BUG=angleproject:1618
Change-Id: Ieea382a282a8f2544f2982627e8445e6e5cea826
Reviewed-on: https://chromium-review.googlesource.com/1019386
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7b19a49b
|
2018-04-20T09:31:52
|
|
Use LIKELY and UNLIKELY macros to wrap error generation.
BUG=609673
Change-Id: I247f561712e30aa10bad77fabf614501d596915e
Reviewed-on: https://chromium-review.googlesource.com/1021995
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
629bb259
|
2018-04-20T11:01:33
|
|
Fix WebGL compat feedback loop null deref.
This regressed in "Optimize ValidateDrawAttribs: Part 2."
Bug: chromium:834943
Bug: angleproject:1391
Change-Id: I217719d76b0524ed7900e18bcc4ca1280ec7b6ff
Reviewed-on: https://chromium-review.googlesource.com/1020280
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3fac3ccc
|
2018-04-19T14:51:27
|
|
Make Mock ICD json file a data_dep of Mock ICD
Bug: angleproject:2471
Mock ICD json file was only being copied to angledata when "build all"
was done. This fix causes the json file to be copied anytime something
with a Vulkan dep is compiled.
Change-Id: Ic56ecf12ff5996d14bd2ed419f50b2362453b939
Reviewed-on: https://chromium-review.googlesource.com/1020233
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4bba74f0
|
2018-04-19T14:40:45
|
|
Refactor Texture::syncState to pass down the Context
Also returning a gl::Error everywhere.
Bug: angleproject:2478
Change-Id: Ic8cae0ee7aee318bb95b3588044c34c62707b578
Reviewed-on: https://chromium-review.googlesource.com/1020083
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
3ec304db
|
2018-04-18T14:14:25
|
|
Vulkan: Support struct initializers in shaders
Also adds a new test in GLSLTest to validate the initialization of
a struct on the same line as its declaration.
Bug: angleproject:2459
Change-Id: Ib37e20378f8ec76541db26392663bcba03390756
Reviewed-on: https://chromium-review.googlesource.com/1017340
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
b0f917fa
|
2017-12-05T13:41:54
|
|
Fix being unable to request some extensions implemented in the GL layer.
Some extensions are forced on in Context::initCaps even though the
backend's native extensions do not mark the extension as supported.
These extensions were not requestable because the
Context::isExtensionRequestable only checks if the backend supports the
extension.
Make GL_OES_vertex_array_object requestable to cover the issue.
BUG=angleproject:1523
Change-Id: Ie64df8e270924727ecf9cd3f993443abeb3ef658
Reviewed-on: https://chromium-review.googlesource.com/809197
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
025aafdf
|
2017-10-30T15:16:37
|
|
Make EGL image extensions enableable.
BUG=angleproject:1523
Change-Id: I6e890380bafb9f81595ab603996259fe6177e9e0
Reviewed-on: https://chromium-review.googlesource.com/744447
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d54d3045
|
2017-11-07T14:56:07
|
|
Make EXT_texture_storage enableable.
BUG=angleproject:1523
Change-Id: I55ef1233fb42e2dc3eda26c3aa4e14c700f98bf0
Reviewed-on: https://chromium-review.googlesource.com/756868
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e24032a2
|
2018-03-28T15:41:46
|
|
The 'format' of unsized SRGB internal formats should be SRGB too.
EXT_sRGB requires calling TexImage with SRGB as the 'format' parameter.
This was causing issues when we would take an InternalFormat struct
representing an unsized sRGB format and be unable to use it's format
member to make GL calls without transforming it.
BUG=693090
Change-Id: I8b9baf2591a998a0088e5275f42ffc568e37100d
Reviewed-on: https://chromium-review.googlesource.com/984965
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
1d97a4d0
|
2018-04-18T15:51:32
|
|
Revert "Fix dEQP renderbuffer unspecified attachment test."
This seems to have caused a regression in Chrome. I'm reverting the
change and suppressing the test that is failing on our end because of
it. Once we can confirm this solves the problem, we'll need some help
investigating further.
This reverts commit c0db9addeaebc76c7cc99b26aa27df5e432097ac.
Bug: angleproject:2321
Bug: chromium:833809
Change-Id: I5e40364217e15ae6117f5288a4754b25d983ca0a
Reviewed-on: https://chromium-review.googlesource.com/1017763
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
eeec3b14
|
2018-04-16T11:00:03
|
|
dEQP: Add override for ES2 Color Clear Test.
This test has a bug where the masked clear flag is not being set
properly, leading to incorrect test behaviour and missing coverage.
Until this bug is fixed in dEQP we can override it with a fixed
version.
Also remove a prior override that had an upstreamed fix.
Bug: angleproject:2455
Change-Id: Ia2c57251b2a97eb5b4d8a4bdb0ce31796a66ea01
Reviewed-on: https://chromium-review.googlesource.com/1013859
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aaa19de0
|
2018-04-18T16:36:34
|
|
Re-land "Vulkan: Add glslang validator to build."
This binary will be used to generate internal shaders for
clearing/blit/etc.
Re-land fixes missing GN dependencies.
Bug: angleproject:2339
Change-Id: I99a966906f6cd31049807b7b7adf39484c951622
Reviewed-on: https://chromium-review.googlesource.com/924177
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
|
|
abb09f12
|
2018-04-16T10:43:53
|
|
GLES1: Client vertex array pointer API
glVertexPointer
glNormalPointer
glColorPointer
glPointSizePointerOES
glTexCoordPointer
BUG=angleproject:2306
Change-Id: Id022b467ac998ea116130c5cec0c77afefb0dd4c
Reviewed-on: https://chromium-review.googlesource.com/1014381
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
427064d2
|
2018-04-13T16:20:34
|
|
Fix perf regression with checkStatus.
Returning an Error was costing us performance in extra
error checks. This intead uses the Context to process the
Error immediately, and returns a value from isComplete and
checkStatus.
Improves performance in draw call validation.
Bug: chromium:822235
Change-Id: I0793fc690e86137425fed593d45083e40aee8db9
Reviewed-on: https://chromium-review.googlesource.com/1011370
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ec10096d
|
2018-04-10T13:43:46
|
|
Vulkan: Add build toggle for validation layers.
We want to be able to build without validation layers to
make it easier to use in other environments (e.g. Android)
When angle_enable_vulkan is true and
angle_enable_vulkan_validation_layers is true, build the
Vulkan validation layers.
Bug: angleproject:2489
Change-Id: I266ad8f757c5992021f249217f2be58f0148fcbf
Reviewed-on: https://chromium-review.googlesource.com/1005558
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
02c9c04f
|
2018-04-17T13:43:48
|
|
Optimize ValidateDrawAttribs: Part 2.
This moves much of the math into cached values in the VertexAttribute
and VertexBinding.
Bug: angleproject:1391
Change-Id: I1b6c0553bf57fef864c27c5193c7dd7ca9b56f53
Reviewed-on: https://chromium-review.googlesource.com/1008274
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
fe22e23a
|
2018-04-16T14:15:11
|
|
Vulkan: Use SH_INITIALIZE_UNINITIALIZED_LOCALS in ShaderVk
Re-enable the flaky test InitUninitializedStructContainingArrays that
was failing because of this option missing.
Bug: angleproject:2460
Change-Id: Icf794a5fdca48619756d575faa4cb04f0323712e
Reviewed-on: https://chromium-review.googlesource.com/1014271
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
0986f1cc
|
2018-04-16T13:47:23
|
|
Vulkan: Implement depth_range dirty bit and enable tests
- Additional fix in GlslWrapper.cpp to remove the @@ markers for unused
attributes.
- Enables 28 dEQP gles2 tests in functional.depth_range.*
Bug: angleproject:2454
Change-Id: I1a6f72d846b476ba681140d4b242208d24e18b95
Reviewed-on: https://chromium-review.googlesource.com/1014262
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
f1d3c20c
|
2018-04-16T07:44:27
|
|
Vulkan: Fix the issue with unused attributes / varyings
When an attribute, a uniform or a varying isn't used, we now remove
their layout and in/out qualifiers so that the shader can still refer
to these var names.
Bug: angleproject:2456
Change-Id: I5f1241d91bd46f663750adfab2562ef87ce69ae5
Reviewed-on: https://chromium-review.googlesource.com/1014009
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
ef2fda72
|
2018-04-18T07:44:14
|
|
Vulkan: Fix issue in GlslWrapper and maxVaryingVectors calculation (2nd try)
The layout needed to also have a component qualifier so that the
registerColumn wouldn't be ignored.
Bug: angleproject:2460
Bug: angleproject:2483
Change-Id: I3adcd6208aca4afebd45311ded93d00087b60a99
Reviewed-on: https://chromium-review.googlesource.com/1016680
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5804dc8e
|
2018-04-13T14:11:46
|
|
Refactor GL tests to use a shader library
Instead of having the same simple shaders repeated over and over in
the test code, reuse a single shader library.
BUG=angleproject:2474
TEST=angle_end2end_tests
Change-Id: I13f8ca8c0125e6d30f1761639bf8c3f69e0e77d2
Reviewed-on: https://chromium-review.googlesource.com/1012078
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
eb79e337
|
2018-04-18T07:48:06
|
|
Vulkan: Do not build mock ICD on Android.
This is causing a GN build error on our Android bots.
Bug: angleproject:2471
Bug: angleproject:2482
Change-Id: I35ffc7972effb9c9ea26ab96cf23985eba1702c3
Reviewed-on: https://chromium-review.googlesource.com/1016700
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c90d4d38
|
2018-04-17T13:11:15
|
|
Fix problematic query in TOutputGLSLBase::visitDeclaration.
There was an invalid derefernce that for some reason was not
caught on the bots.
Bug: angleproject:2456
No-Try: True
Change-Id: I088e9671122fd25077027cb2eb577aa099fdcacf
Reviewed-on: https://chromium-review.googlesource.com/1015287
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
|
|
c97e900c
|
2018-04-17T19:11:39
|
|
Revert "Vulkan: Fix issue in GlslWrapper and maxVaryingVectors calculation"
This reverts commit 1d882aaa0720b0dee0e8fc807d93d0e3f3e6bc67.
Sorry about this Luc. I think there was a missing suppression. You can
even see a flaky failure in the CQ when you landed this - it seems the
flakiness of the failure let it through. This is blocking another fix
from landing which fixes the fact the CQ is on fire. The revert button
is also missing from Gerrit which means this is a manual revert.
Failures:
https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win_angle_rel_ng/361
Original CL Message:
The layout needed to also have a component qualifier so that the
registerColumn wouldn't be ignored.
Bug: angleproject:2460
Bug: angleproject:2483
No-Try: True
Change-Id: I84c38497fbda43d9defbc6d5d3ff0f9c133e6e46
Reviewed-on: https://chromium-review.googlesource.com/1015323
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aed1b56a
|
2018-04-17T11:47:46
|
|
Prerequisite code for simpler GlslangWrapper.
This makes two changes for the linking step:
* allows symbol names in TOutputGLSLBase::writeVariableType
* stores a list of inactive varying names in VaryingPacking
Bug: angleproject:2456
Change-Id: Id651721a008c049508303d18c45c6b96c76114d9
Reviewed-on: https://chromium-review.googlesource.com/1014707
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1d882aaa
|
2018-04-13T10:12:05
|
|
Vulkan: Fix issue in GlslWrapper and maxVaryingVectors calculation
The layout needed to also have a component qualifier so that the
registerColumn wouldn't be ignored.
Bug: angleproject:2460
Bug: angleproject:2483
Change-Id: Ib5b15c4dc0ce42633f4994648f1eb22d8b63336a
Reviewed-on: https://chromium-review.googlesource.com/1011680
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Luc Ferron <lucferron@chromium.org>
|
|
e4c38be0
|
2018-04-17T11:09:16
|
|
Vulkan: clearRegionWithScissor did not determine the region correctly
When the scissor region given was completely outside the renderArea,
we were calling vkCmdClearAttachments with the unmodified rectangle.
Instead, we just need to actually skip the clear call since there is
nothing to clear if we have a scissor region outside the render area.
Bug: angleproject:2484
Change-Id: If2c7c5b91e07081f1d2e4f4d8d13f8c8a842ea0b
Reviewed-on: https://chromium-review.googlesource.com/1014958
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
01074436
|
2018-04-16T10:19:51
|
|
GLES1: gl(Enable|Disable)ClientState
+ Introduce the GL_OES_point_size_array extension for point size array
support.
BUG=angleproject:2306
Change-Id: Ib1a60b7dcd0497eb807f0d3c80bc95b4748d9a96
Reviewed-on: https://chromium-review.googlesource.com/1014282
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
c61a24d4
|
2018-04-17T07:22:55
|
|
Vulkan: Fix build after roll.
Remove struct_size_helper from LVL build. This was causing
significant problems on the Chromium CQ.
Also fix the warning of duplicate definitions in reg.py by
staging scripts to a temporary folder so we can use a fixed
version.
Bug: angleproject:2482
Bug: chromium:833736
Change-Id: Ide7202fe14bf6c83419f19bc07113df23d51807a
Reviewed-on: https://chromium-review.googlesource.com/1014902
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
86de76b6
|
2018-04-17T08:29:55
|
|
Vulkan: Suppress ClearIssue test.
This test was flaky, the failure was missed on the CQ.
Bug: angleproject:2484
Change-Id: Ic3c32bcd385620683e9a01acf37d62bbf3ca8797
Reviewed-on: https://chromium-review.googlesource.com/1014733
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
08b9e046
|
2018-04-16T20:16:39
|
|
Vulkan: Disable warning in Mock ICD.
We were missing a "no chromium code" config in the mock ICD.
This was causing a build error, but the build error was mostly
invisible because the mock ICD wasn't being built by default.
Fix this by including it in the angle_vulkan target.
Bug: angleproject:2482
Change-Id: I417d3fbf6a4acd93c06bab61967409730c2ea4ed
Reviewed-on: https://chromium-review.googlesource.com/1012497
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
41c43ce7
|
2018-04-16T08:42:56
|
|
Roll (2/2) to latest LVL as of 4/16/18
Moving to HEAD of LVL master on morning of 4/16/18.
Made some updates to BUILD.gn to add use debug_utils files now
instead of debug_report.
Re-enable ANGLE Vulkan build.
Bug: angleproject:2482
Change-Id: Ic2ab2a1cd7ecdba3152d433efcdbf427864e7e2b
Reviewed-on: https://chromium-review.googlesource.com/1014258
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aa8b3982
|
2018-04-16T08:07:38
|
|
Roll (1/2) LVL version forward and disable VANGLE
Rolling Vulkan validation code forward to HEAD of master as of 4/16/18
morning. Disable Vulkan from the ANGLE build until ANGLE lands in
Chromium. After that second part of roll will be submitted.
This LVL update includes MockICD fixes to allow ANGLE perf tests to
run correctly with Null Vulkan configuration.
Bug: angleproject:2482
Change-Id: I61dc9ed293677a1b5839b605d7c3640dca138db3
Reviewed-on: https://chromium-review.googlesource.com/1014405
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0cb6dc4c
|
2018-04-16T10:36:39
|
|
Vulkan: Fix texture descriptor set alloc count.
We were reserving half the required descriptor sets for our pool. This
fixes the counting and ensures we won't regress by adding a test.
Also enables the cube map texture sample, and removes an UNIMPLEMENTED
warning that was spurious.
Bug: angleproject:2318
Change-Id: I371cd7c5b42e1ce980cce7bb0ef04885db72b614
Reviewed-on: https://chromium-review.googlesource.com/1014165
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
51af38b8
|
2018-04-15T08:50:56
|
|
Optimize ValidateDrawAttribs: Part 1.
This moves several loop checks outside the loop, and uses more of the
gl::AttributesMask class to do bitset operations instead of using
checks and for loops.
Bug: angleproject:1391
Change-Id: I90a1a7db550390ecd1402cf5a8a6677fd852b7b0
Reviewed-on: https://chromium-review.googlesource.com/1008273
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a7be1f77
|
2018-04-13T15:16:26
|
|
Vulkan: Rename StagingStorage to PixelBuffer.
This more closely matches the OpenGL "Pixel Buffer" concept.
Bug: angleproject:2318
Change-Id: I930b24f68cde2995488737908aae469c86b74092
Reviewed-on: https://chromium-review.googlesource.com/1012456
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a4fa9c27
|
2018-04-13T07:00:56
|
|
Vulkan: drawElements with GL_LINE_LOOP and an offset
Also enables a test in LineLoopTest that validates this case.
Bug: angleproject:2473
Change-Id: Icb4c5735c11be40cdeceaa051f5a5cef33fd22c6
Reviewed-on: https://chromium-review.googlesource.com/1011669
Commit-Queue: Luc Ferron <lucferron@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
20fa8d5c
|
2018-04-15T10:09:32
|
|
Vulkan: Implement cube map texture sampling.
This changes the TextureVk class to have a queue of staging
copies, instead of a single copy at a time. This will allow
us to upload multiple sub regions of a texture image at once
when we need to resolve the Image at sampling time.
Enables the remainder of the texture.format tests, and all
non-mipped tests in the texture.size tests. Also updates the
expectations with the bug number for mipmap support.
Bug: angleproject:2318
Change-Id: Ie55f8f2dc24d7b133ad735e37f0f78937f022b5b
Reviewed-on: https://chromium-review.googlesource.com/980775
Reviewed-by: Luc Ferron <lucferron@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
016105bb
|
2018-04-12T16:38:31
|
|
Store shader information in ShaderMap in class Program and Compiler
This patch is the first one in the series of using ShaderMap as
the container of the resources for each type of shader everywhere
in ANGLE.
This patch defines the new data structure ShaderMap and use it in
class Program and Compiler in ANGLE front-end.
The following work includes:
1. Use ShaderMap in D3D back-ends.
2. Use ShaderMap in Vulkan back-ends.
BUG=angleproject:2169
Change-Id: I1c284d95f5a071c45bb468901eabc15694fffe38
Reviewed-on: https://chromium-review.googlesource.com/1011722
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
76b2c385
|
2018-03-19T15:51:29
|
|
Store invariant declarations in variable metadata
This is simpler than storing the information in symbol table levels.
Invariant declarations can only be present at the global scope, so
storing the information per level is not required.
BUG=angleproject:2267
TEST=angle_unittests
Change-Id: Idb07d734950c8a0a8bda5b2380e181902f9eb633
Reviewed-on: https://chromium-review.googlesource.com/1007060
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|