Граф коммитов

9420 Коммитов

Автор SHA1 Сообщение Дата
Jamie Madill e3bb6b796f Update Textures immediately on program change.
Instead of deferring this work, we can process it immediately. We have
access to the information we need in the prior and current states so
can optimize the update more effectively.

Bug: angleproject:2763
Change-Id: I77482b0ea490fddf403ccc4a4f32665301fd6e7a
Reviewed-on: https://chromium-review.googlesource.com/c/1254042
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-10-04 21:03:39 +00:00
Frank Henigman 49b0f6eb41 Vulkan: read pixel buffer alignment must be 4.
BUG=angleproject:2867

Change-Id: Ie14848bb464eea7f84d0ce523dff2cddf7a185d4
Reviewed-on: https://chromium-review.googlesource.com/c/1260256
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
2018-10-04 20:23:37 +00:00
Shahbaz Youssefi b4ead90b03 Roll VK and SPIR-V deps forward
An incorrect validation is preventing work on queries:

https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/269

Bug: angleproject:2855
Change-Id: I0454b74f714e69efcfa56e42ff751ffffacaf78c
Reviewed-on: https://chromium-review.googlesource.com/c/1258085
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2018-10-04 18:08:22 +00:00
Brandon Jones 76dd2d6f9f Change capitilization mismatch in 2D array shaders to fix clang error
In CL #1207216, the #include in blit11 and shader file name had
capitilization mismatches, which caused a clang error. This fixes the
issue.

Bug: angleproject:2762
Change-Id: I4760843beedaabfb83228e40289efaa6a767dec3
Reviewed-on: https://chromium-review.googlesource.com/c/1262017
Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2018-10-04 16:59:54 +00:00
Brandon Jones 4e6f2aeac2 Implement ANGLE_copy_texture_3d Extension
Adds copyTexture3DANGLE and copySubTexture3DANGLE that adds copy
operations on volumetric textures.

Bug: angleproject:2762
Test: angle_end2end_tests

Change-Id: I0076989c2b7ed69abfc73143c325065bdb06a360
Reviewed-on: https://chromium-review.googlesource.com/c/1207216
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-10-04 12:06:13 +00:00
Ian Elliott 5541a6c86a Change A4A opt-in/out log messages from DEBUG to VERBOSE.
DEBUG was useful for developing and turning on the code, but it's too
verbose to be used with the Android Q release.

Bug: angleproject:2794
Change-Id: I092567c25414cbba7f36ab94e191b1dcfe39fbcb
Reviewed-on: https://chromium-review.googlesource.com/c/1260102
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
2018-10-03 23:03:39 +00:00
Jamie Madill 1395134c34 Remove more uses of gl::ErrorOrResult.
Only gl::LinkResult remains.

Bug: angleproject:2753
Change-Id: I5e9c68c11453e8ab9db4908451957d7b3db0b110
Reviewed-on: https://chromium-review.googlesource.com/c/1254044
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-10-03 21:47:57 +00:00
Jamie Madill 4d422c2907 Vulkan: Move blit mipmap init to ImageHelper.
This hides the logic for manipulating the current layout and barriers
into the image helper. This will make it easier to implement implicit
pipeline barriers. It allows us to remove the updateLayout() hack.

Bug: angleproject:2828
Change-Id: I3e59872e66064e6b105c1f398b4212fb3a6be1a7
Reviewed-on: https://chromium-review.googlesource.com/1255506
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2018-10-03 16:49:24 +00:00
Jamie Madill c2116cd3af Vulkan: Update pipeline barrier interface.
This makes the vk::CommandBuffer class closer to an auto-generated
wrapper class.

Bug: angleproject:2828
Change-Id: I91ba03914a60d5612707dd240fcda25b86cf2c46
Reviewed-on: https://chromium-review.googlesource.com/1255505
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2018-10-03 16:46:44 +00:00
Jamie Madill c3bef3e7b0 Allow 'defined' in define in non-WebGL.
This is needed to pass dEQP conformance. Several of the harder dEQP
tests around this behaviour are excluded from the mustpass list. This
is presumably because the behaviours weren't implemented portably.
Nevertheless we need to support conformant behaviour for GLES 2.0
Contexts for the most simple uses.

