|
f585c2fb
|
2019-09-21T02:12:37
|
|
Revert "Refactor built-in symbol table."
This reverts commit 59d982c0dcad580ccbf4e29f32ffa3ea9a280122.
Reason for revert: crbug.com/1006501
Original change's description:
> Refactor built-in symbol table.
>
> In preparation for reducing binary size. Shortend a bunch of strings
> and symbol prefixes so the autogen file will be more compact.
>
> Bug: chromium:998535
> Change-Id: If1bedaaacc06dce9678d432055ffa0c9215a8dbd
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1814724
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
TBR=timvp@google.com,jonahr@google.com,jmadill@chromium.org
Change-Id: Ie540da8ea4429e075a3284183e5a004cbcf1307b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:998535,chromium:1006501
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1817497
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
2249fef2
|
2019-09-16T11:19:23
|
|
Capture/Replay: Move stub implementation to new file.
This lets the MSVC parser work better with FrameCapture.cpp.
Bug: angleproject:3611
Change-Id: I249106dce81a7965684caf1a835f0472b34e8963
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804878
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
857bb7ff
|
2019-09-20T14:25:44
|
|
Vulkan: Enable most dEQP-GLES31.functional.state_query* tests to run
Bug: angleproject:3600
Bug: angleproject:3520
Bug: angleproject:3189
Change-Id: Ibbb930a9d64845a1e0cf731d2a35bd9d50f6c477
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1816445
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
14f472f2
|
2019-09-20T11:33:18
|
|
GL: Treat unknown AHardwareBuffer formats as RGBA8.
When Android's AImageReader encounters YUV formats, it converts the
hardware buffer's internal format to vendor-specific formats. Since
these sample as RGB using samplerExternal, simply validate them as if
they are RGB8.
BUG=angleproject:3929
Change-Id: I991512c8a584b08a978aacf67ab153ada7e4fd76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1816300
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
59d982c0
|
2019-09-19T18:54:40
|
|
Refactor built-in symbol table.
In preparation for reducing binary size. Shortend a bunch of strings
and symbol prefixes so the autogen file will be more compact.
Bug: chromium:998535
Change-Id: If1bedaaacc06dce9678d432055ffa0c9215a8dbd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1814724
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
11dc1635
|
2019-09-18T14:46:23
|
|
Add support for generating UWP (Windows Store) projects again
Until late 2017, ANGLE supported Windows Store apps on Windows 8.1,
Windows Phone 8.1, and Windows 10 (via the Universal Windows
Platform, aka UWP).
Unfortunately ANGLE deprecated support for Windows Store when it
switched from GYP to GN in 2017. Since then, users have been able
to use Microsoft\angle for their UWP apps but this isn't ideal since
it's based on a 2017 copy of Google\angle.
This PR bring back support for UWPs, so that UWP users can use
Google\angle again. Specifically it:
- Adds support for generating UWP projects via GN
- Adds helper/util functions specific to UWP (they're mostly
similar to the desktop Windows helpers)
- Fixes some existing Windows Store code that's rotted since 2017
- Disables async shader compilation for UWPs, since its
implementation calls wait on the UI thread (which is forbidden
in UWPs)
- Renames 'ANGLE_ENABLE_WINDOWS_STORE' to
'ANGLE_ENABLE_WINDOWS_UWP', since ANGLE only support UWPs now
- Fixes misc other related issues (such as dependencies on D3D9
headers in API-agnostic code)
Note that this doesn't bring back support for Windows/Phone 8.1.
BUG=angleproject:3922
Change-Id: Ia79ae05a5e0e0a0625eb633bf1928722dfd3e85f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811871
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dd4a00a0
|
2019-09-19T14:19:11
|
|
Vulkan: Track resource usage via counter.
This adds a small shared piece of memory that counts the number of
times a resource is used in a command graph. This will enable more
multi-threaded uses. The shared pointer is updated in the command
graph during a submit and during graph construction.
Bug: angleproject:2464
Change-Id: Id9d0319a6814825d02e865ba527c97b5f535ff31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785989
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d7f28aae
|
2019-09-19T14:19:10
|
|
Vulkan: Pass CommandGraph when updating serials.
This is in preparation for storing a pointer to a shared resource use
structure.
Bug: angleproject:2464
Change-Id: I8f4ba1c71de6ad6a27ac06fc8012a0e94267cc16
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785988
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6c4ff5dd
|
2019-09-19T16:39:48
|
|
Vulkan: Narrow GLES1 Scissor test skip to just Vulkan-Windows-Intel
Bug: angleproject:3867
Change-Id: I49b3a7facf41c4fa635c072c89820f2ee43c7787
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1815346
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
8a0686e1
|
2019-09-19T15:17:31
|
|
SystemInfo: Fix Windows driver version masking.
Should be applying a 16-bit mask instead of 8-bit.
Bug: angleproject:3926
Change-Id: I2b0a28a5de42437890a9c0d1bbc57b48a5d64451
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1814980
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fea65766
|
2019-09-19T09:30:38
|
|
Vulkan: Add support for OES_vertex_type_10_10_10_2
- Add support to CPU/GPU convert vertex formats
- Add test cases for type conversion in angle_end2end_tests
- Fix a bug in shader script by adding a ceil when calculating bytes
Bug: angleproject:3192
Test: angle_end2end_tests --gtest_filter=VertexAttributeTest*Packed1010102*
Change-Id: I57bab9fc1c1041cd734746d0e52a33717b635ec0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1788495
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
4e57520a
|
2019-08-23T16:14:07
|
|
GL: Update BlitGL to use ANGLE_GL_TRY.
BUG=angleproject:3020
Change-Id: I587e638ca9dea2cb84aaad68aa8d1ce32fc62053
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769062
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ac7c876b
|
2019-09-17T11:20:47
|
|
GL: DisplayGLX::makeCurrent should handle drawSurface==0
In this case the draw surface should be unbound, but ANGLE had been
skipping this case (and handling it internally). This caused a crash on
Linux Intel. Now makeCurrent is actually called on the driver with
drawSurface mDummyPbuffer.
Bug: chromium:988440
Change-Id: Ifae7a828455eb67e516a47515ec6c24cc36e3c2b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808719
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e6582161
|
2019-09-16T12:39:18
|
|
Convert DXT1 RGB data to DXT3 RGBA when uploading to the GPU.
DXT1 has a specific 'BLACK' code that results in transparent black pixels when
sampled. D3D does not have specific RGB-only DXT1 formats like OpenGL does so
when this code is encountered, we sample 0 alpha for these pixels when GL would
expect 1 because the alpha channel should not exist.
Work around this by converting to DXT3 RGBA, adding an extra block of 1.0 alpha
pixels for each color block.
Mac Intel OpenGL requires additional workarounds to always sample 1.0 alpha.
Set the texture swizzle parameters to force it.
BUG=angleproject:3729
Change-Id: Ia3647085acd97bb01af4e95ef3f6f21dcfb6a554
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804880
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
bf4268a3
|
2019-09-17T13:33:56
|
|
Fix misc VS2019 bool conversion warnings
BUG=angleproject:3921
Change-Id: I06de5131f98b27c2556ed60dd7228c9cfa154802
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811858
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2f2ea8b4
|
2019-09-18T16:42:28
|
|
Fix depth pitch calculations for compressed textures.
Depth pitch computations were not taking into account the block size
and simply multiplying the row pitch with the pixel height. This caused
our load functions to use a very high depth pitch, reading past the end
of the user-supplied buffer.
BUG=angleproject:3190
BUG=angleproject:3920
Change-Id: I4ef4763b542735993568c51ae4b5a235659b9094
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811837
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
197005d8
|
2019-09-18T12:58:31
|
|
Vulkan: Pass ContextVk to various helpers
This is groundwork for some upcoming changes where data from
ContextVk is needed in GraphicsPipelineDesc::initializePipeline().
Passing ContextVk ptr all the way down instead of the reduced
vk::Context ptr.
Bug: angleproject:2672
Change-Id: I29f580c3503777085355f1b79f4ae4552a394557
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811433
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
db09eb68
|
2019-09-18T13:40:39
|
|
Increase the max fence wait time in debug builds
Also minor refactor to avoid duplicating the constant by having
both RendererVk and ContextVk retrieve the wait time via new
member function RendererVk::getMaxFenceWaitTimeNs().
BUG=angleproject:3915
Change-Id: I9a283a4e0f34a6a1f840c350dc667f4fc27f59e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1810066
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e34564ba
|
2019-09-18T15:21:51
|
|
Revert "Suppress crashing perftests on Win Intel Exp Rel"
This reverts commit f8e8fcf8828f42005b4410cc4500c63d8e9112ce.
Reason for revert: ANGLE_SKIP_TEST_IF doesn't work in perftests
and this skip is not needed since the whole suite is disabled now
Original change's description:
> Suppress crashing perftests on Win Intel Exp Rel
>
> Also moves ANGLE_SKIP_TEST_IF to a header shared between end2end and
> perf tests.
>
> BUG=chromium:997674
>
> Change-Id: I7c5968e6d861c4bff703ddc6ae0e4e021e47061f
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768374
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=geofflang@chromium.org,cwallez@chromium.org,jmadill@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:997674
Change-Id: I0a2124c93d1abd6c7efd2b29e942ee966982eed2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1810763
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a7003d5f
|
2019-07-19T11:43:34
|
|
Reland "EGL: Implement EGL_KHR_no_config_context"
Add extension string and flag to all renderers that pass
Modify eglCreateContext to accept EGL_NO_CONFIG
Modify eglQueryContext per specification
Modify eglMakeCurrent to bypass surface-context config compatibility checks
Add check for client API
Create new end2end test EGLNoConfigContextTest
Disable on most renderers to prevent possible fail with future configs
Bug: angleproject:3635
Test: dEQP-EGL.functional.create_context.no_config*
angle_end2end_tests --gtest_filter=EGLNoConfigContextTest*
Change-Id: I88c1922a1e75afcc49922a9eccb4f1ae046c024a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1806140
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
01dfe404
|
2019-09-04T12:08:25
|
|
Capture/Replay: Use resource ID maps in cpp replay.
Introduces a new enum for resource ID types. This is used in auto-
generated code to convert ParamType to resource ID map types.
Also implements a lot of new parameter captures for gen/delete calls.
Bug: angleproject:3611
Change-Id: I26cca1df88d1783d9830c89438c99f7593a70ea9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784059
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
db7a36f4
|
2019-09-17T00:22:32
|
|
Revert "Vulkan: SwiftShader integration."
This reverts commit 1224802c214d8f3d5b1f31a35d4461ada39b94c1.
Reason for revert: https://bugs.chromium.org/p/angleproject/issues/detail?id=3912
Original change's description:
> Vulkan: SwiftShader integration.
>
> Adds a new EGL extension for picking SwiftShader when using the Vulkan
> back-end. Also cleans up ICD enabling code RendererVk. Also includes a
> change to a buffer size necessary to support SwiftShader's minimum
> limits.
>
> 32-bit is currently left disabled to work around an issue on AMD Win7.
>
> Bug: angleproject:3876
> Bug: b/140251624
> Change-Id: I33c55d994801d6154caca0cad0a608c1e808d517
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776231
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org
Change-Id: Id7464250f6941b0228a6b2a9bd0349823727275b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3876, b/140251624
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808101
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
2e16f639
|
2019-09-16T18:37:00
|
|
Capture/Replay: Refactor cpp replay param writes.
This makes a few more methods use static helpers. Introduces a
DataCounters helper class that can manage tracking the names for
particular local data members in the cpp replay.
Prepares for a larger refactor to support resource ID maps.
Bug: angleproject:3611
Change-Id: I25b4cc80cc3aa140c1cd15d9012c9542ba0cfc87
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802743
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1224802c
|
2019-09-16T15:17:33
|
|
Vulkan: SwiftShader integration.
Adds a new EGL extension for picking SwiftShader when using the Vulkan
back-end. Also cleans up ICD enabling code RendererVk. Also includes a
change to a buffer size necessary to support SwiftShader's minimum
limits.
32-bit is currently left disabled to work around an issue on AMD Win7.
Bug: angleproject:3876
Bug: b/140251624
Change-Id: I33c55d994801d6154caca0cad0a608c1e808d517
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776231
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
20bb47d3
|
2019-09-16T12:55:30
|
|
Skip a angle_end2end_tests on Linux Intel OZone.
Texture2DFloatTestES2.TextureFloatRenderTest/ES2_OpenGLES
R=jmadill@chromium.org
Bug: chromium:1003971
Change-Id: I96d858bbfbbaa7d98d9a7488cb98e0c1fca18ba3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1807581
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b5560486
|
2019-08-30T17:09:04
|
|
BaseInstance VertexAttribDivisor fix
Add tests not using gl_InstanceID/gl_BaseInstance but set
vertexAttribDivisor which implicitly reference base instance value.
Add fixes and workarounds based on this change.
Bug: chromium:891861, angleproject:3402
Change-Id: I2d93c181029f4ca1741f244363568096964d6b19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779350
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3a2e01ed
|
2019-09-16T13:08:39
|
|
Vulkan: Require sampling support for attachments.
Since Framebuffer attachments can be copied from with CopyTexImage, we
must require transfer support. This will affect the amount of formats
we can expose correctly for different uses.
Bug: angleproject:3876
Change-Id: I0343da94b5f8e05dca946e7029ffb8fdf155bb41
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1803756
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d32dae1b
|
2019-09-13T22:06:56
|
|
Revert "EGL: Implement EGL_KHR_no_config_context"
This reverts commit c4b1fbd69b12c0af30a58d0810f88d1301b8dabd.
Reason for revert: https://crbug.com/1003971
Original change's description:
> EGL: Implement EGL_KHR_no_config_context
>
> Add extension string and flag to all renderers that pass
> Modify eglCreateContext to accept EGL_NO_CONFIG
> Modify eglQueryContext per specification
> Modify eglMakeCurrent to bypass surface-context config compatibility checks
> Add check for client API
> Create new end2end test EGLNoConfigContextTest
> Disable on most renderers to prevent possible fail with future configs
>
> Bug: angleproject:3635
> Test: dEQP-EGL.functional.create_context.no_config*
> angle_end2end_tests --gtest_filter=EGLNoConfigContextTest*
> Change-Id: I7fbb137f1222ae7eebff4192013b7d3c5fcf0436
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762709
> Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
TBR=geofflang@chromium.org,timvp@google.com,jmadill@chromium.org,m.maiya@samsung.com,j.vigil@samsung.com
Change-Id: I849aa796803e3cda9b480a39be813ef9105325bb
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:3635
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1803789
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
|
|
6caa2652
|
2019-09-11T08:06:13
|
|
Vulkan: Support float textures and renderbuffers
Fixed support in the vulkan backend for legacy
GLES2.0 formats (luminance, alpha,
luminance_alpha)
Correctly exposed the following extensions:
OES_texture_float
OES_texture_half_float
OES_texture_float_linear
OES_texture_half_float_linear
EXT_color_buffer_float
EXT_color_buffer_half_float
Some of the above extensions have different
requirements depending on other extension support
and the context client version, and were
incorrectly assuming the most restrictive
requirements to be exposed.
Implemented end2end tests for:
OES_texture_float
OES_texture_half_float
OES_texture_float_linear
OES_texture_half_float_linear
EXT_color_buffer_float
EXT_color_buffer_half_float
Bug: angleproject:2898
Bug: angleproject:2726
Test: ./angle_end2end_tests --gtest_filter='Texture2DFloatTest*'
Change-Id: I7024aa1393eadafb5a0fb83c23e9035aae650b67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1740276
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c4b1fbd6
|
2019-07-19T11:43:34
|
|
EGL: Implement EGL_KHR_no_config_context
Add extension string and flag to all renderers that pass
Modify eglCreateContext to accept EGL_NO_CONFIG
Modify eglQueryContext per specification
Modify eglMakeCurrent to bypass surface-context config compatibility checks
Add check for client API
Create new end2end test EGLNoConfigContextTest
Disable on most renderers to prevent possible fail with future configs
Bug: angleproject:3635
Test: dEQP-EGL.functional.create_context.no_config*
angle_end2end_tests --gtest_filter=EGLNoConfigContextTest*
Change-Id: I7fbb137f1222ae7eebff4192013b7d3c5fcf0436
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762709
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b1580a27
|
2019-08-27T18:08:56
|
|
Vulkan: Set half float vertex format to valid in 2.0 context
- OES_vertex_half_float extension requires this patch
- Add end2end tests to verify OES_vertex_half_float extension
BUG=angleproject:3191
BUG=angleproject:3802
Test:
angle_end2end_tests --gtest_filter=*VertexAttributeTest.HalfFloatClientMemoryPointer*
3DMark Icestorm GT1
Change-Id: Ia597021a5ae6b4853ee1199989ec3f9cc23c7fac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1793354
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1439b6d5
|
2019-09-06T07:27:49
|
|
Vulkan: Fix integer overflow for max per stage and combined uniform buffers.
This was causing dEQP-GLES3.functional.implementation_limits.max_fragment_uniform_blocks and dEQP-GLES3.functional.implementation_limits.max_combined_uniform_blocks to fail on Vulkan drivers that expose > INT_MAX maxPerStageDescriptorUniformBuffers or maxDescriptorSetUniformBuffers limits.
Bug: angleproject:3824
Change-Id: I6c5a328ddefa43fedb2361448fe4cbe6c405ef4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1734786
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
4fdeb8d2
|
2019-09-12T10:08:15
|
|
Vulkan: Reduce uniform block dynamic buffer size.
This is to fit in the minimum required Vulkan limits that SwiftShader
exposes.
Bug: angleproject:3876
Bug: b/140251624
Change-Id: If1a36fc578675ebb07d3f6546689709882c174f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1801264
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f421e0e3
|
2019-09-11T16:19:45
|
|
Make angle_deqp_gles*_tests use discrete GPU for test expectations.
Bug: chromium:1003030
TEST=bots
R=kbr@chromium.org
Change-Id: I1717f39f9573f0161fe19e63ce49ef4e618dc07f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1799323
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
790abf03
|
2019-08-28T13:57:52
|
|
Vulkan: Support program interface queries for inputs
Program interface queries are a generic way to query attributes of
the program like uniforms, samplers, attributes, etc. This change
supports those queries for program inputs.
Bug: angleproject:3596
Test: dEQP-GLES31.functional.program_interface_query.*
Test: ProgramInterfaceTest.cpp
Change-Id: Ie904274f4efd87357256f559b69e148e8eda6119
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775458
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
d1c4a6d6
|
2019-09-07T09:33:57
|
|
Add final to class TIntermPreprocessorDirective
Suppresses this new warning in clang 10:
IntermNode.h:971:37: warning: class with destructor marked 'final' cannot be inherited from [-Wfinal-dtor-non-final-class]
~TIntermPreprocessorDirective() final;
BUG=angleproject:3903
Change-Id: I26a2fe1440653c83cf1b0498ee3bff0829a10145
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1789930
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8ac49e18
|
2019-09-04T17:38:22
|
|
Fix dEQP renderbuffer unspecified attachment test.
The spec mandates default sizes of 0 for everything, while we
assume a non-initialized Renderbuffer is RGBA4.
Bug: angleproject:2321
Test: dEQP-GLES3.functional.state_query.fbo.framebuffer_unspecified_attachment_x_size_rbo
Change-Id: I7defbdda46fc90dc3672628667c710a8304473b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785881
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
d9456b25
|
2019-09-11T08:21:14
|
|
Vulkan: Enable further dEQP 3.1 tests
As TimVP pointed out, a previous change enabled some previously-skipped
texture gather 2d_array tests. Enabling them.
Bug: angleproject:3605
Bug: angleproject:3189
Change-Id: I3ad190131339a04441fdd05e23ff3b7ac724dc83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1797655
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
0b8eca79
|
2019-09-10T10:39:40
|
|
Capture/Replay: Fix CaptureShaderSource_string.
Was accessing a buffer out-of-bounds. Also wasn't handling negative
length.
Test: ASAN build
Bug: angleproject:3611
Change-Id: I0f1cfa09d0488de20928d90e910803d98c225968
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1796082
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
79ad0411
|
2019-09-09T15:05:37
|
|
Vulkan:Pass through min/max program texel offset
The Vulkan min/maxTexelGatherOffset VkPhysicalDeviceLimits correspond to
OpenGL's GL_MIN/MAX_PROGRAM_TEXTURE_GATHER_OFFSET params. Pass them
directly through.
Bug: angleproject:3605
Change-Id: Ic6a22bbe30ee2b0baaeaa62b6e26dc844c2ad82d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1793357
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
58c5b07b
|
2019-09-06T12:45:55
|
|
Replace Issue 3221 with 2672 in deqp_gles3_test_expectations.txt
Issue 2672 is tracking the work required to support instanced rendering
with Vulkan backend when the extension VK_EXT_vertex_attribute_divisor
is not present on the device. That work is required to pass the tests
currently marked "FAIL" and GLES 3.0 conformance.
Bug: angleproject:2672
Test: None
Change-Id: I11e3a7a7a9482b4eb3d5f5c7dbf14caec7fff00e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1790362
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
46c88567
|
2019-09-04T11:17:49
|
|
Correct glCompressedTexSubImage3D() Parameter Checking
GL_INVALID_OPERATION is generated if format is an ETC2/EAC format and
the target is not GL_TEXTURE_2D_ARRAY.
Bug: angleproject:3895
Test: dEQP-GLES3.functional.negative_api.texture.compressedtex*image3d
Test: KHR-GLES2.texture_3d.compressed_texture.negative_compressed_tex_image
Change-Id: I7f653192328f0bb067cc4a0c0285a2d3acec7024
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784060
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c1af9abf
|
2019-08-28T14:35:32
|
|
Add support for overriding internal format for D3D11 texture EGLImages
Add an optional EGL_D3D11_TEXTURE_FORMAT_ANGLE attribute that is the
GL internal format to use for EGLImage being created. This will be used
for RGB emulation of swap chain texture backed WebGL contexts in Chrome
when they have alpha:false set. Without RGB emulation it is possible to
observe side-effects of the underlying swap chain being RGBA such as
reading/writing the alpha channel, BlitFramebuffer working/not working
when expected, etc.
Also document creating EGLImages from D3D11 textures in the existing
EGL_ANGLE_d3d_texture_client_buffer extension along with RGB emulation.
Bug: chromium:699566, chromium:939657
Change-Id: I4931cb7bdc46e9bc6debd56b79ecc10ea27bd78b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1777099
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
|
|
263e08b6
|
2019-09-09T12:15:53
|
|
Vulkan: Enable Previously Failing texstorage3d Tests for Pixel 2
The following tests were failing on Pixel 2, but appear to be passing
now. I'm not sure what fixed them, but there has been a lot of work with
3D textures recently.
Bug: angleproject:3816
Test: dEQP-GLES3.functional.texture.specification.texstorage3d.format.rgba16*
Test: dEQP-GLES3.functional.texture.specification.texstorage3d.format.rgb16*
Test: dEQP-GLES3.functional.texture.specification.texstorage3d.format.rg32*
Change-Id: I0ab7be4685fc0c6879ad83c7402798e2237649a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1791276
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
f29125be
|
2019-08-27T10:31:24
|
|
Update the rules for unsized float renderability.
dEQP uses the following rules for unsized float format renderability in
ES2:
HALF_FLOAT_OES + RED : GL_EXT_texture_rg and GL_OES_texture_half_float
HALF_FLOAT_OES + RG : GL_EXT_texture_rg and GL_OES_texture_half_float
HALF_FLOAT_OES + RGB : GL_EXT_color_buffer_half_float and GL_OES_texture_half_float
HALF_FLOAT_OES + RGBA: GL_EXT_color_buffer_half_float and GL_OES_texture_half_float
FLOAT + RED : GL_EXT_texture_rg and GL_OES_texture_float
FLOAT + RG : GL_EXT_texture_rg and GL_OES_texture_float
FLOAT + RGB : never
FLOAT + RGBA: never
BUG=angleproject:3283
Change-Id: I4c4c0d290d2c7dec45419a0765fa27b79f0ad774
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773304
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
|
|
eb4f2d50
|
2019-09-04T16:56:25
|
|
Fix WebKit iOS build
WebKit's iOS and Mac builds do conditional compilation with preprocessor
directives rather than relying on the build system. Cocoa.h is not available on
iOS, so these Objective-C files must be conditionally compiled.
Bug: angleproject:3439
Change-Id: I8a1228f5b14ca6441c7d9a7f1c3f45d060003135
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785653
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a7ff7df2
|
2019-09-03T11:22:21
|
|
Vulkan: Improve wording of PresentSemaphores.md
Bug: angleproject:3450
Change-Id: Iee5360a7b9cced403c08b7883fa11420e250244f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784065
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
32d6006b
|
2019-09-06T10:10:08
|
|
Don't block setting the DEPTH_STENCIL attachment based on the resource format.
By blocking the attachment at this point, it doesn't allow for the resource to
have a depth stencil format later.
BUG=997702
Change-Id: Iec5243012cb9a9527c5b1467d44c393b0dc6bddc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1780898
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
90a58622
|
2019-09-04T15:39:58
|
|
Refactor ShaderVariable to Remove Specializations
The following structs are being refactored and moved into the parent
struct ShaderVariable:
VariableWithLocation
Uniform
Attribute
OutputVariable
InterfaceBlockField
Varying
Bug: angleproject:3899
Test: CQ
Change-Id: I389eb3ab4ed44a360e09fca75ecc78d64a277f83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785877
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
66e0feec
|
2019-09-03T18:45:43
|
|
Remove default template args in ResourceMap.
Only need GLuints now for GLsyncs.
Bug: angleproject:3611
Change-Id: Id8b11851d8d5d30e6743433c772b9fa85eb875f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1783406
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d0e56cc6
|
2019-08-27T09:35:30
|
|
Add fallback to write GLenum as hex in capture
1. Add extension 'GL_ANGLE_program_binary' to registry_xml.py, this
extension brings enum 'GL_PROGRAM_BINARY_ANGLE' which ANGLE already
supports.
2. Add a fallback for converting GLenum and GLbitfield to string, for
any GLenum value not found in the conversion table, write out its hex
value instead of 'EnumUnknown'. It prevents GLenum from some
unregistered extensions breaking the frame capture.
Bug: angleproject:3804
Change-Id: I36a676305fbbcff2173bbc9f818ff589abe51434
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775028
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
0c35e0f4
|
2019-09-03T11:29:57
|
|
Add null default backend environment variable option
ANGLE_DEFAULT_PLATFORM environment variable now accepts 'null' as
a valid option. This will set the default platform type to the
null backend.
Bug: angleproject:3893
Change-Id: Ieddcdf3ae840f927c1b276e56f3b753b67d9b73d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784062
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
7e44ec26
|
2019-08-26T15:59:48
|
|
GL_EXT_multisampled_render_to_texture extension. Part 1.
Adding new parameters for extension without adding any real code change. Since no new code paths were added, we expect all tests to pass as before.
Bug: angleproject:980428
Change-Id: I551b46a66f422eabd357fd021e00cf266a991efb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1772377
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1f2782e0
|
2019-08-29T14:19:23
|
|
Vulkan: fix unsized internalformat depth sampling
Many implementations provide OES_depth_texture behavior if the
texture was specified with a non-sized format (e.g. GL_DEPTH_COMPONENT).
This change implements that behavior for Vulkan and adds a couple of
tests to verify it.
Bug: angleproject:3890
Change-Id: I005b1eaa30db033f7d78a5cf2236aab7f442b7f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764301
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
26a87516
|
2019-09-03T17:04:13
|
|
Remove overlay font hash from codegen.
This prevents a presubmit error on Windows. Seems like the binary file
differs somehow. Remove it from the hashes until we can investigate.
Bug: angleproject:3892
Change-Id: I4f06dbe37e3e02f9905654d202a8b4fba78b9323
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1783403
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c3f7873b
|
2019-08-30T15:00:52
|
|
Use TransformFeedbackID in place of GLuint handle
Bug: angleproject:3804
Change-Id: Ib8fbec89f28645790df98a184f47303f4a8d64c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779343
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
feb8507f
|
2019-09-03T13:22:04
|
|
Use VertexArrayID in place of GLuint handle
Bug: angleproject:3804
Change-Id: I0454533eff13218a6aa1e1672ffcd0e76aedb399
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769716
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
050b124d
|
2019-06-30T03:26:18
|
|
Reland "Vulkan: Debug overlay"
This is a reland of e54d0f90d1a165404236fd7abd1b05ddd041a686
This was reverted due to a build failure as a result of a missing
virtual destructor in the widget base class.
Original change's description:
> Vulkan: Debug overlay
>
> A debug overlay system for the Vulkan backend designed with efficiency
> and runtime configurability in mind. Overlay widgets are of two
> fundamental types:
>
> - Text widgets: A single line of text with small, medium or large font.
> - Graph widgets: A bar graph of data.
>
> Built on these, various overlay widget types are defined that gather
> statistics. Five such types are defined with one widget per type as
> example:
>
> - Count: A widget that counts something. VulkanValidationMessageCount
> is an overlay widget of this type that shows the number of validation
> messages received from the validation layers.
> - Text: A generic text. VulkanLastValidationMessage is an overlay
> widget of this type that shows the last validation message.
> - PerSecond: A value that gets reset every second automatically. FPS is
> an overlay widget of this type that simply gets incremented on every
> swap().
> - RunningGraph: A graph of last N values. VulkanCommandGraphSize is an
> overlay of this type. On every vkQueueSubmit, the number of nodes in
> the command graph is accumulated. On every present(), the value is
> taken as the number of nodes for the whole duration of the frame.
> - RunningHistogram: A histogram of last N values. Input values are in
> the [0, 1] range and they are ranked to N buckets for histogram
> calculation. VulkanSecondaryCommandBufferPoolWaste is an overlay
> widget of this type. On vkQueueSubmit, the memory waste from command
> buffer pool allocations is recorded in the histogram.
>
> Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py
> processes to create an array of bits, which is processed at runtime to
> create the actual font image (an image with 3 layers).
>
> The overlay widget layout is defined in overlay_widgets.json which
> gen_overlay_widgets.py processes to generate an array of widgetss, each
> of its respective type, and sets their properties, such as color and
> bounding box. The json file allows widgets to align against other
> widgets as well as against the framebuffer edges.
>
> Two compute shaders are implemented to efficiently render the UI:
>
> - OverlayCull: This shader creates a bitset of Text and Graph widgets
> whose bounding boxes intersect a corresponding subgroup processed by
> OverlayDraw. This is done only when the enabled overlay widgets are
> changed (a feature that is not yet implemented) or the surface is
> resized.
> - OverlayDraw: Using the bitsets generated by OverlayCull, values that
> are uniform for each workgroup (set to be equal to hardware subgroup
> size), this shader loops over enabled widgets that can possibly
> intersect the pixel being processed and renders and blends in texts
> and graphs. This is done once per frame on present().
>
> Currently, to enable overlay widgets an environment variable is used.
> For example:
>
> $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste
> $ ./hello_triangle --use-angle=vulkan
>
> Possible future work:
>
> - On Android, add settings in developer options and enable widgets based
> on those.
> - Spawn a small server in ANGLE and write an application that sends
> enable/disable commands remotely.
> - Implement overlay for other backends.
>
> Bug: angleproject:3757
> Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:3757
Change-Id: I47915d88b37b6f882c686c2de13fca309a10b572
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1780897
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
03f93cf0
|
2019-08-30T08:53:30
|
|
ANGLE test fixture leaking.
Adding code in ANGLETestEnvironment::TearDown() to release fixtures if exists.
Bug: angleproject:3875
Change-Id: I0d6ad9b8c72937b20a4c3033b86eb667b546e0c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778841
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
44a0e734
|
2019-09-02T13:55:59
|
|
Re-enable -Wextra-semi-stmt.
Now that the DEPS roller is fixed this should not be able to
break the CQ.
Bug: angleproject:3128
Change-Id: I0f51b5d8a7b71859cced335ca9bd6ad155637ec5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781619
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
04d3de54
|
2019-09-02T13:35:23
|
|
Vulkan: Update dEQP-GLES2 Android test expectations.
dEQP-GLES2.functional.depth_stencil_clear.depth_scissored_masked
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center
dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner
dEQP-GLES2.functional.rasterization.primitives.line*
dEQP-GLES2.functional.texture.mipmap.cube.generate.*
dEQP-GLES2.functional.shaders.builtin_variable.pointcoord
dEQP-GLES2.functional.texture.mipmap.cube.projected.nearest_linear
Bug: angleproject:2463
Bug: angleproject:2609
Bug: angleproject:2727
Bug: angleproject:2830
Bug: angleproject:3307
Bug: angleproject:3241
Bug: angleproject:3253
Change-Id: I76a0ca0e6a87c5a81f9209960e94fbd39d9b2484
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781618
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9deb3bfa
|
2019-08-23T15:57:50
|
|
Use MemoryObjectID in place of GLuint handle
Bug: angleproject:3804
Change-Id: I7ca86089fe1e72c136c0fc1947ad43cecee122eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769544
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a3c7c2ff
|
2019-09-02T13:17:26
|
|
Vulkan: Lift failing Wintel test expectation.
MaxTextureSizeTest.SpecificationTexImage
Bug: angleproject:2690
Change-Id: I19aad34e7213fe34af434f368968a06adc31ab55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781617
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
91180c48
|
2019-09-02T14:33:11
|
|
Also skip ComputeShaderTest.UniformDirty/ES3_1_Vulkan on Win/NVIDIA
The test is failing since the suppression was lifted.
BUG=angleproject:3879
Change-Id: Ic2d45db7f7e2388c0c0040183c8760ee6a8fcb08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778863
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
fc58af47
|
2019-09-02T07:46:44
|
|
Revert "Vulkan: Debug overlay"
This reverts commit e54d0f90d1a165404236fd7abd1b05ddd041a686.
Reason for revert: causes compile failure on Linux CFI bot.
Sample build: https://ci.chromium.org/p/chromium/builders/ci/Linux%20CFI/14810
Sample log: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8903575125463586160/+/steps/compile/0/stdout?format=raw
Original change's description:
> Vulkan: Debug overlay
>
> A debug overlay system for the Vulkan backend designed with efficiency
> and runtime configurability in mind. Overlay widgets are of two
> fundamental types:
>
> - Text widgets: A single line of text with small, medium or large font.
> - Graph widgets: A bar graph of data.
>
> Built on these, various overlay widget types are defined that gather
> statistics. Five such types are defined with one widget per type as
> example:
>
> - Count: A widget that counts something. VulkanValidationMessageCount
> is an overlay widget of this type that shows the number of validation
> messages received from the validation layers.
> - Text: A generic text. VulkanLastValidationMessage is an overlay
> widget of this type that shows the last validation message.
> - PerSecond: A value that gets reset every second automatically. FPS is
> an overlay widget of this type that simply gets incremented on every
> swap().
> - RunningGraph: A graph of last N values. VulkanCommandGraphSize is an
> overlay of this type. On every vkQueueSubmit, the number of nodes in
> the command graph is accumulated. On every present(), the value is
> taken as the number of nodes for the whole duration of the frame.
> - RunningHistogram: A histogram of last N values. Input values are in
> the [0, 1] range and they are ranked to N buckets for histogram
> calculation. VulkanSecondaryCommandBufferPoolWaste is an overlay
> widget of this type. On vkQueueSubmit, the memory waste from command
> buffer pool allocations is recorded in the histogram.
>
> Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py
> processes to create an array of bits, which is processed at runtime to
> create the actual font image (an image with 3 layers).
>
> The overlay widget layout is defined in overlay_widgets.json which
> gen_overlay_widgets.py processes to generate an array of widgetss, each
> of its respective type, and sets their properties, such as color and
> bounding box. The json file allows widgets to align against other
> widgets as well as against the framebuffer edges.
>
> Two compute shaders are implemented to efficiently render the UI:
>
> - OverlayCull: This shader creates a bitset of Text and Graph widgets
> whose bounding boxes intersect a corresponding subgroup processed by
> OverlayDraw. This is done only when the enabled overlay widgets are
> changed (a feature that is not yet implemented) or the surface is
> resized.
> - OverlayDraw: Using the bitsets generated by OverlayCull, values that
> are uniform for each workgroup (set to be equal to hardware subgroup
> size), this shader loops over enabled widgets that can possibly
> intersect the pixel being processed and renders and blends in texts
> and graphs. This is done once per frame on present().
>
> Currently, to enable overlay widgets an environment variable is used.
> For example:
>
> $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste
> $ ./hello_triangle --use-angle=vulkan
>
> Possible future work:
>
> - On Android, add settings in developer options and enable widgets based
> on those.
> - Spawn a small server in ANGLE and write an application that sends
> enable/disable commands remotely.
> - Implement overlay for other backends.
>
> Bug: angleproject:3757
> Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=geofflang@chromium.org,syoussefi@chromium.org,jmadill@chromium.org
Bug: angleproject:3757
Change-Id: Ib08e2e7b1a9449ca097673acb11655df5d2bbf31
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778862
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
791ad7b8
|
2019-08-26T15:38:20
|
|
Vulkan: Enable more GLES3.1 dEQP tests
Various features already implemented hadn't removed suppressions for
GLES 3.1.
Bug: angleproject:3205
Bug: angleproject:3208
Bug: angleproject:3561
Bug: angleproject:3604
Change-Id: I1cfc5d2150fae6b138fa21a37f8e95cb7d764770
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771989
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
912e52d8
|
2019-08-23T00:25:09
|
|
Vulkan: Storage image support
Image bindings are placed after atomic counters in the "resources"
descriptor set.
There are two issues yet to be addressed:
- GL can create a 2D (array) view of a 3D image, but this is not allowed
in Vulkan. If this cannot be made possible, emulation needs to be
done.
https://github.com/KhronosGroup/Vulkan-Docs/issues/1033
- GL can create an image view of a texture with a different format and
have the data reinterpreted. This is not currently done.
Bug: angleproject:3563
Change-Id: I95c4d92c50bb033212a9a67f3f2d6f97c074c7bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767366
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
93bb092f
|
2019-08-31T13:44:28
|
|
Fix build error
Result of simultaneous submission of two CLs.
Bug: angleproject:3757
Change-Id: I0e11678633587421f83d337958a1df28a694cf2e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778967
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e54d0f90
|
2019-06-30T03:26:18
|
|
Vulkan: Debug overlay
A debug overlay system for the Vulkan backend designed with efficiency
and runtime configurability in mind. Overlay widgets are of two
fundamental types:
- Text widgets: A single line of text with small, medium or large font.
- Graph widgets: A bar graph of data.
Built on these, various overlay widget types are defined that gather
statistics. Five such types are defined with one widget per type as
example:
- Count: A widget that counts something. VulkanValidationMessageCount
is an overlay widget of this type that shows the number of validation
messages received from the validation layers.
- Text: A generic text. VulkanLastValidationMessage is an overlay
widget of this type that shows the last validation message.
- PerSecond: A value that gets reset every second automatically. FPS is
an overlay widget of this type that simply gets incremented on every
swap().
- RunningGraph: A graph of last N values. VulkanCommandGraphSize is an
overlay of this type. On every vkQueueSubmit, the number of nodes in
the command graph is accumulated. On every present(), the value is
taken as the number of nodes for the whole duration of the frame.
- RunningHistogram: A histogram of last N values. Input values are in
the [0, 1] range and they are ranked to N buckets for histogram
calculation. VulkanSecondaryCommandBufferPoolWaste is an overlay
widget of this type. On vkQueueSubmit, the memory waste from command
buffer pool allocations is recorded in the histogram.
Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py
processes to create an array of bits, which is processed at runtime to
create the actual font image (an image with 3 layers).
The overlay widget layout is defined in overlay_widgets.json which
gen_overlay_widgets.py processes to generate an array of widgetss, each
of its respective type, and sets their properties, such as color and
bounding box. The json file allows widgets to align against other
widgets as well as against the framebuffer edges.
Two compute shaders are implemented to efficiently render the UI:
- OverlayCull: This shader creates a bitset of Text and Graph widgets
whose bounding boxes intersect a corresponding subgroup processed by
OverlayDraw. This is done only when the enabled overlay widgets are
changed (a feature that is not yet implemented) or the surface is
resized.
- OverlayDraw: Using the bitsets generated by OverlayCull, values that
are uniform for each workgroup (set to be equal to hardware subgroup
size), this shader loops over enabled widgets that can possibly
intersect the pixel being processed and renders and blends in texts
and graphs. This is done once per frame on present().
Currently, to enable overlay widgets an environment variable is used.
For example:
$ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste
$ ./hello_triangle --use-angle=vulkan
Possible future work:
- On Android, add settings in developer options and enable widgets based
on those.
- Spawn a small server in ANGLE and write an application that sends
enable/disable commands remotely.
- Implement overlay for other backends.
Bug: angleproject:3757
Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c3f57231
|
2019-08-28T15:00:46
|
|
Vulkan: revamp present semaphore management
See doc/PresentSemaphores.md for details.
Bug: angleproject:3450
Bug: angleproject:3670
Change-Id: I52d5bd13a4af25f224d386c9584525c182af6f17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776880
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f0640bc3
|
2019-08-23T10:26:25
|
|
Use SemaphoreID in place of GLuint handle
Bug: angleproject:3804
Change-Id: Iabaae60ed7cbbe423bf768c506099d26cf0dedcf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768978
Commit-Queue: Jiacheng Lu <lujc@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d2766ce7
|
2019-08-30T15:26:17
|
|
Vulkan: Generalize ICD decision for loader.
This will allow a more flexible introduction of other ICDs like
SwiftShader. Refactoring change only.
Bug: angleproject:3876
Change-Id: I6883225645e0f961f699366368bebccd9812aaec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775463
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
0b1fbcff
|
2019-08-30T15:05:12
|
|
Vulkan: Make vk::ImageView pointers const
Bug: angleproject:3563
Change-Id: I8b6415dd9508941d093f36e7ded72d25f571b6f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779204
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2b7e2acb
|
2019-08-30T13:26:37
|
|
Vulkan: Move loader defines into BUILD.gn.
We shouldn't need the extra loader defines config variable. The defines
we need should probably be able to be located in ANGLE entirely.
Bug: angleproject:3320
Bug: angleproject:3876
Change-Id: I78f449f44c1709b6d683930f9b9ea3d80016272e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775462
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2c5d48a6
|
2019-08-23T09:28:35
|
|
Use FramebufferID in place of GLuint handle
Bug: angleproject:3804
Change-Id: I5e1b5f1903b05a91468379e00ec130802315cdc2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769039
Reviewed-by: Jiacheng Lu <lujc@google.com>
Commit-Queue: Jiacheng Lu <lujc@google.com>
|
|
f0dd087e
|
2019-08-23T15:45:34
|
|
Move timer functionality from util/ to common/
The main timer functionality (get absolute time) is moved to common/ for
use in ANGLE itself (in upcoming overlay change). util/Timer.h is no
longer an abstract class and uses this functionality to implement the
timer.
Bug: angleproject:3757
Change-Id: I3fe418778d80d1089c9bfe43a9e8098e43236f18
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769061
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
eb68081e
|
2019-08-28T15:28:54
|
|
Vulkan: Split Vulkan docs from README.md into doc/
This is in preparation for adding more docs and migrating internal ones.
Bug: angleproject:1944
Change-Id: I7aa4d708c9cd6134ef4ded00a82890448988ce9e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773907
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dca10129
|
2019-08-29T16:48:37
|
|
SystemInfo: Add Google VendorID.
This enables SwiftShader detection.
Bug: angleproject:3876
Change-Id: Ic4ebfb5b431771c31298af7349d0370df913e596
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773853
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
56ba54cc
|
2019-08-08T13:03:34
|
|
Support separate read and draw surfaces in eglMakeCurrent
Update ANGLE's default framebuffer implementation to support reading
and writing to different surfaces within the same framebuffer.
Bug: angleproject:2620
Test: EGLSurfaceTest[3]
Change-Id: I4b1ea04ca87a751f80cf190bf3adec148fc4fce3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744746
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
120b61d3
|
2019-08-21T12:51:58
|
|
Use ShaderProgramID in place of GLuint handles
Bug: angleproject:3804
Change-Id: I5dc640004c2cc054c53261e8e939b6a9f5fc23bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762363
Commit-Queue: Jiacheng Lu <lujc@google.com>
Reviewed-by: Tobin Ehlis <tobine@google.com>
|
|
aae21ef6
|
2019-08-29T21:56:06
|
|
Revert "Reland "Vulkan: Use VK repos' internal BUILD.gn files""
This reverts commit 0ad1559f3ae95efecaa209f990987d3ce4ebd150.
Reason for revert: linux-rel no-op build issue showing up in Chromium integration. Tracking in chromium:997016
Original change's description:
> Reland "Vulkan: Use VK repos' internal BUILD.gn files"
>
> This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6
>
> Original change's description:
> > Vulkan: Use VK repos' internal BUILD.gn files
> >
> > This retires custom BUILD.gn files for the Vulkan Headers, Tools,
> > Validation-Layers, and Loader repos. They now have integrated BUILD.gn
> > files so switched ANGLE to use those by default.
> > Also Validation Layer, Loader, and Tools repos no longer uses codegen
> > so this speeds up the build overall.
> > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
> > to VK_LAYER_KHRONOS_validation unified layer.
> >
> > This changes includes a temporary workaround to the Vulkan-Loader repo
> > to remove its Window's build dependence on WDK. There are plans to
> > remove that depenedence in Loader master, but until then we can use
> > our custom branch workaround.
> > It also includes a custom branch for validation layers that includes
> > some build fixes for ANGLE.
> > Finally, the layers were crashing on Android when attempting to use
> > DebugUtils extension so forcing DebugReport on Android for now.
> >
> > Bug: angleproject:2449
> > Bug: angleproject:3320
> > Bug: angleproject:3852
> > Bug: chromium:997009
> > Bug: chromium:997016
> > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> > Reviewed-by: Jamie Madill <jmadill@chromium.org>
> > Commit-Queue: Tobin Ehlis <tobine@google.com>
>
> Bug: angleproject:2449, angleproject:3320, angleproject:3852
> Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036
> Commit-Queue: Tobin Ehlis <tobine@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org
Change-Id: I88afdaff07e9f414f9de02f6d3651eaba9a5045f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: angleproject:2449, angleproject:3320, angleproject:3852
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776920
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
0ad1559f
|
2019-07-18T15:10:49
|
|
Reland "Vulkan: Use VK repos' internal BUILD.gn files"
This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6
Original change's description:
> Vulkan: Use VK repos' internal BUILD.gn files
>
> This retires custom BUILD.gn files for the Vulkan Headers, Tools,
> Validation-Layers, and Loader repos. They now have integrated BUILD.gn
> files so switched ANGLE to use those by default.
> Also Validation Layer, Loader, and Tools repos no longer uses codegen
> so this speeds up the build overall.
> Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
> to VK_LAYER_KHRONOS_validation unified layer.
>
> This changes includes a temporary workaround to the Vulkan-Loader repo
> to remove its Window's build dependence on WDK. There are plans to
> remove that depenedence in Loader master, but until then we can use
> our custom branch workaround.
> It also includes a custom branch for validation layers that includes
> some build fixes for ANGLE.
> Finally, the layers were crashing on Android when attempting to use
> DebugUtils extension so forcing DebugReport on Android for now.
>
> Bug: angleproject:2449
> Bug: angleproject:3320
> Bug: angleproject:3852
> Bug: chromium:997009
> Bug: chromium:997016
> Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Tobin Ehlis <tobine@google.com>
Bug: angleproject:2449, angleproject:3320, angleproject:3852
Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d8e821aa
|
2019-08-29T12:38:35
|
|
Expand the TextureGL::releaseTexImage size reset workaround to Win AMD.
Windows 10 AMD drivers have also had issues with generating errors when calling
glTexImage2D with zero size after unbinding a surface.
BUG=angleproject:3859
Change-Id: Iae3e31418b6c89056d0d4aab954519598d8f25f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775111
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
d3b31037
|
2019-08-29T13:45:43
|
|
Vulkan: DispatchIndirect in graph dump output
Bug: angleproject:3601
Change-Id: Ib7e5abea3a9fced88f415c6395a3f790aadafdaa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776008
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
324b3915
|
2019-08-29T08:19:11
|
|
Vulkan: Fix compute shader bug affecting 10_10_10_2 formats
When the source format is 10_10_10_2, valueBits needs to be
"2" if the component is "3" i.e, the alpha channel. It was
incorrectly set to "10" for all components
Bug: angleproject:3866
Change-Id: If206c63d704a7a485681e483e12ae9ab611b0d99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775105
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
|
|
c43852aa
|
2019-08-27T13:38:29
|
|
Various fixes for frame capture
1. Use contextId as identifier to separate captures for different GL
context.
2. Fix write string params. In order to keep consistent between replay
and capture, changes have been made to store C style string (with '\0'
suffix) for string param capture, which breaks cpp frame capture. This
change fixes it.
3. On Android device, it use a custom path to save captures and it
breaks the loadBinaryData(). Here differentiate file name and file path
to fix it.
Bug: angleproject:3804
Change-Id: I378cf26697d15f0c1a8cf7afea2b758f5c58498b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774469
Commit-Queue: Jiacheng Lu <lujc@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5d27a696
|
2019-08-13T11:29:07
|
|
Support separable shader programs
The spec states:
Shader stages including vertex shaders, fragment shaders, and compute
shaders...A single program object can contain all of these shaders, or
any subset thereof.
This change allows shader programs without a fragment shader. The
biggest driver of this change is dEQP since a large number of tests
create shader programs without a fragment shader.
Bug: angleproject:3803
Test: dEQP-GLES31.functional.program_interface_query
Change-Id: Id6cb098c62a1489a14b9ec1b31bd4cd59f655e49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752010
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
378c1881
|
2019-08-22T16:55:39
|
|
Use ProgramPipelineID in place of GLuint handle
Bug: angleproject:3804
Change-Id: Ice37a4b3d43008e5bcd5d0a7528514d5bb504066
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767322
Reviewed-by: Jiacheng Lu <lujc@google.com>
Commit-Queue: Jiacheng Lu <lujc@google.com>
|
|
8933de85
|
2019-08-28T13:04:47
|
|
Vulkan: Expose EXT_instanced_arrays
Implemented in
https://chromium-review.googlesource.com/c/angle/angle/+/1452740
was missing exposure from the Vulkan backend.
Bug: angleproject:3105
Change-Id: If82e6f3dfa5ff8fafbc401258a5e324ea311123d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773906
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7b5744f4
|
2019-08-22T16:26:35
|
|
Use PathID in place of GLuint handle
Bug: angleproject:3804
Change-Id: Ibadfc2c33e4af1cca22caa1dbe96ac48a4a85ffa
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1766822
Reviewed-by: Jiacheng Lu <lujc@google.com>
Commit-Queue: Jiacheng Lu <lujc@google.com>
|
|
83785d06
|
2019-08-28T10:56:24
|
|
Supress dEQP ETC texture tests on Mac.
These tests generate native GL errors because ETC formats are not supported.
The test does not verify the data so it previously passed.
BUG=angleproject:3853
Change-Id: I21ed60f46031fe9fdc3a38c6a9a1e9197c56a5eb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774471
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
780bdace
|
2019-08-28T09:56:19
|
|
Suppress error messages in ANGLE end2end tests on Nexus6P.
GL errors are generated during initialization on this device. Suppress
them until enough logging is in place to debug.
BUG=998503
BUG=angleproject:3020
Change-Id: I74a51a661a930ea89b0234dcb3e6213288e75c86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774468
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
566c2e3c
|
2019-08-28T18:37:58
|
|
Suppress correct failure on Android FYI Release (NVIDIA Shield TV)
TBR=geofflang@chromium.org
BUG=chromium:998505
Change-Id: I8e49ee063c2e06f5031a288c5fe32fd7683fcd7d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774723
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
814a0a1b
|
2019-08-22T11:50:43
|
|
Use QueryID in place of GLuint handle
Bug: angleproject:3804
Change-Id: I921bbe7f67c025ab2b624fe14530c04ac17346f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1765889
Reviewed-by: Jiacheng Lu <lujc@google.com>
Commit-Queue: Jiacheng Lu <lujc@google.com>
|
|
7cd5f64a
|
2019-08-21T20:03:49
|
|
Move default ANGLE platform type out of main switch/case
The "default" platform type isn't really a discrete type, and treating it
that way leads to duplication. Make the default platform just map to
another platform enum.
After this change, setting args to angle_enable_opengl=false
angle_enable_vulkan=true under X11 results in a default of vulkan;
previously we would hit UNREACHABLE() due to not handling this case.
Bug: angleproject:3847
Change-Id: I1dc093ef8a2f5b93721cb1ebda0a8c3ec4a7d2f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521321
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
|
|
f8e8fcf8
|
2019-08-26T15:28:32
|
|
Suppress crashing perftests on Win Intel Exp Rel
Also moves ANGLE_SKIP_TEST_IF to a header shared between end2end and
perf tests.
BUG=chromium:997674
Change-Id: I7c5968e6d861c4bff703ddc6ae0e4e021e47061f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768374
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7f00d338
|
2019-08-28T15:19:16
|
|
Suppress end2end tests failures on Android FYI Release (NVIDIA Shield TV)
These were fixed on desktop drivers but not this Android driver.
TBR=geofflang@chromium.org
BUG=chromium:998505
Change-Id: Ie5f434c52753beff4d8f119713ef55f229ee7b95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773253
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
05114fe7
|
2019-08-09T15:45:56
|
|
Support in memory frame capture replay
Enable FrameCapture to dispatch its calls back to Context and replay
them.
Bug: angleproject:3785
Change-Id: I580eff1fca3e39414a9b45bb296e0f3866ea33bc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1747055
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
886698bc
|
2019-08-27T16:48:07
|
|
Vulkan: Style cleanups to TextureVk.
Pass params by const & and use "CPU instead of "Cpu" naming. Also
prefer "ContextVk *contextVk" to "ContextVk *context".
Bug: angleproject:2464
Change-Id: I887de5b2e5494d14f0e9c7db269eb63744f2a3cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771499
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9288dcf6
|
2019-08-27T15:00:35
|
|
Vulkan: Remove command buffer param from initImage.
This method didn't use the parameter. Removing it simplifies the code.
Bug: angleproject:2464
Change-Id: Ib8f5f649f66eae405fb91f7cfcc8cefc4c44bda2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771992
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|