|
bcae3828
|
2019-08-19T09:37:18
|
|
Auto-generated variables detected as mutable constants
Need to rename kVar* variables to just var
Bug: angleproject:3823
Change-Id: I34b9f4eec4ee7829d47dcac2f06f1acc6b35f867
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758601
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Clemen Deng <clemendeng@google.com>
|
|
13cc0fce
|
2019-08-02T07:11:16
|
|
Fix occasional corruption of vertex textures in HD4600 GPUs.
This appears to be caused by the UpdateSubResource call,
which is worked around by enabling the other image upload
path that ANGLE supports.
The workaround doesn't include a driver version, since the
bug is occurring in the most recent driver that is currently
available (15.40.42.5063, released 19th Mar 2019).
Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1562462
Change-Id: I5135dcf6da6ef530c99124a04003d54f99e4cd7c
Bug: angleproject:3764
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731975
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
153f3c22
|
2019-08-16T15:24:30
|
|
Miscellaneous build fixes for WebKit
Add a USE_SYSTEM_EGL define to allow compilation on Unix systems
without X11.
Feature detect __popcnt using Microsoft-specific _MSC_VER rather than
_M_X64/_M_IX86, which can be set by the Dinkumware stdlib on
non-Microsoft systems.
Apple's clang is too old to have -Wextra-semi-stmt
Ran generate_parser.sh using Cygwin64 bison 3.0.4, flex 2.6.4
Bug: 3439
Change-Id: Ie0d01a112a17f70ef60c120063a958b8f1a094f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1759135
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
2f07e4fb
|
2019-08-02T10:41:56
|
|
Add test for array of arrays of samplers
This test fails on the Vulkan backend because Vulkan does not allow
arrays of arrays of samplers.
Also adds a few other tests relating to arrays of arrays.
Test: ./angle_end2end_tests --gtest_filter='GLSLTest_ES31.*'
Bug: angleproject:3604
Change-Id: I5c47119b6ba6d26fe30fdd9c6730caac6f222696
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1733476
Commit-Queue: James Dong <dongja@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b8482ab7
|
2019-08-15T09:49:29
|
|
Clean up trace output.
Removes the "EVENT: " prefix from every trace message. Also removes the
extra blank line between trace entries. And fixes a missing space in
EGL_WaitSyncKHR.
Bug: angleproject:3815
Change-Id: Id6321357a56477da29de121abb51c721b11d99da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756084
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
486f381f
|
2019-07-18T15:47:31
|
|
Add desktop GL built-in functions to symbol table
Added GL built-in functions to symbol table autogeneration
Built-in lookup now checks against spec and returns GL
symbols when appropriate.
Bug: angleproject:3719
Change-Id: I74786150f6063b40e13aebcb2eb9ea35e4ecaa53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731550
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Clemen Deng <clemendeng@google.com>
|
|
265fdf0c
|
2019-07-31T15:10:44
|
|
EGL: Set errors per spec for eglCreateContext
Per spec, in eglCreateContext when client version attributes are invalid - set
EGL_BAD_ATTRIBUTE. Set EGL_BAD_MATCH when config is not compatible.
Rename config variables in ValidateCompatibleConfigs to distinguish context
from surface configs. Context config handled differently when EGL_NO_CONFIG.
Bug: angleproject:3755
Test: angle_end2end_tests --gtest_filter=EGLCreateContextAttribsTest*
Change-Id: Iaea57653cf643ff60c8d4eabd3f022306bf1f4ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1747298
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
46be1a60
|
2019-08-16T10:39:23
|
|
Vulkan: Enable an fbo attachment query test in dEQP
These tests are now passing with vulkan backend. Remove
them from the expectations file
Bug: angleproject:3679
Test: dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_texture_layer
Change-Id: Ifb07b3743bf4ea0a7a98c33ae15cce46f6f2f75b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758683
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
609d45f6
|
2019-08-14T15:16:49
|
|
Capture/Replay: Use Renderbuffer ID map.
This should give a more robust replay. Devices are not guaranteed to
return IDs in the same order in each instance of a program. Also for
mid-execution capture we often won't have the same resources available.
Once the Renderbuffer implementation lands we can switch to using more
resource maps for different types of resources.
Bug: angleproject:3611
Change-Id: I84a5b84856be3e8eb13e424e1990a39553adb82e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1719066
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cc25d9fb
|
2019-08-15T15:13:02
|
|
Vulkan: Update copy_tex_image test failure bug ids
Splitting out two bugs from 3458. Most of failing tests are failing
because of Vulkan validation errors in the ANGLE glDrawArrays code.
In those csaes, the copy_tex_image test code actually passes, but the
ANGLE test-runner code is marking the tests as failing because of
Vulkan validation errors.
Bug: angleproject:3458
Bug: angleproject:3817
Bug: angleproject:3818
Change-Id: Idd91d9e44fa7eb6f527425dd77d6cbf949aa5e61
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756816
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
12515425
|
2019-08-15T11:54:18
|
|
Remove context from linking state.
This Context could already be deleted from another thread. Better to
use save/load with the current thread.
Bug: angleproject:2464
Change-Id: Id7879a53bdfb7d1c86b09bb3e779a87afdefa873
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756086
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cdecd97c
|
2019-06-25T14:22:41
|
|
Add Draw base vertex and base instance function entrypoints
Split from https://chromium-review.googlesource.com/c/angle/angle/+/1705035/27
This patch adds entrypoints glDrawArraysInstancedBaseInstanceANGLE,
glDrawElementsInstancedBaseVertexBaseInstanceANGLE,
glMultiDrawArraysInstancedBaseInstanceANGLE,
and glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE
Implementation will come in a later separate patch.
Bug: chromium:891861, angleproject:3402
Change-Id: I18e19b850cddd79be4798b9ae7efe0680a050c7f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750125
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0a3c8246
|
2019-08-15T13:24:20
|
|
Vulkan: Write preprocessed shaders with // instead of #if 0
Bug: 993965
Change-Id: I4fd357bdebc73b7256ae4b34bd1c6aa2f4418e27
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756503
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
29b2fc4a
|
2019-08-15T09:25:04
|
|
Vulkan: Expect more texture-specification tests to pass.
Recent changes allow these tests to pass.
Bug: angleproject:3190
Bug: angleproject:2905
Change-Id: I549b3d0cc7beced756c2b44e9a72d399b51aa8f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756284
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
7c1af2d5
|
2019-08-14T15:16:49
|
|
Capture/Replay: Use GL types for packed types.
Previously we were trying to use the packed enum types for our replay.
This wouldn't work as the packed enum types don't exist outside of
ANGLE.
Bug: angleproject:3611
Change-Id: Id0d5c9f37304b30c204bac9bc7873661b035f918
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754324
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
1d742ce8
|
2019-08-13T10:33:36
|
|
Deleted unnecessary built-in conditions
A few built-in variables are checking against overly complicated
extension conditions, deleting these will make the array lookup
easier to implement.
Also changed functionality to always enable GL_OVR_multiview
when GL_OVR_multiview2 is enabled
Bug: angleproject:3805
Change-Id: I10fc7db0fa8b496fbba8b2c27a7311ac3c24dbe4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752082
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
188b679b
|
2019-08-15T09:02:43
|
|
Remove GL/EGL function pointers from tests.
The auto-gen loader code should be able to handle all these cases.
Bug: angleproject:3393
Change-Id: If0a90fb29d79f2892fdf76fe0cb91ed0036ee1e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756083
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
be74c47d
|
2019-08-13T13:54:15
|
|
Capture/Replay: Also capture on postSubBuffer.
Necessary to capture from Chrome.
Bug: angleproject:3611
Change-Id: Ia9330e0c273e65adaa4171020d0aebb05e100260
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752013
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3ea90d60
|
2019-07-26T15:20:53
|
|
Fix compile error on capture with client array
1. The current implementation misused the offset in gBinaryData as the
memcpy size. This CL fixed it by adding the byte size into the
UpdateClientArrayPointer call.
2. Trying passing a pointer to a C-style array parameter which causes
compiling error. This CL fixed by simply use const void * to do memcpy.
3. Able to run frame capture successfully for the first 100 frames of
glmark2.
Bug: angleproject:3611
Change-Id: Ibaef224c2a2d124b681757d9ecd187a5f9b7079b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721207
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9d737966
|
2019-08-14T12:25:12
|
|
Standardize copyright notices to project style
For all "ANGLE Project" copyrights, standardize to the format specified
by the style guide. Changes:
- "Copyright (c)" and "Copyright(c)" changed to just "Copyright".
- Removed the second half of date ranges ("Y1Y1-Y2Y2"->"Y1Y1").
- Fixed a small number of files that had no copyright date using the
initial commit year from the version control history.
- Fixed one instance of copyright being "The ANGLE Project" rather than
"The ANGLE Project Authors"
These changes are applied both to the copyright of source file, and
where applicable to copyright statements that are generated by
templates.
BUG=angleproject:3811
Change-Id: I973dd65e4ef9deeba232d5be74c768256a0eb2e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754397
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a2ec1344
|
2019-08-13T14:13:35
|
|
Add shared mutex to frontend
Add shared mutex to frontend API entrypoints that is only enabled when
ANGLE is being used with a shared context.
Bug: angleproject:2464
Change-Id: I0d918e37d9579dccd013dc88f563bed7de7ee55f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1685712
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
bc0a7b58
|
2019-08-05T09:26:23
|
|
Add support for sampling stencil texture
Suspect a potential driver issue with integer sampling from stencil so
skip dEQP-GLES31.functional.stencil_texturing.misc.compare_mode_effect
in the expectations file. Will follow-up with more directed tests.
Also skip dEQP-GLES31.functional.stencil_texturing.misc.base_level
Blocking Bug: angleproject:3148
Test:
dEQP-GLES31.functional.stencil_texturing*
Bug: angleproject:3575
Change-Id: I9547406b44ec16629631c1bf50907e6a24f1a20e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736946
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5a2553a7
|
2019-08-07T14:44:12
|
|
Vulkan: Emulate subgroup ops in seamful cubemap emulation
Where subgroup ops are not available, they are emulated as such:
Code with subgroup ops:
float lH = subgroupQuadSwapHorizontal(layer);
float lV = subgroupQuadSwapVertical(layer);
float lD = subgroupQuadSwapDiagonal(layer);
bool isHelperH = subgroupQuadSwapHorizontal(gl_HelperInvocation);
bool isHelperV = subgroupQuadSwapVertical(gl_HelperInvocation);
if (gl_HelperInvocation)
{
layer = !isHelperH ? lH : !isHelperV ? lV : lD;
}
Emulated code:
float nonHelperLayer = gl_HelperInvocation ? 0.0 : layer;
float lH = abs(dFdxFine(nonHelperLayer));
float lV = abs(dFdyFine(nonHelperLayer));
float lD = abs(dFdxFine(lV));
float isHelperDiffH = abs(dFdxFine(float(gl_HelperInvocation)));
bool isNonHelperH = isHelperDiffH > 0.5;
float isHelperDiffV = abs(dFdyFine(float(gl_HelperInvocation)));
bool isNonHelperV = isHelperDiffV > 0.5;
if (gl_HelperInvocation)
{
layer = isNonHelperH ? lH : isNonHelperV ? lV : lD;
}
Both paths are supported as on nvidia devices the emulated code
misbehaves. This change therefore effectively only enables seamful cube
map emulation on Android where subgroup operations are not supported.
Bug: angleproject:3243
Bug: angleproject:3732
Change-Id: I9664d9760756758748183eb121c626f176789f3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742222
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
20141940
|
2019-08-14T11:46:49
|
|
Vulkan: Enable copy_tex_image_conversions tests to run
A recent change(s) eliminated the crash that was occuring with the
KHR-GLES3.copy_tex_image_conversions.required.* and
KHR-GLES3.copy_tex_image_conversions.forbidden.* tests.
The still-failing tests are getting 2 types of Vulkan validation errors.
1) The "required" tests get errors about using the VK_FORMAT_R8G8B8A8_UNORM
descriptor-set format when an SINT/UINT component type is required.
2) The "forbidden" tests are getting errors about using more valid memory
objects than allowed.
Bug: angleproject:3458
Bug: angleproject:3800
Change-Id: I9536da6a2c888413ba0ab789a4dc9559d40fcf1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754391
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
01867144
|
2019-07-19T14:51:29
|
|
Vulkan: Add support for D32F_S8 depth_texture
Test: angle_deqp_khr_gles3_tests --deqp-egl-display-type=angle-vulkan --gtest_filter=dEQP.KHR_GLES3/packed_depth_stencil_verify_read_pixels_depth24_stencil8
angle_deqp_khr_gles3_tests --deqp-egl-display-type=angle-vulkan --gtest_filter=dEQP.KHR_GLES3/packed_depth_stencil_clear_buffer_depth32f_stencil8
Full passing results are blocked by suspected driver issues:
Bug: angleproject:3683
Bug: angleproject:3689
Bug: angleproject:3457
Change-Id: I7ce1a7824802ebca2c0479a3467fac26013829eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704791
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4346c8b1
|
2019-04-09T14:50:23
|
|
Vulkan: pipeline cache not populated as blob cache is not set
1. Use vkMergePipelineCaches to recreate pipeline cache after
blob cache callbacks are set after eglInititalize.
2. Use a more proper way to save the cache data to disk.
Bug: angleproject:3318
Change-Id: Ied1fb572813198b51e02ed9629cbf34e2d9159b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1683807
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a25c15c5
|
2019-08-08T19:47:47
|
|
Implement FramebufferTexture3D
Bug: angleproject:3188
Bug: angleproject:3797
Test: KHR-GLES2.texture_3d.framebuffer_texture.rgba8 (with patch from 3797)
Change-Id: Id44938504df00c3aba3fe733e7c71ad37ce1aab7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745838
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4bb50faa
|
2019-08-14T11:23:57
|
|
Suppress flaky SwapInterval test
Bug: angleproject:3807
Change-Id: If44223e39a30a93358392b22b98beaa31ef220d7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1753587
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
99cffe5d
|
2019-08-01T17:10:50
|
|
Vulkan: Fix glCopyTexSubImage3D()
Update glCopyTexSubImage3D() to account for the requirements necessary
for VK_IMAGE_TYPE_3D.
Bug: angleproject:3765
Test: KHR-GLES2.texture_3d.copy_sub_image.rgba8
Test: angle_end2end_tests CopyTexImageTestES3
Change-Id: Ife3d768323d0cfe2a53e5ae4c47a0747d65981bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1730637
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
7e48c9eb
|
2019-08-06T17:17:19
|
|
Add explicit integer casts
WebKit uses the -Wshorten-64-to-32 flag which warns on these cases.
Bug: 3439
Change-Id: I8c1de60da0f173ca2036e2120e79b857f5f2775f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1740866
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
b3eeb2a4
|
2019-08-05T17:02:43
|
|
Emulate RGB textures using BGRX IOSurfaces.
When the user requests an IOSurface Pbuffer with an RGB format, emulate the
missing alpha channel by clearing it to 1.0 and masking reads and writes in
shaders.
BUG=angleproject:3766
Change-Id: I58c992bf641d9ece0f923603f32640615150e4f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737437
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
22511021
|
2019-08-13T09:17:52
|
|
Vulkan: Remove unused GetDepthStencilAspectFlagsForCopy.
Was incorrect and causing a Clang warning.
Bug: chromium:992863
Change-Id: Ieff7b332ee11a6330bd5879d73b53ad374f40664
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1751622
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2ab08edc
|
2019-08-12T16:20:21
|
|
Use TextureID in place of GLuint handles.
Bug: angleproject:3611
Change-Id: Ie6156e8732b3ca4dc6c4439c059a5481a4dfd250
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738753
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9e14a19b
|
2019-08-09T10:03:24
|
|
EVENT trace to print GLenum as string reland
Reland of CL https://chromium-review.googlesource.com/c/angle/angle/+/1737141
Bug: angleproject:3778
Change-Id: I2a43c618de032d6e6286d707fbc88241ad4c19ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745837
Commit-Queue: Jiacheng Lu <lujc@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1d0a778f
|
2019-08-12T09:15:15
|
|
Vulkan: Enable a few integer state query tests in dEQP
These tests are now passing with vulkan backend. Remove
them from the expectations file
Bug: angleproject:3680
Test: dEQP-GLES3.functional.state_query.integers.max_elements_indices_getfloat
dEQP-GLES3.functional.state_query.integers.max_elements_vertices_getfloat
dEQP-GLES3.functional.state_query.integers.max_program_texel_offset_get*
dEQP-GLES3.functional.state_query.integers.min_program_texel_offset_get*
Change-Id: I65b189929553750e22b15ea3b83b88f72a6c9795
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1748885
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3b3fe837
|
2019-08-06T17:44:12
|
|
Use BufferID in place of GLuint handles.
Introduces enable_if handling for "FromGL". Avoids the use of any macro
code to handle resource id casting.
Bug: angleproject:3611
Change-Id: I1a6d10c3c9cc6ba0dc072bad1d62c33551f05d87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736127
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
d7500aa8
|
2019-08-02T15:52:39
|
|
Vulkan: Regression issue on AngryBird for read bandwidth
Use AllGraphicsShaderReadOnly as the image layout for graphics path.
Bug: angleproject:3473
Change-Id: I1e653890e69f347b2aba4a0156a5d5b86109fd0e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1732617
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b90755ba
|
2019-08-09T10:53:22
|
|
Vulkan: Remove a call to addReadDependency() that shouldn't be done.
Bug: angleproject:3798
Change-Id: I516e6b0766ba0fe7c0bc7f6cd9f4aea91c7536f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745839
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
d48d38ce
|
2019-08-09T11:03:35
|
|
Vulkan: Restore DrawBuffersTestES3.3DTextures on Intel Linux
The test was failing due to ANGLE changes, not the target itself.
It is unclear why this was the only one showing Vulkan validation
errors, but it is passing now. I believe we were using recycled
rendertarget views.
Bug: anglebug:3784
Change-Id: I256165954c9933b211bcc04b94172e13fa5a3a70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745850
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d53944cc
|
2019-08-09T12:09:32
|
|
Disable AtomicCounterBuffer tests on Vulkan
If a shard executes a Vulkan test first, it sets the window's pixel
format to something that the gl backend doesn't agree with. This causes
subsequent OpenGL tests to all fail, and eventually leads to a crash.
This disables AtomicCounterBuffer tests on Vulkan so that every shard
starts with some OpenGL test first (note that AtomicCounterBuffer is
alphabetically the first test suite).
Bug: angleproject:3738
Change-Id: Ifc32e7884e53ec2a10eb939cf23e5db7fa66f8b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745359
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
efa898ac
|
2019-08-07T17:05:35
|
|
Enable some compiler warnings used by WebKit.
This will make it easier to roll ANGLE in WebKit.
Bug: angleproject:3439
Change-Id: Icd4a5a2d5dcabb6cf13d4b46a7547f49610fa4b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743057
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
08b1e660
|
2019-08-09T15:31:19
|
|
Revert "Enable EVENT trace to print GLenum as string"
This reverts commit 048547e743b655d12ad44bb3e63766b7b96cd9a0.
Reason for revert: crashes on Debug bots (at least Mac)
Original change's description:
> Enable EVENT trace to print GLenum as string
>
> Bug: angleproject:3778
> Change-Id: Ib3a4bd6ba631e0165d571789bbfab9b4b1905d8d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737141
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Tobin Ehlis <tobine@google.com>
TBR=tobine@google.com,jmadill@chromium.org,lujc@google.com
Change-Id: Ib72f932f9b99bf981399759b17cec456b3ffafc1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3778
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745835
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
ba72f9a9
|
2019-08-07T15:38:07
|
|
Avoid calling debug annotator during D3D shader compilation
In Renderer11::compileToExecutable and HLSLCompiler::compileToBinary.
Because they are called from a worker thread, there are problems with
D3D debug annotator being accessed from multiple threads.
Previous fix to guard annotator accesses by a mutex reduced flakiness,
but not completely, maybe due to a D3D erroneously thinking there is
multithreaded access while there is none.
Bug: angleproject:3780
Change-Id: I8beea76b6d21f3378462992bbfab916c9db6b1ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742642
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
abce77a6
|
2019-08-07T15:22:03
|
|
Add tex2d half float tests to expectations file
GL_HALF_FLOAT and GL_HALF_FLOAT_OES have different
values and only the latter is valid in GLES 2.0.
However, angle_deqp_khr_gles2_tests expects these
two enums to be treated as interchangable. This
is a bug in deqp, so the affected tests should
be expected to fail until the bug is fixed.
Bug: angleproject:3451
Test: dEQP.KHR_GLES2/core_internalformat_texture2d_*_half_float_*
Change-Id: If3a8078e592b18c60c883dfebd246435761a4423
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743051
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
90958e35
|
2019-08-07T16:26:14
|
|
Implement ValidateFramebufferTexture3DOES
Bug: angleproject:3188
Test: KHR-GLES2.texture_3d.framebuffer_texture.negative
Change-Id: I9a27c713bd7ea18b9f7d9943c6c180f92856c643
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743079
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
048547e7
|
2019-08-05T11:55:54
|
|
Enable EVENT trace to print GLenum as string
Bug: angleproject:3778
Change-Id: Ib3a4bd6ba631e0165d571789bbfab9b4b1905d8d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737141
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
eb0479e2
|
2019-07-24T14:15:56
|
|
Vulkan: Texture 3D and 2DArray layers as framebuffer attachments
Support glFramebufferTextureLayer by correctly handling layers
from 3D and 2DArray textures. Modeled after CubeMap layers support.
Bug: angleproject:3188
Bug: angleproject:3189
Change-Id: Ic73a6017134e9d2b49beed103487454397a97167
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738436
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
bd203b57
|
2019-08-08T17:25:45
|
|
Vulkan: Correct generated shader paths.
This was showing up as a GN error with a newer version of GN.
Bug: angleproject:3792
Change-Id: I1993ccfe079c1768217f704cc9ba036ec67024bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745226
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c9ba782a
|
2019-08-05T16:14:22
|
|
Vulkan: Support atomic counter array of arrays
Previously, it was assumed that a function argument is either AC or
AC[i], and it was converted to AC or AC+i respectively. The code is
changed to support any number of dimensions and subscripts, using
array size information from AC's type. If AC is an array of array
(atomic_uint AC[N][M][R]), the following index calculations are done.
AC -> AC.arrayIndex
AC[i] -> AC.arrayIndex + i*M*R
AC[i][j] -> AC.arrayIndex + i*M*R + j*R
AC[i][j][k] -> AC.arrayIndex + i*M*R + j*R + k
A test is added to exercise these various forms of indexing:
AtomicCounterBufferTest31.AtomicCounterArrayOfArray
Bug: angleproject:3566
Change-Id: I1e181a7363463d1d0ee4916f35006ed7c58e0f7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1739488
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
a1f0d234
|
2019-08-08T14:32:59
|
|
Suppress functional.fbo.*.repeated_clear.* dEQP tests on Win NVIDIA Vulkan
Fail on 431.02 driver version.
Bug: angleproject:3748
Change-Id: I1115f0432e772ca41aaa28e834cd7aaa4e3ba56f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744340
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
b8ec98fe
|
2019-08-08T10:19:50
|
|
Fix build issue with tracing enabled
Global destructors are no longer allowed, thus need to use
NoDestructor template on static objects to build correctly.
Bug: angleproject:3790
Change-Id: I54b81d21b40649cb014636c7ed147f2c8cab33df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744199
Reviewed-by: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
|
|
54d51f32
|
2019-08-07T15:15:10
|
|
Vulkan: Fix crash with glBeginTransformFeedback
The TransformFeedbackVk::onBeginEnd() method wasn't calling updateQueueSerial(),
which was causing CommandGraphResource::hasChildlessWritingNode() to use an old
mCurrentWritingNode, which had already been freed (i.e. Visual Studio showed it
pointing to memory that is 0xdddddddd--which means that mCurrentWritingNode has
been freed, but is still being used).
Unfortunately, there are still other crashes affecting these tests, but they
are the same set (and yes, there are multiple, and they are random) that cause
most of the "KHR-GLES3.copy_tex_image_conversions.required.*" tests to crash).
Bug: angleproject:3674
Change-Id: I5cd44018ea0beb25cb218e562d5b863be6cbd450
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742972
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
e7970c3e
|
2019-08-07T14:43:17
|
|
BasicMangledName class
Need a class for basic mangled names since
with the addition of GLSL types the number
of basic types is > 52 (a-z, A-Z), so we need
more than one character to represent a type
Bug: angleproject:3719
Change-Id: I98beee9d42a016cb0c017f56ab82538c89212e33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742221
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4c833efb
|
2019-07-11T11:29:35
|
|
Vulkan: Enable sampler objects
This is the initial implementation to get GLES3.0 Sampler Objects
working on the Vulkan backend.
When samplers are dirty, a corresponding Vulkan sampler object will be
created with associated state and textures are flagged as dirty anytime
sampler bindings change.
Then when handling textures dirty, any bound sampler objects are pulled
from active texture units. When sampler objects are bound, their state
is used instead of the built-in texture's sampler state.
This change also adds a test that uses the same texture object with
different sampler objects to test a corner case that dEQP misses.
Bug: angleproject:3208
Change-Id: I643d9c9d5cb92fecc02dad815a07bcf349534c70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706897
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
31ab533e
|
2019-07-19T15:31:01
|
|
Sampler::syncState now returns angle::Result
This is a foundational refactor in preparation for implementing sampler
objects in the Vulkan backend.
Bug: angleproject:3208
Change-Id: I5970f141d3f825aee1f8b713be8e162c7d0f8bbe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710961
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
8400d05c
|
2019-08-07T14:52:54
|
|
Vulkan: Support the vertex_type_2_10_10_10_rev format
- Modify the python script and json file to generate the code which
adds the function for vertex_type_2_10_10_10_rev. These functions
handle the loading and conversion for vertex_type_2_10_10_10_rev.
- Modify ConvertVertex.comp and ConvertVertex.comp.json to perform
a GPU based conversion for vertex format of type 2_10_10_10_rev
- Modify BindingIsAligned function to check that both stride and
binding offset is aligned to the format size when the component
size is not aligned to 8 bits.
- Modify deqp3 expectations file to enable type_2_10_10_10_rev format
vertex array tests.
Bug: angleproject:3193
Test: dEQP-GLES3.functional.vertex_arrays.single_attribute.*2_10_10_10*
Change-Id: I2358d0d8888f7dfd7eac999dc150f643167de817
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709035
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e86a8560
|
2019-08-07T11:55:01
|
|
Vulkan: Fewer subgroup ops in seamful cubemap emulation
Two values were retrieved from quad neighbors; layer and ma. The value
of ma was retrieved as the helper invocations would otherwise have a
different value as the major axis.
This change makes the helpers rechoose ma based on the layer, which
removes a number of subgroup operations. This is also more precise as
the major axis value could be slightly different from the neighbor.
Bug: angleproject:3732
Change-Id: I3c8ca724e91c52ca2f7edc03bb0e5dca67610ff4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742215
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7270a6d5
|
2019-08-06T16:01:42
|
|
Fix ShaderStorageBufferTest31.LoadAndStoreBooleanVarAndArray to be more correct
The test contained bugs which made it fail on multiple platforms.
After mapping SSBO, access the data with GLuint instead of GLboolean.
The elements in the SSBO are 4 machine units, even though the SSB
talks about bools.
A bvec2 declared after bool in the SSB has alignment requirements.
The test asserts that a shader written result is zero. In this case
it needs to initialize the result buffer to non-zero in order to
prove that the shader put the zero there.
Bug: angleproject:3749, angleproject:1951
Change-Id: Iad8301be7f9e9df6bbed6b390d9c415d4e437c1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738909
Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
7424fe8b
|
2019-08-07T18:29:13
|
|
Skip BufferDataOverflowTest.VertexBufferIntegerOverflow
on Win NVIDIA D3D11. Due to flaky timeout.
Bug: angleproject:3786
Change-Id: I9881dcf4bcb2c958c7e5d26cba635d9cf3ff7f1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743050
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
22ec7dc9
|
2019-08-06T10:10:52
|
|
Remove all global constructors and exit time destructors.
WebKit compiles with -Wglobal-constructors, so they want this. I decided
to do -Wexit-time-destructors at the same time.
Bug: angleproject:3439
Bug: angleproject:1459
Change-Id: I4b44ae4f8e6f066e07dc7f9f6ced9a5d49dc8f8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738438
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7c7dec01
|
2019-08-06T17:44:11
|
|
Use RenderbufferID in place of GLuint handles.
This will allow frame capture/replay to more easily emulate object
handle manipulation. It also provides a bit of type safety. Also
generalizes ResourceMap to handle non-GLuint IDs.
Bug: angleproject:3611
Change-Id: I174fd260f326e0dbe2aca3f818215c91d82cf48c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706559
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
93560ef5
|
2019-07-25T16:13:02
|
|
Vulkan: Seamful cube map emulation
In GLSL, a cube texture is sampled with one of textureCube* functions.
This function takes a 3D coordinate which is a vector from the center of
the cube and identifies a direction to sample from. GLES2.0 has the
following table that translates this 3D coordinate (Rx, Ry, Rz) to a
face and ST coordinates within that face. This table can be found in
Section 3.7.5 (Cube Map Texture Selection).
A compiler pass is implemented in ANGLE that replaces samplerCube
declarations with a sampler2DArray. The textureCube* functions are
replaced with the corresponding texture* functions with the translated
coordinates according to that table.
Gradients provided to textureCubeGrad are translated using the same
formulae, which is not precise but the spec specifies this projection to
be implementation dependent.
Helper invocations enabled through WQM (whole quad mode) cause a
nuisance in that the extrapolated varyings used as coordinates in a
textureCube call could have a different major axis (and therefore face)
from the non-helper invocations that lie within the geometry.
subgroupQuadSwap* operations are used in conjunction with
gl_HelperInvocation to make sure the helper threads calculate texture
UVs in the same face as the non-helper invocations.
Bug: angleproject:3300
Bug: angleproject:3240
Bug: angleproject:3243
Bug: angleproject:3732
Change-Id: I0cb6a9b1f2e1e6a392b5baca1c7118ed1c502ccf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1715977
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
44f518b5
|
2019-08-06T13:31:01
|
|
Have run_code_generation only call vpython when needed
gen_builtin_symbols.py uses a vpython module to generate
a perfect hash function
Also seeded the perfect hash function to make it deterministic
Bug: angleproject:3747
Change-Id: I660fe71bd6b2213be9d4ccc2f68641637a49a047
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738747
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
483ee3fa
|
2019-08-07T14:53:37
|
|
Remove ShaderStorageBufferTest test skips for bug 2990, bug is marked fixed
Unskip ShaderStorageBufferTest tests that reference bug angleproject:2990,
the bug is marked fixed and the tests pass.
Bug: angleproject:2990
Change-Id: I378f648baa1caf44c5e5280c1580abaefcbe6cba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742146
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
415bb0cd
|
2019-08-06T17:26:14
|
|
IWYU - zircon/assert.h without stdlib.h
Bug: None
Change-Id: I524d9c97ebe0f58487bff47631ffc68073f665f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1740871
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
b13c38c1
|
2019-08-06T09:50:49
|
|
Vulkan: Enable GL_UNPACK_SKIP_IMAGES in the Tex*Image* code
A boolean was hard-coded to false to disable the use of GL_UNPACK_SKIP_IMAGES
disabled in ImageHelper::stageSubresourceUpdate() (I assume because 3D textures
wasn't yet supported). The boolean is now set based on type type of the
texture.
Bug: angleproject:3781
Change-Id: I09d9fd142cceb3bebfa341fd0ff9179241c61a9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738433
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
0296e169
|
2019-08-02T14:38:45
|
|
Vulkan: Refactor atomic counter retype code
A generic "retyper" class is extracted out of the atomic counter retype
code to be used with coverting samplerCube to sampler2DArray for seamful
cubemap sampling emulation.
Bug: angleproject:3732
Change-Id: I8b5f835125b9513afcfe7baeea48afaf1299a027
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1733807
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
ed5f7e4d
|
2019-06-07T15:54:00
|
|
Vulkan: Use a persistent CommandPool
Previously transient CommandPool is used for CommandBuffer allocation,
it is created and destroyed per frame. However, profiling found that
CommandPool destroy is very inefficient. So this commit removed the
previous logic and use two preallocated resetable CommandPools (One for
Primary and One for Secondary)
Bug: angleproject:3508
Change-Id: I8b36f2738b082811c3177935c61b10e01acb6947
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648667
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
44e690ca
|
2019-07-22T16:42:55
|
|
Vulkan: Support unaligned atomic counter buffer binding
GLES doesn't require any implementation-specified alignment requirement
for atomic counter buffers. They are emulated with Vulkan storage
buffers, which do have restrictions.
The storage buffers are bound at aligned offsets, and the remaining
offsets are passed to the shader as uniform values. This means that the
driver uniforms are now also bound to the compute pipeline.
Bug: angleproject:3566
Change-Id: I1a3429438f76d95e33cb5c6ef2c9370a10d900d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713095
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6201d134
|
2019-08-06T09:01:45
|
|
Vulkan: Suppress KHR-GLES2 ASTC 3D Texture Tests
The following tests are failing on 64b Pixel 2 devices:
KHR-GLES2.texture_3d.compressed_texture.rgba_astc_8x6_khr
KHR-GLES2.texture_3d.compressed_texture.srgb8_alpha8_astc_8x6_khr
These will be marked "SKIP" while the failures are investigated.
Bug: angleproject:3779
Test: angle_deqp_khr_gles2_tests
Change-Id: Idd5ebd992cd2d0b459a9eec0f2960265248700b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1739486
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
99f494e4
|
2019-08-05T13:53:41
|
|
Vulkan: Enable GL_NV_pixel_buffer_object extension
Now that PBOs are implemented, expose the NVIDIA PBO extension.
Bug: angleproject:3233
Change-Id: Ie69e49fb0cefad7b55abcc57b2cb3284c196b158
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737277
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
bf176a0d
|
2019-08-05T12:33:58
|
|
Vulkan: Suppress KHR-GLES2 ASTC 3D Texture Tests
The following tests are failing on 64b Pixel 2 devices:
KHR-GLES2.texture_3d.compressed_texture.rgba_astc_8x6_khr
KHR-GLES2.texture_3d.compressed_texture.srgb8_alpha8_astc_8x6_khr
These will be marked "FAIL" while the failures are investigated.
Bug: angleproject:3779
Test: angle_deqp_khr_gles2_tests
Change-Id: I6248833e3c136123a41fafa24f4f528060fc016d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737099
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
7c8928d0
|
2019-07-24T10:39:40
|
|
Add more tests covering gl::vertexAttribPointer
1. Add tests ensuring VBO binding with format requiring conversion in
vulkan backend is converted correctly after binding and offset changes.
2. Add tests ensuring VBO binding switching between CPU and GPU handles
correctly in vulkan. As for vulkan, it transfers CPU side memory into
tightly packed buffer and may causing a stride change.
Bug: angleproject:3256
Change-Id: I5d9d78670b28bec286b96d3b6a9c6211da3f3d9b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716614
Commit-Queue: Jiacheng Lu <lujc@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f3dbf0a7
|
2019-07-29T11:31:20
|
|
FrameCapture dump GLenum to enum instead of value
Add functionality to capture GLenum and GLbitfield parameters as enum
names instead of values.
Bug: angleproject:3611
Change-Id: I7ddc21093d44d1480b205563f30d89f82779b1f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724460
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b8c0dc04
|
2019-07-30T17:22:23
|
|
Capture/Replay: Capture entry point enum when possible.
This should save on a few string comparisons. This CL also adds a
helper function that converts from an entry point enum ID to a string
entry point name.
Bug: angleproject:3611
Change-Id: I47434235ca25203ef1d6814897d81afab444a7fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1719065
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c13ca2af
|
2019-07-17T15:46:29
|
|
Vulkan: Allow more than one atomic counter buffer binding
dEQP assumes there are more than one atomic counter buffers available.
This is technically not a requirement by the standard, but nevertheless
could be what applications expect as well.
This change adds support for multiple atomic counter buffer bindings.
This is done by declaring an array of storage buffers for the atomic
counter buffers (instead of declaring only one) and passing the
(binding, offset) pair around to functions instead of just the offset.
The atomic counter is found by indexing `binding` into the storage
buffer array first before indexing `offset` into its `uint[]`.
ProgramVk's default uniform collection is also fixed not to include
atomic counter uniforms.
A remaining issue is that atomic counter buffer offsets don't have
alignment requirements in GLES, but Vulkan does for storage buffers.
Similar to emulated transform feedback buffer offsets, these should be
sent to the shader through uniform values. This will be done in a
follow up change.
Bug: angleproject:3566
Change-Id: I5600225c24c38f1a8ecf5c64388073055733197d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707931
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2a53d83a
|
2019-08-05T10:42:14
|
|
Vulkan: Enable more tests to run (and in most cases pass).
Some of this set of expectation-file changes are due to PBO implementation.
Bug: angleproject:3628
Bug: angleproject:3455
Bug: angleproject:3209
Bug: angleproject:3210
Change-Id: Ie74913f22600b967c2a239f8a6452f9a99b2a00a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736134
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
af69179c
|
2019-07-30T17:22:22
|
|
Capture/Replay: Capture return values.
This will allow us to record resource IDs as they are created and bound
to OpenGL. This in turn will enable implementing mid-execution capture.
Bug: angleproject:3611
Change-Id: I9f12eb0025d90ad86327cf5181efd831662c2e3f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706562
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9031bdd9
|
2019-07-26T14:51:23
|
|
Use perfect-hash module in gen_builtin_symbols.py
The script currently takes ~4 minutes to run
Using this module instead of manually hashing
will improve runtime significantly
Bug: angleproject:3747
Change-Id: I7e2d2ef5bbfd136b0299d571e0acc11f334c80b5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724667
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dc2c5c5a
|
2019-08-02T09:32:18
|
|
Vulkan: Initial Implementation of PBO support (software only)
This contains support for both pixel unpack buffers (i.e. for glTex*Image*)
and pixel pack buffers (i.e. for glReadPixels).
Bug: angleproject:3209
Bug: angleproject:3210
Change-Id: I077cccbffb96fb5f0198922bc7c1850a7eb3f616
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1723096
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8a43b8c7
|
2019-08-02T08:47:13
|
|
Vulkan: Fix incorrect alignment logic in readPixels
Framebuffers previously assumed a readPixels buffer alignment
of 4 bytes, which causes issues when attempting to read with
a format larger than 4 bytes per pixel. Change the default
alignment to match the size of the largest know Vulkan format
Bug: angleproject:3731
Change-Id: I6cd26a99e6f3b2f30084d403630c17f51a0ecedf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1727731
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a06d32dc
|
2019-08-02T15:44:09
|
|
Vulkan: Enable more tests to run (and in most cases pass).
Bug: angleproject:3628
Change-Id: Idbb889165069d2ac45394b38cf44fad8c11bd910
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1733417
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
990990b4
|
2019-07-31T18:00:59
|
|
Fix memory leak in Renderer11::getD3DTextureInfo
If the device for the texture does not match mDevice, we early out of
the method without releasing textureDevice.
Fixed by adding DynamicCastComObjectToComPtr and using angle::ComPtr
Bug: angleproject:3761
Change-Id: Id4ef9231f8a91c30e326520132af693d51047c7d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1730175
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
de50d039
|
2019-07-29T16:04:56
|
|
Enable ASTC 3D Textures
Enable ASTC 3D textures.
ETC are still unsupported, since dEQP fails if we indicate support.
Bug: angleproject:3188
Test: dEQP.KHR_GLES2/texture_3d_compressed_texture_*astc*
Test: dEQP.KHR_GLES2/texture_3d_compressed_texture_negative_compressed_tex_image
Change-Id: I8559ae42d19e63fdf96ea7a49f2d7e3d5098771c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1723094
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
4c118cb3
|
2019-07-31T16:35:07
|
|
Vulkan: Add support for OES_vertex_half_float
Expose GLES 3.0 feature of half_float vertex on GLES 2.0 as an extension.
Bug: angleproject:3191
Test: dEQP-GLES2.capability.extensions.vertex_data_formats.GL_OES_vertex_half_float
Change-Id: Ia093b66f9c32c81946b2cbc15ff227baea4bfb02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1728749
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
626a7280
|
2019-07-08T15:11:59
|
|
Vulkan: Implement framebuffers without attachments
It is possible to render to a framebuffer object that has no
attachments. However, the rasterization of primitives is always
based on the area and characteristics of the bound framebuffer.
These characteristics (size, number of samples, etc.) would normally be
defined by the attached images. If no images are attached, these
characteristics are defined by their default values.
Bug: angleproject:3579
Test: dEQP-GLES31.functional.fbo.*no_attachments*
Test: dEQP-GLES31.functional.state_query.framebuffer_default.*
Change-Id: I9580b924ac810db573cd8df96273fbb01bbb1f73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690688
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
ad77f55e
|
2019-08-01T14:41:17
|
|
Vulkan: Remove finish calls before BufferVk::mapImpl
This function already calls a finishToSerial(), which waits only for the
last submission in which the buffer was used to finish. There is no
need to call finish() beforehands.
Bug: angleproject:3213
Change-Id: I410adb80a630ff9a1cba8f7202cf002a7ea5f87b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731551
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
82523300
|
2019-08-01T09:49:26
|
|
Vulkan: Recycle VkFence in checkCommandsCompleted
VkFence is intended to be recycled after used up, however, there is one
place that VkFence get destroyed directly after usage due to an
implementation flaw. This CL fixed it up.
Bug: angleproject:3556
Change-Id: I9ee44556329b9cee39ccdfef540f3c1b5180cd36
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731575
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
369f9e5d
|
2019-07-30T13:46:14
|
|
GL: Support Rectangle textures as sources for glCopyTextureCHROMIUM.
Chrome uses rectangle textures on mac to copy data. ANGLE's frontend allowed
them as CopyTexture sources but did not implement them in the backend.
TEST=Any WebGL test on Mac
BUG=982294
Change-Id: If2e40292b22c4f49676e3ece8cc6fa126c5b7b94
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1726849
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
301f77e7
|
2019-07-30T13:51:12
|
|
Vulkan: Enable passing ES2 multisample tests
The tests need to be run with --deqp-gl-config-name=rgba8888d24s8ms4 for
deqp to even try them. They pass and the removal of suppressions was
missing from:
https://chromium-review.googlesource.com/c/angle/angle/+/1639749
Bug: angleproject:3204
Change-Id: I77cb528da090d1374152e2e32f86e974df70358a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1726850
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
593b1a6c
|
2019-07-30T10:02:22
|
|
Vulkan: Fix array handling in default uniforms
Changes default uniform block layout generation to only remove the first
array subscript, which causes arrays of arrays to be recognized
correctly.
Bug: angleproject:3604
Test: ./angle_deqp_gles31_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES31.functional.shaders.arrays*'
Test: ./angle_deqp_gles31_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES31.functional.program_interface_query.*array*array*'
Change-Id: Ifacc665cae87c651253e5cb8d929178d7fc92817
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724906
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: James Dong <dongja@google.com>
|
|
d43d24bb
|
2019-07-30T17:22:20
|
|
Capture/Replay: Refactor entry points.
This change does two things:
* only call validation functions once per entry point.
* move the capture call after the entry point call.
Moving the capure after the call allows us to process the results of
the call. Also we can clean up the validation double call by doing a
bit of entry point refactoring. The code changes shouldn't impact the
resulting code size when capture is disabled.
Bug: angleproject:3611
Change-Id: I9e74ba0a8266903d3e9d1f2eac6acdd2932e5743
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706561
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
a0d010ab
|
2019-08-01T11:05:21
|
|
Disable atomic counter buffer tests on AMD/Windows/GL
Second attempt at fixing this bot:
https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20x64%20Release%20%28AMD%20RX%20550%29
Bug: angleproject:3738
Change-Id: I8e8626cc911df9dae82c542b2dde8696f10e49bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731130
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
868f5fa0
|
2019-07-30T17:22:18
|
|
Refactor return values from entry points.
For capture, we'd ideally like to know the return value of a function
when we capture it. The first step will be to intercept the return
value instead of returning directly.
Bug: angleproject:3611
Change-Id: I68c21aea323a71c6a9f1be613862158a37e2beae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706560
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e995d7fb
|
2019-06-26T17:59:27
|
|
Use memoryBarrier to sync image load and store
Image load and store are incoherent memory access
operations, so need to use memoryBarrier to ensure
the visibility of incoherent memory access operations
with other operations.
Bug: angleproject:3044
Change-Id: I4d474d260a3199c026911de8d20878cd327d16c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677420
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1dbbc7b3
|
2019-07-31T17:49:39
|
|
Skip couple TextureBorderClampIntegerTestES3 tests.
TextureBorderClampIntegerTestES3.TextureBorderClampInteger/ES3_OpenGL
TextureBorderClampIntegerTestES3.TextureBorderClampInteger2/ES3_OpenGL
failing on Win10 FYI x64 Release (AMD RX 550).
Bug: angleproject:3760
Change-Id: I0ccd56f190b1a3775f6a9a0448ca3003baa331ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729564
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
eb1b1646
|
2019-07-30T17:22:17
|
|
Capture/Replay: Fix capture-enabled libs build.
Adds a build option to use the capture libraries in the default output
location for libGLESv2. With |angle_with_capture_by_default| enabled,
libGLESv2 will have capture enabled and the non-capture libGLESv2 is
built as libGLESv2_no_capture.
Also moves the FrameCapture to be owned by gl::Context. Rearranges the
code a bit so that we don't require a separate version of libANGLE for
capture.
Also implements a read pixels entry point parameter.
Bug: angleproject:3611
Change-Id: Ic528e43e4779f794c8b6d0bf35410166dacc81b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1719064
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3e493c48
|
2019-07-29T16:27:01
|
|
Vulkan: Optimize memory allocation offset rounding
Use bit operation to compute memory alignment round up.
Tested with T-Rex, hotspot in roundUp resolved.
Bug: angleproject:3744
Change-Id: I55db941f588401a1d2d3d93f4d6b810e6b1aa95f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1725118
Commit-Queue: Jiacheng Lu <lujc@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
eb06814d
|
2019-07-03T17:17:45
|
|
Correct barriers of glMemoryBarrier in test cases
Some test cases use wrong barriers when calling glMemoryBarrier.
Bug: angleproject:2280
Change-Id: I0750c1eba84ed8af32091f7ecd5bdbd2b32fd397
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687591
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
|
|
1ebe6014
|
2019-07-29T16:02:15
|
|
Vulkan: Only check sampler when setUniform1i(v)
1. only do isSampler checking when update int uniforms
2. inline some simple methods of LinkUniform
This fix reduce CPU time spent on `isSampler` call from 70ms to 30ms in
T-Rex bench on specific platform.
Bug: angleproject:3743
Change-Id: I98ef3c892df27e08d54ed40946d924b5a50c796c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1725114
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|