This also leaves the error behaviour intact for WebGL specs.

Bug: angleproject:1335
Change-Id: Ia80b4f71475efa928488ee6c2ee35c566d4602d4
Reviewed-on: https://chromium-review.googlesource.com/c/1242013
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-10-03 13:23:05 +00:00
Tobin Ehlis 607f907d47 Vulkan: Add 565 configs for Android
Generate GL_RGB565 internal format configs for Android VK. This allows
apps requesting such formats to map to the appropriate corresponding
Android internal pixel format.

Bug: angleproject:2863
Change-Id: I18f119d6554a601037a40db27234bf33e0ada438
Reviewed-on: https://chromium-review.googlesource.com/c/1258083
Commit-Queue: Tobin Ehlis <tobine@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-10-02 21:19:45 +00:00
Jamie Madill 44a6fbfd95 Optimize resolveLink.
This changes the program query to resolve the link if required. If the
validation layer is skipped the link is resolved in the gl::Context.
Resolving the link on program query allows us to avoid resolving the
link on most of the gl::Program query APIs.

This improves inlining and particularly affects uniform update. It
fixes a performance regression introduced by the parallel shader
linking extension. Gives a 17% increased score on a uniform benchmark.

Also fixes two missing cases of checking for the extension in our
validation code.

Note that some bugs might still exist when the validation layer is
disabled.

Bug: angleproject:2851
Change-Id: I5d725eede3fa147cedf2ce0129791b3412a97a61
Reviewed-on: https://chromium-review.googlesource.com/1255509
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@google.com>
2018-10-02 20:11:08 +00:00
Jamie Madill df836ff8f1 Call onProgramExecutableChange in useProgram.
This cleans up the code slightly and removes a few if checks.
Also fixes a potential edge case with ProgramBinary called on a program
that is in-use.

Bug: angleproject:2763
Change-Id: Ibe0ab20ed44f593bb6c2b0612871680a7df1a15f
Reviewed-on: https://chromium-review.googlesource.com/1254041
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-10-02 17:36:46 +00:00
Jamie Madill 0da73fedd9 Vulkan: Add dumping of the command graph to GraphViz.
Dot files are a graph format that can be visualized with GraphViz.
Giving a small visualization output can help diagnose problems with
the graph. For example extra edges or incorrect dependencies.

Bug: angleproject:2379
Change-Id: I544cba11c5e33579b06fef2fb41bad60066a64e4
Reviewed-on: https://chromium-review.googlesource.com/1254383
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tobin Ehlis <tobine@google.com>
2018-10-02 16:29:39 +00:00
Geoff Lang 38f24ee666 Fix missing query for GL_NUM_REQUESTABLE_EXTENSIONS_ANGLE.
This enum was validated but not implemented.

TEST=RequestExtensionTest.Queries

BUG=890689

Change-Id: I7285e45cef53b197d61cd0dfa9d2bacb70e23e64
Reviewed-on: https://chromium-review.googlesource.com/1255142
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2018-10-02 13:46:59 +00:00
Yuly Novikov d082819ca2 Fix format support conditions
This fixes format support tables in formatutils.cpp and formatutilsgl.cpp
to conform to the core and extension GLES specs,
for a large portion of the formats.
ExtsOnly SupportRequirement was enhanced to accept multiple sets of extensions.
Format is supported if all the extensions in one of the sets are available.

Also fixes determining support for extensions based on those formats.

And some fixes to tests which fail due to more strict format support.

Bug: angleproject:2567

Change-Id: I6050fff9c597f658fdcea2477bff59a603cdb7e8
Reviewed-on: https://chromium-review.googlesource.com/1105612
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@google.com>
2018-10-01 22:41:41 +00:00
jchen10 5dc0a6f9f6 Vulkan: Vertex buffer should be format aligned.
The address of each attribute in a vertex buffer must be aligned
according to its format. See section 20.3 of vkspec.

Currently we don't handle this when using DynamicBuffer as vertex
input buffer. This loosely fixes the issue by using max alignment for
all formats.

