|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
9addf0cb
|
2019-07-23T11:45:24
|
|
Vulkan: Enable Line Rasterization Emulation
Android requires the same line rasterization for Vulkan, so this CL will
enabled that workaround.
Bug: angleproject:2830
Test: dEQP-GLES2.functional.rasterization.primitives.line*
Change-Id: Ic28dd2e54c5cb9b29f8592952b2c0f29a5f97fd5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1715207
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
bf3d9333
|
2019-07-29T10:00:44
|
|
Vulkan: support relative offset in attrib bindings
Handles the ES 3.1 relative offset parameter in vertex attributes by
adding it to the binding offset.
Test: ./angle_deqp_gles31_no_gtest --deqp-egl-display-type=angle-vulkan -n dEQP-GLES31.functional.vertex_attribute_binding.usage.single_binding.unaligned_offset_elements_1_aligned_elements
Bug: angleproject:3598
Change-Id: Idbbd5ba4868a4dfc8f99188a84a5cd1374e09065
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724453
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: James Dong <dongja@google.com>
|
|
a51232eb
|
2019-07-26T15:02:39
|
|
Vulkan: Split-out PBO and pack/unpack expectations
Bug: angleproject:3209
Change-Id: I82e67345ce9f70b1b1d211b00b23d95dd53a44e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721188
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
35f02850
|
2019-07-23T17:20:25
|
|
Vulkan: Reduce getMaxConformantESVersion() to 2.0
We are currently returning a 3.0 context for Vulkan backends (issue
3425). However, we aren't quite 3.0 conformant yet, so this bug
will drop that back down to 2.0 in getMaxConformantESVersion().
Bug: angleproject:3734
Test: dEQP
Change-Id: I2c5a6ee0ddb3bd52fdc92fdc9b12cf3c6d8e0510
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716244
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8d3077b8
|
2019-07-26T09:44:36
|
|
Vulkan: Expect additional texture-specification tests to run/pass
Recent changes allow these to all run and pass!
Bug: angleproject:3190
Change-Id: I6349b8d9aa90297e676f170361f468ac04b3150d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721171
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
ce66a4f8
|
2019-07-26T16:27:04
|
|
Skip 2 end2end tests failing on 431.02 Windows NVIDIA driver
ClearTestES3.RepeatedClear/ES3_Vulkan
ShaderStorageBufferTest31.LoadAndStoreBooleanValue/ES3_1_D3D11
Bug: angleproject:3748, angleproject:3749
Change-Id: I54c6259d36c9993250e961d92a6d4b8e4349ed57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721185
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a2129356
|
2019-07-23T12:54:13
|
|
Vulkan: Add support for 2D array textures
Includes changes from jmadill to align with Vulkan backend design.
Correctly setting layer count and depth when the texture type is
2Darray. Vulkan requires depth of 1 for 2Darray textures.
Bug: angleproject:3189
Change-Id: I0d58c33fcd75b1d768ea0308ac6e54230d8cfcc5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721169
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
7e50f4cd
|
2019-07-25T09:58:51
|
|
Vulkan: Fix ES 3.1 vertex attribute bindings
When handling dirty bindings, we were treating binding indices as if
they were attribute indices, causing strange behavior. This change fixes
the dirty bit handler to use the provided index properly and update the
attributes that correspond to the binding index.
Test: ./angle_end2end_tests --gtest_filter='VertexAttributeTestES31.OnlyUpdate*/ES3_1_Vulkan'
Bug: angleproject:3598
Change-Id: I2bc3cd4da5f639a1301776fcf057a74368812c56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1718786
Commit-Queue: James Dong <dongja@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
020abb8b
|
2019-07-24T11:33:49
|
|
Vulkan: invalidate translation buffers for SSBOs
Translation buffers weren't being marked dirty after running a compute
shader in which they are bound as SSBOs.
This change invalidates all SSBOs after a draw or compute call.
Bug: angleproject:3739
Change-Id: I66b56df7e619b55afc7e3da6b5613b6d050e06bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1717144
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: James Dong <dongja@google.com>
|
|
f2412bca
|
2019-07-16T15:47:34
|
|
Get rendering to texture working
Other small fixes for desktop compatibility
Bug: angleproject:3620
Change-Id: I8e75bce1f850fb891c8bb6e16f79302a6d59276c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707932
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0716ce0a
|
2019-07-22T15:20:47
|
|
Re-add case to blitframebuffer workaround where src is outside of bounds.
On Mac, blitFramebuffer calls fail if the source region is not enclosed
by the framebuffer. In this case, we must naively clip the source region
and adjust the dest region accordingly. This is slightly different
behavior and may cause issues with scaling so we use a separate
workaround.
Also, Windows NVIDIA has a driver bug that affects Vulkan device
creation after blitting large textures, so it should be included in the
original workaround.
This CL cleans up the workaround to use more helpers from ANGLE and to
generally improve readability.
Bug: chromium:830046
Change-Id: I50bd97449725b738036e6bd3af82362020d7eda8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713090
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fab397e5
|
2019-07-25T10:18:50
|
|
Vulkan: Enforce an error when initializing a global with a non-const
The ESSL 1.0 spec is clear that "initializers must be a constant expression."
Yet, because of "legacy" applications (apparently just WebGL applications), the
code was only issuing a warning and not an error. The
"KHR-GLES2.shaders.negative.initialize" test requires an error be generated.
This change splits the semantics, allowing GLES applications to get an error,
and WebGL applications to get a warning.
Note: This change is related to https://chromium-review.googlesource.com/829138
(for angleproject:2285).
Bug: angleproject:3381
Change-Id: Ie243b7dd72102aeb52df506d121d1d2a8f6974d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716617
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
c68e7cbc
|
2019-07-25T11:28:07
|
|
Vulkan: Fix image copy flipping
The draw framebuffer was consulted for flipping instead of the read
framebuffer.
Revealed a bug with copy-with-transfer not taking source render target's
level/layer into account. This test was failing on Linux/Intel because
there the framebuffer is not flipped, so the transfer path was taken.
Bug: angleproject:2954
Bug: angleproject:3723
Change-Id: If95bf97b8e0536302ed39999be47bf904283c9e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1718784
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
557e3853
|
2019-07-24T18:16:18
|
|
Vulkan: Disable atomic counter buffer tests on AMD/Windows
A likely driver bug is causing the subsequent OpenGL test to fail.
Bug: angleproject:3738
Change-Id: I6ee5e9e7298a2adb3069a6e14ac83453fa34b50f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716056
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
02407743
|
2019-07-22T10:56:35
|
|
Vulkan: implement indirect dispatch
Implements indirect dispatch for Vulkan backend. Layout of dispatch
structure is the same as OpenGL, so we pass in the buffer directly.
Test: ./angle_deqp_gles31_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES31.functional.compute.indirect_dispatch.*'
Bug: angleproject:3601
Change-Id: I94c6b1a86d3c24c1ca1bb6a78529b38909a2b91f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710024
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: James Dong <dongja@google.com>
|
|
592539fd
|
2019-07-10T13:15:59
|
|
Implicit conversions for Desktop GL shaders
Need to support implicit conversions between types for GL shaders
Other small fixes to support GL shaders
Bug: angleproject:3673
Change-Id: I5341cb7195054ccc4cd36aad5dc8c801c7e1a14f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698649
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3dcd8ebb
|
2019-07-22T15:33:22
|
|
Skip ProgramBinaryTransformFeedbackTest.GetTransformFeedbackVarying
on Pixel 2 Vulkan.
Bug: angleproject:3690
Change-Id: Ic00038cfe8fe9d1170eb75aec89c0ac0f074fb05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710026
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
af80b781
|
2019-07-22T14:31:08
|
|
Skip ShaderStorageBufferTest31.ActiveSSBOButNotStaticallyUsed
on Pixel 2 Vulkan.
Bug: angleproject:3725
Change-Id: Ic5c80ad3ec495c3fd382639f761b368f16993434
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713564
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
b82d8633
|
2019-07-15T11:23:08
|
|
Vulkan: Atomic counter buffer support
Vulkan doesn't treat atomic counters especially, and they are emulated
with atomic access to storage buffers.
A single atomic counter buffer binding per pipeline is supported. All
the atomic counters identify an offset within this buffer. The shader
is modified to include a storage buffer definition with
`uint counters[];` as the only field.
A compiler pass replaces atomic counter definitions with variables that
hold the corresponding offset parameter, as well as changing atomic_uint
types to just uint (as the offset). Where an atomic counter variable is
used, it is replaced with the offset variable (plus the array index, if
array). At the same time, built-in `atomicCounter*` functions are
replaced with a corresponding `atomic*` function and
`memoryBarrierAtomicCounter` is replaced with `memoryBarrierBuffer`.
Bug: angleproject:3566
Change-Id: Iefb3d47de6a5cb3072bfa0cb94a46ac6a886d369
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704635
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
bd4ff479
|
2019-07-19T22:08:17
|
|
Revert "Reland "Temporarily disable creating D3D debug device.""
This reverts commit 6064e6ab6bc7355b410543301a578d22d2f6e477.
Reason for revert: flakiness should be fixed by https://chromium-review.googlesource.com/c/angle/angle/+/1709726
Original change's description:
> Reland "Temporarily disable creating D3D debug device."
>
> This reverts commit 28394c2295335929c17bbfe0ab74f923cd234ff2.
>
> Reason for revert: may be the cause of flakiness on Win10 Debug (NVIDIA) per http://crbug.com/972914 .
>
> Original change's description:
> > Revert "Temporarily disable creating D3D debug device."
> >
> > This reverts commit 3d544fffe7ff9284b21e3a15f638297c827bbc21.
> >
> > Reason for revert: Seems like flakiness is not related.
> >
> > Suppress D3D11 test failures uncovered by re-enabling D3D debug device:
> > ComputeShaderTest.DispatchCompute
> > Texture2DTestES3.TextureImplPropogatesDirtyBits
> > D3DTextureTestMS.*
> >
> > Also a small fix to ANGLETestBase::checkD3D11SDKLayersMessages
> > to clear reported messages, otherwise the failures are also reported
> > for tests following the one with the actual failure.
> >
> > Original change's description:
> > > Temporarily disable creating D3D debug device.
> > >
> > > To diagnose whether Windows Intel end2end tests flakiness
> > > is related to creating debug device and new version of Windows SDK.
> > >
> > > Bug: angleproject:3153
> > > Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737
> > > Reviewed-on: https://chromium-review.googlesource.com/c/1476954
> > > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
> >
> > Bug: angleproject:3153, angleproject:3493
> > Bug: angleproject:3501, angleproject:3512, angleproject:3513
> >
> > Change-Id: I232da72aa09c2b9230cf179dd54e1731f8365f8e
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480854
> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
>
> TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
>
> Change-Id: I38a5cc9bb6ebcd50e97e40cc972a82679e73732a
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3512, angleproject:3513
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652784
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
TBR=ynovikov@chromium.org,geofflang@chromium.org,kbr@chromium.org,jmadill@chromium.org
Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3513
Change-Id: I16eff79172dcfa2dd6d4f6445a74c9c65c1bd27c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710861
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
9ec3f51d
|
2019-07-19T13:06:16
|
|
Reland "Vulkan: Implement OES_get_program_binary extension"
Reason for revert: default uniform initialization was incomplete
This change has the following fixes:
1. Add missing default uniform initialization when loading
program binaries.
2. Re-enable OES Program Binary capabilities for Vulkan.
3. Added two angle end2end test,
- ProgramBinaryES3Test.BinaryWithLargeUniformCount
uses several uniforms across the vertex and fragment
shaders.
- ProgramBinaryES3Test.ActiveUniformShader tests
the difference between uniform static and active use
Bug: angleproject:3216
Bug: angleproject:3217
Bug: angleproject:3665
Tests: dEQP-GLES3.functional.shader_api.program_binary*
angle_end2end_tests --gtest_filter=ProgramBinary*
Change-Id: If6886f01241d65bb1e17a21cc3406533021072ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699069
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f35f1110
|
2019-07-19T09:18:55
|
|
Add script to apply clang-format on all sources
1. python script wrapper to call clang-format over the whole code base
2. Add clang-format rule `IncludeBlocks: Preserve` to tell clang-format
do not merge include blocks
3. Fix existed clang-format issue in code base
Bug: angleproject:3532
Change-Id: I289292dc62c2784ff21688065c87c3f3f5538f17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709720
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
765ee7b7
|
2019-06-19T14:19:52
|
|
Vulkan: support for new vertex attribs in GLES 3.0
Fixes handling of packed vertex formats, adds new overrides for 32-bit
[SU](NORM|SCALED) vertex types, and handles half-precision floats
correctly.
Pixel 2 does not natively support certain 10-10-10-2 vertex formats;
this change does not add support for them.
Test: ./angle_deqp_gles3_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES3.functional.vertex_arrays.*'
Test: ./angle_end2end_tests --gtest_filter='AttributeLayout*/ES3_Vulkan'
Test: ./angle_end2end_tests --gtest_filter='VertexAttribute*/ES3_Vulkan'
Bug: angleproject:3193
Change-Id: I5ae4edd743e86e3e89e2697034c04dc4d9ecd1f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1668230
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: James Dong <dongja@google.com>
|
|
610f2388
|
2019-07-18T16:28:49
|
|
Return backwards compatible context versions in Vulkan, GL and D3D11.
This allows us to pass some dEQP GLES 2.0 tests that require using an ES 3.0
context and matches native driver behaviour of returning a higher-than-
requested context version when it's backwards compatible.
BUG=angleproject:3425
BUG=angleproject:3300
BUG=angleproject:3715
BUG=angleproject:3243
BUG=angleproject:3240
BUG=angleproject:3716
Change-Id: I03dfd56deb6191c3363808717e0eea6fdcf5f3ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709111
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
6a02f06d
|
2019-07-18T16:27:14
|
|
Implement EGL_ANGLE_create_context_backwards_compatible
This extension allows the user to specify if ANGLE should create a
context of the exact requested version or a higher version context that
is backwards compatible.
BUG=angleproject:3425
Change-Id: I7d0b75cdd7e34a2fc888aa238e1eeb67af82ae0d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601560
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
8cb95960
|
2019-07-16T13:54:57
|
|
Vulkan: Fix FS array output location assignment
Test: angle_end2end_test --gtest_filter=GLSLTest_ES3.FragmentShaderOutputArray/ES3_Vulkan
Bug: angleproject:3707
Change-Id: I6519a76aa58ad80ada0e2ad90a2a70d93f831ce5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704779
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ec30d78d
|
2019-07-03T12:56:58
|
|
Optimize uniform matrix update
1. Add a fast matrix update function to do a single memcpy for uniform
matrix assignment with same layout. It benefits row-4 no-transpose GLSL
matrix and col-4 transpose HLSL matrix.
2. Make boolean IsColumnMajor to be a template parameter in generate
uniform matrix updating, which gets rid of the conditional branch
in loop and has better performance.
3. Add e2e test of uploading multiple 3x4 GLSL matrices at the same
time, which adds coverage to this CL.
Bug: angleproject:3632
Change-Id: Id1701ef6fbf63ea4b9884254d93ea8eacfe4e16a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688274
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
69194e5f
|
2019-07-17T15:35:10
|
|
Reduce variance in TextureUploadPerf.
This reduces the test time to run in several ms instead of almost
seconds per iteration. It allows us to use the perf test runner harness
to check test performance more accurately by increasing the sample
count.
It first reduces the test iteration count to reduce total test time.
It also refactors the test contents to not allocate new objects and
memory with every test iteration. This gives a better sampling of what
the test is obsering: texture upload performance.
Also allows tests that like to track GPU time to be used with the NULL
device option.
Bug: angleproject:3712
Change-Id: Idacc3e3b424f8882d7680769b27d1f04146ea65d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707112
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e9cffa62
|
2019-07-16T16:32:40
|
|
Rename data_dir to angle_data_dir in GN files
Dawn reuses the Vulkan validation layers of ANGLE to avoid building
twice in chromium, and references build_overrides/vulkan_common.gni,
but angle_data_dir is undefined, which is defined as data_dir in
angle.gni. There is a reminder to rename this name in
https://chromium-review.googlesource.com/c/chromium/src/+/1610488
Bug: angleproject:3710
Change-Id: I4b7c4d24c37770ff58b70c988851a6ed32a04296
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703175
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
c44d2c79
|
2019-07-11T14:45:56
|
|
Fix glGetProgramResourceName filling output with 0
strncpy was used to copy resource names, which fills the unused parts of
the buffer with '\0'. The spec doesn't forbid this, but dEQP fails on
this behavior, presumably to try and catch overflow bugs.
Bug: angleproject:3562
Change-Id: Ifce2d690221b2403848cb8913f4753ec60dfffab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698647
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
2e43b0f5
|
2019-07-11T17:09:54
|
|
Vulkan: Implement memory barriers
Bug: angleproject:3574
Change-Id: I13d8f4fcd6f1bf9bf3496c91c2c697076e2491bd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699005
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
950e1a4d
|
2019-07-16T13:10:29
|
|
GL: Reset the pixel unpack state after initializing texture data.
Texture data initialization happens after dirty bit synchronization so
TextureGL::initializeContents must be careful to leave the applied state the
same way it found it.
BUG=angleproject:3703
Change-Id: I1647cfc59c45fd9fad0fcde2e37af831e56f2e57
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704215
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f92fc916
|
2019-07-15T22:39:23
|
|
Vulkan: Compute shader support
A DispatchHelper class is created as the equivalent of FramebufferHelper
as a command graph resource. There's currently a single dispatcher and
all dispatch calls are recorded on that. Context dirty bits are set up
in such a way that graphics and compute workloads are independently
handled, so that issuing a dispatch call wouldn't cause a framebuffer's
render pass to rebind resources.
Bug: angleproject:3562
Change-Id: Ib96db48297074d99b04324e44b067cfbfd43e333
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688504
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5de073c0
|
2019-07-15T10:05:02
|
|
Vulkan: Enable more format-related tests to run
After seeing some CLs in this space, that didn't change the expectations
file, I checked to see whether more tests can pass, and they can.
Bug: angleproject:3190
Change-Id: Ifa1d1c7b91c403c8c67ddcb5d8a589cbaf686cf4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1702493
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
a9ec8749
|
2019-07-11T11:31:47
|
|
Vulkan: override format for mismatched attribs
Prevents Vulkan validation error by replacing the input format for any
mismatched vertex attributes with a format compatible to what the shader
expects.
Bug: angleproject:3436
Change-Id: Ia52f29c084d82bbc4e9149102cd4b5fc25ccb9b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698567
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8b2bb18f
|
2019-07-10T17:12:25
|
|
Vulkan: Update capabilities with the necessary limits
Some of the necessary limits were not being defined correctly in the
native capabilities, causing some dEQP test failures.
Bug: angleproject:3676
Test: Applicable dEQP-GLES3 limits testing
Change-Id: If977da1edd7d55627c65cd81a6dcd42c63a3a6a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695934
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
663b0481
|
2019-07-11T12:37:35
|
|
Load correct opengl32.dll
Tests are still loading ANGLE's opengl32.dll instead of system's
This is because external drivers are trying to load opengl32.dll
Workaround: renamed to libGL.dll, need to change back when copying
dll over for loading
Bug: angleproject:3641
Change-Id: I051adc1fbb488a704c99718ad4a2f74bb7756cbd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1697290
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9d943af7
|
2019-07-11T17:53:37
|
|
Vulkan: Support more texture format-type combination tests.
This is a partial fix for 3455, which contains a number of different
root-causes. This CL addresses two sets of them.
1) Partial fix for KHR-GLES3.copy_tex_image_conversions.forbidden.*
Recent changes, including adding support for GL_RGBA8-to-GL_RGB5_A1,
plus adding support for GL_RGB10_A2-to-GL_RGB5_A1 eliminate the
crashes for 56 of the 70 tests.
2) Most of the KHR-GLES3.packed_pixels.rectangle.r* tests now pass.
Recent changes, including potentially the above get another 34
tests passing, and another 15 no longer crashing.
3) Vulkan: Fix errant glCopyTextImage validation code.
I got all but 2 of the KHR-GLES3.packed_pixels.rectangle.r* tests passing.
I fixed bugs in the validation code (with at least two more bugs
that I haven't fixed yet). More details below.
3a) Fix the IsValidES3CopyTexImageCombination() function for SNORM.
The code wasn't rejecting SNORM cases, which are missing from the table of
effective internal formats, meaning that support is undefined. The
GLES 3.2 spec says that a GL_INVALID_OPERATION error should be generated
"if the effective internal format of the source buffer does not match the
effective internal format of the new image."
3b) There's a caveat that was overlooked that means that internal
formats like GL_RGB10_A2 are not supported.
Bug: angleproject:3455
Bug: angleproject:3693
Bug: angleproject:3697
Change-Id: Ie4399a2d7cd969ec29acc926f32e6608775609c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1693325
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
c3085ead
|
2019-07-11T15:07:29
|
|
Vulkan: Set texel offset limits
This was blocking compilation for any new texture builtin that used offsets.
Bug: angleproject:3622
Change-Id: I30b221741796b53f8e47e3aeeebfbde3f1976bd6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699062
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
943fe34e
|
2019-06-24T16:51:57
|
|
Vulkan: Upload packed depth-stencil
Bug: angleproject:3437
Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.VerifyStencilData/*
Change-Id: Iffab48eaea6aa35888560859e9f502a4f814b833
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1674663
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
375ddfc5
|
2019-07-12T11:12:14
|
|
Signal different dirty bit for vertex buffer change.
We use new logic to compare if the attribute format changes before
setting dirty bits. This improves performance of VBO-only state changes
significantly. On the VBO change Vulkan microbenchmark gives about a
30% improvement.
Bug: angleproject:3256
Change-Id: Ifaf1c92ed7a09422156ef79b5983e7349de63346
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684294
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
25378d6a
|
2019-07-09T17:23:03
|
|
Vulkan: Split some SKIP expecations and put with correct bugs
The tests previously skipped for 3458 have 2 different root causes.
Bug 3458 was split into two: 3458 and 3674. The SKIP lines have been
split into more-fine-grained SKIP lines, with some going to the new
3674 bug.
Bug: angleproject:3458
Bug: angleproject:3674
Change-Id: I2eaa83a30b87a81144d8f19658007386683e6388
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695899
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
0cb36be6
|
2019-07-11T10:32:39
|
|
dEQP: Override tes31Context.cpp to prevent 3.2 context creation
Skip the GLES 3.2 context creation by overriding tes31Context.cpp
with an ANGLE-specific tes31Context_override.cpp that only creates a
GLES 3.1 context.
Bug: angleproject:3687
Test: dEQP.GLES31
Change-Id: I1afab5f04b79dc252f1b27563032a44ab37cacfe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698542
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
1d672749
|
2019-07-08T15:42:05
|
|
WGL implemetation for OpenGL tutorial
Fixes to make WGL implementation work with OpenGL tutorial
- Give directive parser the correct shader spec when on Desktop GL
- Minor changes to parse Desktop GL shaders
- Moved clientType parameter from Context to Context->mState
- Minor fixes to WGL functions
Bug: angleproject:3666
Change-Id: I01ddb828f6d581ad445f49942589436849eae5d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1693244
Commit-Queue: Clemen Deng <clemendeng@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
29fba5e0
|
2019-07-04T17:08:41
|
|
Vulkan: Prepare for variable-stage pipelines
Compute (single-stage pipeline) is upcoming, but this change prepares
GlslangWrapper to handle any number of stages (mostly). Additionally,
this change binds each resource to each stage based on whether it's
active, so that we don't hit the per-stage limit of resources by binding
every resource to every stage.
Bug: angleproject:3633
Bug: angleproject:3562
Change-Id: Ifebf691482846e0371c6e314f514226a4cfee258
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689330
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|