BUG=angleproject:2797,angleproject:2405

Change-Id: I2b27950dacc8fda75dcb646ef4b4d66ff27d629a
Reviewed-on: https://chromium-review.googlesource.com/1234281
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2018-10-01 20:58:04 +00:00
Geoff Lang 0f57d2e395 Vulkan: Expose the unimplemented GL_EXT_occlusion_query_boolean extension.
Chrome needs this extension to be exposed to load the query entry points,
even for emulated query types.

BUG=angleproject:2855

Change-Id: I09dbb45c391df64d67858f9131c45b164947a707
Reviewed-on: https://chromium-review.googlesource.com/1255507
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2018-10-01 20:53:34 +00:00
Jeff Gilbert a8a9e12f0a Stream support for R16*_UNORM and P010/P016.
Bug: angleproject:2850
Change-Id: Ib23b3012b5244c8e3edbdfa05d9b4e4869bbfed8
Reviewed-on: https://chromium-review.googlesource.com/1244080
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-10-01 20:38:57 +00:00
Frank Henigman 1ffad843be Remove PixelPackState from PackPixelsParams.
Only one flag ("reverseRowOrder") from PixelPackState was being used,
so instead of including the entire struct in PackPixelsParams, just
include the one flag.

BUG=angleproject:2718

Change-Id: I32e8b30383d198ecba9bf1719c32dda0938fc969
Reviewed-on: https://chromium-review.googlesource.com/1242210
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@google.com>
2018-10-01 20:16:57 +00:00
Olli Etuaho 1dfd8ae2e0 Improve test coverage of constant folding
Clean up some TODOs in the code as well as add tests to make sure that
ANGLE treats expressions indexing into constant arrays as constant
expressions in different contexts. This complements the existing tests
in ConstantFoldingTest.

BUG=angleproject:2298
TEST=angle_unittests

Change-Id: I779bf03891f7d06f14d293e69101c05d7dbf57b6
Reviewed-on: https://chromium-review.googlesource.com/1254067
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
2018-10-01 20:14:17 +00:00
Olli Etuaho 624fbdcf55 Refactor CompileProgram utility
Tests often need to call gl functions to set up program related state
after glCreateProgram has been called but prior to glLinkProgram is
called. Add a callback function to the CompileProgram utility function
to fulfill this need. This reduces code duplication considerably in
several tests.

An alternative way to improve CompileProgram would be to split it into
several different utility functions. This might be slightly easier to
read, but would also be a larger refactoring and require more checks
at the call site.

This will make it easier to implement EXT_blend_func_extended tests,
which need to bind fragment outputs to different slots.

BUG=angleproject:1085
TEST=angle_end2end_tests

Change-Id: I3ac8b7bdc21c6a1f14517bc7df0cf6f35abd7612
Reviewed-on: https://chromium-review.googlesource.com/1254062
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2018-10-01 20:03:38 +00:00
Nico Weber 079a6bc360 Remove an exit-time destructor from a frequently-included header.
Bug: angleproject:1459
Change-Id: I2bfd7a34ef8ca6d367af7e1d9dd740c4e93727ac
Reviewed-on: https://chromium-review.googlesource.com/1255382
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-10-01 19:36:35 +00:00
Geoff Lang 2fe5e1d3e6 Vulkan: Implement robustness extensions.
Device recovery is not possible but device loss can be tracked.

BUG=angleproject:2787

Change-Id: Ib94dd557b6b005a560b7a64275b176f7b1777211
Reviewed-on: https://chromium-review.googlesource.com/1194458
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2018-10-01 19:33:27 +00:00
Jamie Madill 16c20140e0 Vulkan: Record blit commands inside blit methods.
Instead of starting recording blit commands immediately we can
record them closer to where we write to the Image directly. This makes
it a bit easier to move towards hiding the command buffers. And easier
to move to using implicitly generated barriers.

Bug: angleproject:2828
Change-Id: Ida7d4081dd41c8ee19c7dc3fb234df1bb065794d
Reviewed-on: https://chromium-review.googlesource.com/1254382
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
2018-10-01 18:56:12 +00:00
Geoff Lang def1ba96cb Reland "D3D11: Resolve multisampled EGL surfaces at eglSwapBuffers"
This reverts commit 799da6d18c.

Reason for revert:Crashes have slowed down but there were two changes around the same time that may have caused it.  Relanding this to see if things improve.

Original change's description:
> Revert "D3D11: Resolve multisampled EGL surfaces at eglSwapBuffers"
> 
> An increased crash rate in rx::NativeWindow11Win32::createSwapChain has been
> seen around the same time as this patch landed.  Speculatively reverting.
> 
> BUG=887403
> 
> This reverts commit a49f60fee7.
> 
> Change-Id: Id1b08efbf47196f17f4a5e509a29f7d628b07b49
> Reviewed-on: https://chromium-review.googlesource.com/1238884
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Geoff Lang <geofflang@chromium.org>

TBR=geofflang@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 887403
Change-Id: Id862fbb1c0e764470f0b7f6bdb97bf6bab95d26b
Reviewed-on: https://chromium-review.googlesource.com/1251701
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2018-10-01 18:37:03 +00:00
Jamie Madill 9d597f8a3a Vulkan: Use copyImageDataToBuffer in Texture mipmap gen.
There were two code paths using nearly identical code. Fix this by
generalizing the helper method slightly.

Refactoring change only.

Bug: angleproject:2828
Change-Id: I39caccfaad4880e566e995483b8e8fb46d67d3da
Reviewed-on: https://chromium-review.googlesource.com/1249563
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-10-01 17:43:04 +00:00
Shahbaz Youssefi 996628a4a1 Vulkan: Add support for VkPipelineCache
The cache is initialized from the application's blob cache and is
occasionally written back to it for disk storage.

Bug: angleproject:2516
Change-Id: I4cba4b00a7b9641c2983ef07159bc62cd10a5519
Reviewed-on: https://chromium-review.googlesource.com/1241373
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2018-10-01 15:52:41 +00:00
Jamie Madill 5ddbdbf70c Vulkan: Fix bugs in glGenerateMipmaps.
We had two separate minor bugs. 1) missing a flush of the image data
and 2) missing an initial barrier to set the image to TRANSFER_DST.

Bug: angleproject:2652
Bug: angleproject:2653
Change-Id: I485aafc5c9055b5efb101cb2bc3ebab0588d2639
Reviewed-on: https://chromium-review.googlesource.com/1249564
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
2018-10-01 15:51:44 +00:00
Olli Etuaho a78092cb25 Support ESSL 3.00 EXT_blend_func_extended shaders
This adds support for the index layout qualifier that's used in
EXT_blend_func_extended to set whether a fragment output should be
bound to the primary or secondary blend source color.

Output locations are now validated correctly so that two outputs can
have the same location as long as they have a different index. Some
tests are fixed to allow this.

BUG=angleproject:1085
TEST=angle_unittests

Change-Id: I1de3ad1406398952287791eca367562bed59d380
Reviewed-on: https://chromium-review.googlesource.com/1245982
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2018-10-01 08:24:13 +00:00
Yuly Novikov 79207e6e11 Skip tests failing on Pixel XL
RobustBufferAccessBehaviorTest.NoBufferData/ES2_OPENGLES
RobustBufferAccessBehaviorTest.NoBufferData/ES3_OPENGLES
RobustBufferAccessBehaviorTest.NoBufferData/ES3_1_OPENGLES
ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB/ES2_OPENGLES
ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB/ES3_OPENGLES
WebGLGLSLTest.InitUninitializedGlobals/ES2_OPENGLES

Bug: angleproject:2861,angleproject:2689,angleproject:2862
Change-Id: I142594c952b6e7de24057784794b5725f3486212
Reviewed-on: https://chromium-review.googlesource.com/1252701
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Yuly Novikov <ynovikov@google.com>
2018-09-28 22:27:57 +00:00
Jiawei Shao af0f31d3a9 Enable several end2end tests on Windows Intel drivers
Bug: angleproject:1388
     angleproject:1706

Change-Id: Ic6c62b0a85756bf36b6d345610a77ffd5c4665e3
Reviewed-on: https://chromium-review.googlesource.com/1248442
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-09-28 01:50:43 +00:00
Jeff Gilbert c0b82333ab Polyfill BitCount for ARM/ARM64 on MSVC.
Also _WIN64 implies _WIN32.

Bug: angleproject:2858
Change-Id: I63e2ffd2e9e304171ea6adb99836733981cc1813
Reviewed-on: https://chromium-review.googlesource.com/1248441
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2018-09-28 01:05:33 +00:00
Jamie Madill e8dd079698 Vulkan: Make vk::FramebufferHelper the graph resource.
It seems conceptually easier to understand that a vk::Framebuffer is
the resource used in graph. Rather than making the GraphResource be
integrated into the FramebufferVk class itself. This means that the
only objects that are graph resources are Vulkan objects: Images,
Buffers, and Framebuffers.

Refactoring change only.

Bug: angleproject:2828
Change-Id: I59d60643182287d4b1fcf9730a3c3a0da5b65973
Reviewed-on: https://chromium-review.googlesource.com/1249561
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
2018-09-27 19:58:26 +00:00
Jamie Madill 2d03ff4a1f Vulkan: Make Buffer/Image be CommandGraphResources.
Don't make TextureVk/RenderbufferVk/SurfaceVk/BufferVk own the
manipulation of the command graph. Instead put the operations close to
the buffers and images used to render.

This will lead towards implementing implicit barriers on the command
graph resources.

Bug: angleproject:2828
Change-Id: I07b742b6792c60285b280d6454f90e963d667e0e
Reviewed-on: https://chromium-review.googlesource.com/1246983
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-09-27 19:56:23 +00:00
Jamie Madill 50e6eaaee6 Vulkan: Move LineLoopHelper graph work into BufferVk.
Bug: angleproject:2828
Change-Id: Ie6bcdd10e2de415615db2bfb0b6fa17c392455b0
Reviewed-on: https://chromium-review.googlesource.com/1235655
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-09-27 18:13:58 +00:00
Geoff Lang beb0c946de Vulkan: Make sure the default uniform info arrays match indices.
When inserting uniform layout info into the default uniform block, the array
sizes need to match but insertion was skipped when the uniform was a sampler.

This caused heap corruption when uniform data was written to the wrong offset
in the buffer.

BUG=angleproject:2859

Change-Id: Ia58a68870e2a4805391266dfe73fe8c8d238931d
Reviewed-on: https://chromium-review.googlesource.com/1249562
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2018-09-27 17:56:58 +00:00
Jamie Madill 122919bddd Update docs on building ANGLE inside Chromium.
Bug: angleproject:1944
Change-Id: If05cdf39bd4f88995ed9ea97a13bca661f826884
Reviewed-on: https://chromium-review.googlesource.com/1211782
Reviewed-by: Tobin Ehlis <tobine@google.com>
2018-09-27 10:53:57 +00:00
Jamie Madill 115e8a2625 Vulkan: Store "is packed" in buffer formats.
This more easily allows us to compute the format alignment for use with
the vertex input stage.

Bug: angleproject:2797
Change-Id: If15281ce18fbed743b6a0c843cece4626bc4ce72
Reviewed-on: https://chromium-review.googlesource.com/1245841
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-09-27 02:06:13 +00:00
Jamie Madill af8b73c9e6 Roll dEQP (September 2018)
Bug: angleproject:2854
Change-Id: Ib9f229aa579699e90759bacd88d13953c0a7d311
Reviewed-on: https://chromium-review.googlesource.com/1245846
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2018-09-26 18:20:11 +00:00
Geoff Lang 3ddd642037 Vulkan: Expose EXT_debug_marker and stub out the implementation.
This extension is used by Chrome.

BUG=angleproject:2853

Change-Id: Ie8d4ba07857c581a4ec3f90faabdf747b6b52445
Reviewed-on: https://chromium-review.googlesource.com/1246263
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-09-26 16:50:56 +00:00
Eric Stevenson c84510f4a3 Angle: Remove obsolete requires_sdk_api_level_23 from BUILD.gn.
Will be removed upstream.

BUG=chromium:688465
Change-Id: If50ac3624a5f692755797eaabcc0c7d6e7408655
Reviewed-on: https://chromium-review.googlesource.com/1244079
Reviewed-by: Yuly Novikov <ynovikov@google.com>
Commit-Queue: Yuly Novikov <ynovikov@google.com>
2018-09-26 15:01:32 +00:00
Qin Jiajia a602f9064b ES31: Support shader storage buffer in D3D-API side.
Bug: angleproject:1951
Test: angle_end2end_tests

Change-Id: I0d8a4f8cf00fc7fd2d85315138e2b7457fd0b90c
Reviewed-on: https://chromium-review.googlesource.com/1242846
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-09-26 04:21:17 +00:00
jchen10 547edfe22c Fix angle::Format::ID in gen_dxgi_format_table.py
The dxgi_format_map_autogen.cpp was updated, but the generating script
was missed to submit in https://crrev.com/c/1142299.

Bug: angleproject:2729

Change-Id: I8d726854581d27881a737f12457482ac955e6312
Reviewed-on: https://chromium-review.googlesource.com/1242853
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2018-09-26 02:15:51 +00:00
Jiawei Shao cf8ad76095 ES31: Support translating textureGatherOffset into HLSL
This patch implements the translation from GLSL texture function
textureGatherOffset into HLSL by using the optional "offset"
parameter of Texture2D.Gather[Red|Green|Blue|Alpha].

This patch also defines the implementation-dependent limit
MIN_PROGRAM_TEXTURE_GATHER_OFFSET and MAX_PROGRAM_TEXTURE_GATHER_OFFSET
on D3D11. According to MSDN, the valid range of "offset" used in
Gather should be [-32, 31].
https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/gather4-po--sm5---asm-

This patch also refactors OutputTextureGatherFunctionBody() so that
some redundant code can be removed.

BUG=angleproject:2826
TEST=dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8.*
     dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.*
     dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.*
     dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.*
     (without texture_swizzle)

Change-Id: Id0f411257b64c8a97428f16b1a86950ec6d36e2f
Reviewed-on: https://chromium-review.googlesource.com/1237303
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
2018-09-26 01:39:21 +00:00
Jamie Madill 219ef05b22 Skip NoBufferData test on NVIDIA Shield TV.
Bug: chromium:889303
Change-Id: Ie06ea7ff27e64d8b149a2200efd159f3a09780b7
Reviewed-on: https://chromium-review.googlesource.com/1244001
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-09-26 00:36:39 +00:00
Geoff Lang 95bba6e59f Vulkan: Use automatic row length and image height for texture copies.
CopyTextureChromium sometimes failed because of incorrect image dimensions
being used in the image copy command.  Simply use 0, the images are all
tightly packed.

BUG=angleproject:2723

Change-Id: I2332561bdc9ee70ba07101bcf2db7ea9f2355844
Reviewed-on: https://chromium-review.googlesource.com/1194907
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-09-25 23:07:00 +00:00
Corentin Wallez a883dd0653 Use SPIRV-Tools' BUILD.gn files
This adds build_overrides/spirv_tools.gni to tell it where to find its
dependencies.

BUG=chromium:870747
Change-Id: Id1d9fb836e74597860a4411df0a4fd0651840f57
Reviewed-on: https://chromium-review.googlesource.com/1162240
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2018-09-25 22:45:36 +00:00
Geoff Lang 8b57fae579 Roll EGL headers.
BUG=angleproject:2508

Change-Id: I28782e488495a31da885f35e9c37b0dd22d951a3
Reviewed-on: https://chromium-review.googlesource.com/1236754
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2018-09-25 21:52:02 +00:00
Jamie Madill 299bdfe751 Vulkan: Update AMD suppressions.
Bug: angleproject:2463
Bug: angleproject:2847
Bug: angleproject:2848
Change-Id: I4036363c517dbe293566bb9d51a2470685d41ac2
Reviewed-on: https://chromium-review.googlesource.com/1240108
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2018-09-25 16:27:00 +00:00