|
b0e15ee4
|
2021-12-28T20:37:33
|
|
Decide GL_KHR_parallel_shader_compile in backends
GL_KHR_parallel_shader_compile was previously being enabled
unconditionally in the front end. However, some backends (Vulkan)
perform worse with parallel shader compilation. This CL moves the
decision of enabling GL_KHR_parallel_shader_compile to the backends.
To support single-threaded shader compilation without affecting the
generic worker thread pool, Context::mSingleThreadPool is added to own
the single-threaded WorkerThreadPool and can be returned by the new
function Context::getShaderCompileThreadPool(). Otherwise, if the
extension is enabled, the (renamed) Context::mMultiThreadPool is
returned.
Bug: angleproject:6748
Change-Id: Ic8d3a183f397608f3002a05480deb976dfe44792
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3360337
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
f64f9546
|
2021-12-07T20:17:32
|
|
Reland "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
This reverts commit 10e5f34d1439f0bcd5b30bea5bfbf6bdaafd4935.
Reason for revert: exonerated from flaky crash suspect
Original change's description:
> Revert "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
>
> This reverts commit 36bf1ebe5e9500704dd235254bd22a1f2bbd7059.
>
> Reason for revert: suspect causing flaky crashes
>
> Bug: angleproject:6763
>
> Original change's description:
> > Decouple gl_BaseVertex/gl_BaseInstance uniforms
> >
> > These are builtin uniforms removed in
> > https://github.com/KhronosGroup/WebGL/pull/3278
> >
> > Decouple them from the original ANGLE_base_vertex_base_instance
> > extension.
> >
> > Make a new ANGLE_base_vertex_base_instance_shader_builtin
> > extension for these builtin uniforms.
> >
> > Bug: angleproject:3402
> > Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
> > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
> > Commit-Queue: Shrek Shao <shrekshao@google.com>
> > Reviewed-by: Geoff Lang <geofflang@chromium.org>
> > Reviewed-by: Kenneth Russell <kbr@chromium.org>
>
> Bug: angleproject:3402
> Change-Id: I75830baa14cf4e7c53750fd14ff76501145b4823
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315610
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Commit-Queue: Shrek Shao <shrekshao@google.com>
Bug: angleproject:6763
Bug: angleproject:3402
Change-Id: Ie436dc5d55364e464897d407a53b793941cd5d0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3321703
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
10e5f34d
|
2021-12-04T00:10:21
|
|
Revert "Decouple gl_BaseVertex/gl_BaseInstance uniforms"
This reverts commit 36bf1ebe5e9500704dd235254bd22a1f2bbd7059.
Reason for revert: suspect causing flaky crashes
Bug: angleproject:6763
Original change's description:
> Decouple gl_BaseVertex/gl_BaseInstance uniforms
>
> These are builtin uniforms removed in
> https://github.com/KhronosGroup/WebGL/pull/3278
>
> Decouple them from the original ANGLE_base_vertex_base_instance
> extension.
>
> Make a new ANGLE_base_vertex_base_instance_shader_builtin
> extension for these builtin uniforms.
>
> Bug: angleproject:3402
> Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
> Commit-Queue: Shrek Shao <shrekshao@google.com>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Bug: angleproject:3402
Change-Id: I75830baa14cf4e7c53750fd14ff76501145b4823
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3315610
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
36bf1ebe
|
2021-11-17T13:31:17
|
|
Decouple gl_BaseVertex/gl_BaseInstance uniforms
These are builtin uniforms removed in
https://github.com/KhronosGroup/WebGL/pull/3278
Decouple them from the original ANGLE_base_vertex_base_instance
extension.
Make a new ANGLE_base_vertex_base_instance_shader_builtin
extension for these builtin uniforms.
Bug: angleproject:3402
Change-Id: I77b93917976ce435db9c578c0ade37bff18a42b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3290304
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
17bf6e98
|
2021-11-11T20:53:31
|
|
Implement GL_EXT_multi_draw_indirect
* Added the validation functions for multiDrawArraysIndirect()
and multiDrawElementsIndirect() according to the specs.
* Added generic implementation for the two functions that can
be called by back-ends.
* Added unit tests for the multiDrawIndirect functions.
* Added flags for back-ends so they can enable the extension.
* Minor cleanup in MultiDrawTest.cpp
Bug: angleproject:6439
Change-Id: I4e5f1cab05c6de330aef82d115492dcc9d2fad44
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3276043
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
01341f94
|
2021-10-11T19:26:07
|
|
D3D11: implement EXT_clip_control
This implements EXT_clip_control for the D3D11 renderer, so that I can
use a reversed-Z depth buffer with ANGLE.
Tested with
angle_deqp_gles2_tests.exe --deqp-egl-display-type=angle-d3d11 --deqp-case=dEQP-GLES2.functional.clip_control.*
and
angle_end2end_tests.exe --gtest_filter=*D3D11*
Bug: angleproject:6554
Change-Id: I1d11cd04a6654c28530b11104470f0cad0009abe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3218659
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5e029401
|
2021-09-28T15:49:20
|
|
Add a new variant to the labeling API.
This CL will create a new variant which will take both internal name
and KHR debug name and send them over to the D3D. This will help us
capture KHR debug label better and also prevent for the cases where
ANGLE was dropping the KHR labels on the floor when calling the label
API right after the commands like glTexStorage2D, glTexImage2D etc.
Bug: chromium:1164111
Change-Id: Ifebe8df5435a34692c601c5c35fddc1911bf9d0c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3192180
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
e84b0154
|
2021-09-13T16:04:20
|
|
Update extension boolean names.
This is in preparation for auto-gen, which uses a simple naming
scheme. This fixes the bool names to be totally consistent with the
extension names.
Bug: angleproject:6379
Change-Id: Ia212449be04accb0e4f006b55b1813ab4481fa0b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3157417
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1ca1589f
|
2021-09-13T10:56:58
|
|
Give GLES extension bools a vendor suffix.
This is in preparation for auto-generation which will give all of
these bools suffixes.
Bug: angleproject:6379
Change-Id: I7e3f6c9b644c41a2165e6bf7b62d661fd352a250
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158503
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9ada074a
|
2021-09-10T16:18:19
|
|
Move capability values from gl::Extensions to gl::Caps.
Several extensions stored extra information in the wrong structure.
Move them to the Caps structure in prepraration for auto-generating
the Extensions struct.
Bug: angleproject:6379
Change-Id: If5643b72039e299cb0f7c49591d13b3c7cd8a36c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3158403
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
794b13ce
|
2021-09-01T12:17:26
|
|
D3D11: Fix overflow in GenerateInitialTextureData.
Our use of unchecked math was causing OOB accesses with very large
textures. Unfortunately it's not easy to make a passing test that
reproduces this OOB access.
Bug: chromium:1241036
Change-Id: Icd2749f5b3116bb51390ce769fef22c49a11f307
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3136733
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f015ae81
|
2021-08-02T12:47:32
|
|
Implement onLabelUpdate method.
This change will implement the onLabelUpdate method by calling from
every TextureStorage object. Instead of using setDebugName,
introduced two new functions, setInternalName and setKHRDebugLabel,
which will set the internal name and KHR label respectively that will
further be sent to D3D string.
Bug: chromium:1164111
Change-Id: I401ca9f6e8a2099a8807f0d7f321efe74269f9f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067921
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
0b651e42
|
2021-07-20T11:48:38
|
|
Vulkan/D3D11/Metal: Expose GL_NV_framebuffer_blit
GL_NV_framebuffer_blit is equivalent to ES3 blit which these backends
support.
Bug: chromium:1220246
Change-Id: I6ef0b80f9e9ba7828d6720cdbe19c83c4abdc4cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3041878
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6a86d207
|
2021-07-16T18:28:13
|
|
Add a feature flag allowES3OnFL10_0 to allow ES3 on d3d10.0.
(Originally by Jeff Muizelaar <jrmuizel@gmail.com>)
This lets us run WebRender on devices that only support D3D 10.0.
Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1620075
Bug: angleproject:6189
Change-Id: I77c09851c50dee206702b1da25a9ef0c05eeb6c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3036598
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jeff Gilbert <jgilbert@mozilla.com>
|
|
fb26ba6a
|
2021-07-06T14:24:29
|
|
Extend Intel graphics driver version to 2 fields
The 4th field of Intel new graphics driver will overflow soon. For
example, the lastest driver version is 27.20.100.9466 and the 4th field,
9466, will meet the maximum 9999 soon. Future driver will bump the 3rd
field from 100 to 101. This CL extends driver version check from 4th
field to both 3rd and 4th fields.
Check below 2 documents for more details.
https://www.intel.com/content/www/us/en/support/articles/000005654/graphics.html
https://docs.google.com/document/d/1Xm4afyGR3Ow3W2G-uig9fLQR01XzmSXeanM9OXDVhlg/edit#heading=h.k8onwbxk2ig
Bug: angleproject:6138
Change-Id: Iefb1d56b48d0f08e79c329c422a6ef142b33553d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007570
Commit-Queue: Yang Gu <yang.gu@intel.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
1bffabe8
|
2021-06-29T18:13:39
|
|
Fix -Wunreachable-code-aggressive.
Bug: chromium:1066980
Change-Id: I1fa08a40dbf223d60a10681af33ca8a29b12bf8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2991094
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5b314268
|
2021-06-15T17:37:45
|
|
Vulkan: Support OVR_multiview and OVR_multiview2
Multiview is supported in Vulkan simply by specifying the number of
views in the render pass, and creating the appropriate image views. A
number of changes to the way image views and render targets are stored
are made to support those that don't cover the entire range of layers.
One particular detail that is not implemented in this change is the use
of queries in combination with multiview. Vulkan specifies that N
queries are actually produced (N being the number of views) which must
be summed by the application, but this is not currently done.
Bug: angleproject:6048
Change-Id: I1d4a9894c232d3a93d7a97c9fa0eedc334e57469
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2967625
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
525fde75
|
2021-03-22T14:55:21
|
|
Fix potential mod by 0 with invalid formats.
If the format passed to MakeValidSize is invalid, there
is potential for a mod by 0 which can result in a crash.
Test: Verify no crash when format is invalid.
Bug: b/182823289
Change-Id: I7f538be5d984070984f5581a5cc7ea47264109f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2780557
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Doug Horn <doughorn@google.com>
|
|
d809147f
|
2021-03-22T18:00:00
|
|
Enable D3D11 debug names in ANGLE release builds
Previously, D3D11 debug names were only output in debug builds. This
change enables them in release builds so we can debug GPU memory
consumption given traces or full memory dumps.
Where it made sense, existing names were shortened for brevity.
A future CL can shorten the names further by removing the words
texture, SRV, DSV, etc since D3D already outputs this type
information.
Bug: chromium:1164111
Change-Id: Iadd6222c29dd945115e844ec28ee395ce16c139f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2780564
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
fb35201a
|
2020-12-22T13:14:41
|
|
GL: Expose NV_framebuffer_blit for ES2 contexts when available
ANGLE_framebuffer_blit is already exposed but has restrictions on
scaling/flipping and mismatched color buffer formats. When
NV_framebuffer_blit, EXT_framebuffer_blit, or an ES3 context is
available we can expose a less restrictive BlitFramebuffer.
Bug: angleproject:5474
Bug: chromium:1157057
Change-Id: I916ee39c8d6120216f91461080eb3ee9ca777e29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2601165
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dc1c1cb5
|
2020-08-12T13:30:26
|
|
Restrict to translate uniform block to StructuredBuffer
We had translated an uniform block only containing a large array member
into StructuredBuffer instead of cbuffer on D3D backend for slow fxc
compile performance issue with dynamic uniform indexing.
Now we add more conditions to restrict the translation. Only indexing
operator is allowed to operate on this uniform block variable. And we
also restrict the types of uniform block's member.
Bug: angleproject:3682
Change-Id: I992b7890d84fcaa6169722af6d7e14785526d48a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2351728
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
|
|
e815afbf
|
2020-09-07T22:09:22
|
|
First pass at increasing inclusivity
Link to the inclusivity rules
https://source.android.com/setup/contribute/respectful-code
Bug: b/162834212
Bug: chromium:1097198
Change-Id: Ied5a9e3879d72bff3f77ea6fcda9b82f30c32c2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2396737
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Trevor Black <vantablack@google.com>
|
|
4d3a0f60
|
2020-09-11T12:36:05
|
|
GN: Componentize D3D format tables.
These tables are used by both the GL and D3D11 back-ends. Also moves
them to renderer_utils to be in a shared place.
Bug: angleproject:3943
Change-Id: I1f5d79842396a87e795547fa03c6855d6f9c5e9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2405805
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6eeb3d8b
|
2020-08-07T16:09:53
|
|
Support DXT textures with non-block sized mip levels.
The block size requirement for each mip level meant that all
DXT textures had to be POT sized. Relax these restrictions for
non-zero mip levels to allow NPOT DXT textures.
Increase the size of the D3D11 staging textures to the nearest
block size to make sure allocation succeeds.
Bug: angleproject:4841
Change-Id: I42fa295a0965241d77f81e57b17454091fda9376
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2380237
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: back sept 10 - Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
f2196ad6
|
2020-08-04T12:08:00
|
|
D3D11: Disable OES_texture_3D.
GL_OES_texture_3D requires support for 3D textures at both API and GLSL
levels.
D3D11 back-end doesn't handle GLSL's added functions (texture3D*)
properly. See TextureFunctionHLSL::useTextureFunction()
(TextureFunctionHLSL.cpp:1475)
Bug: angleproject:4926
Change-Id: Icd669b070c68ec04f5de790d5a531912f5b42d98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2336132
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9ae6d7f2
|
2020-08-14T11:00:29
|
|
D3D: disable to translate uniform block to StructuredBuffer
Temporarily disables the feature that translate uniform block to
StructuredBuffer on D3D backend for a bug.
Adapted from a patch by xinghua.cao@intel.com
Bug: chromium:1112112
Change-Id: I3419a0eb8ae619e1fa532ffb29f56a9099f04618
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2357752
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0df92012
|
2020-06-03T17:08:43
|
|
Rename Platform.h to PlatformMethods.h.
"platform.h" is too common a name and causes headers to be
included incorrectly. Disambiguate the header using a more
specific name.
Solves a problem that came up with the GLES 1 tests and the
standalone test harness.
Bug: angleproject:3162
Change-Id: I88229a2c9407e0db57f5beee44daa11a4075f700
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2229065
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
d45b30b5
|
2020-05-15T14:45:51
|
|
Enable allowClearForRobustResourceInit for AMD drivers
AMD drivers that have trouble clearing textures have been
blocklisted by Chromium.
Since Intel and NVidia drivers were already been allowed to
clear for robust resource init, we're good to enable it for all IHVs.
Bug: angleproject:4460
Change-Id: If71d01a91806ffc0a78c30f0cc393e105a6c9c74
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2204698
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
779a25a8
|
2020-04-27T02:11:58
|
|
D3D11: Migrate to the new blend state tracking
Migrate D3D ClearParameters struct to the new color mask storage
Bug: angleproject:4394
Change-Id: Ibeb64e4bbb2758b9c8271fc3c59d2d675850b0a8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2165886
Commit-Queue: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
49ad8eaa
|
2020-04-13T17:55:25
|
|
Enable allowClearForRobustResourceInit for Intel drivers
NVidia drivers have no trouble clearing textures without showing
corruption. AMD ones do.
Intel drivers that have trouble have been relegated to the DX9 runtime
by Chromium.
Bug: angleproject:4460
Change-Id: I9ffbfa041e0f7ef8e05edcc14274bf9530eafae3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2147821
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
d26fb99e
|
2020-04-10T16:04:26
|
|
Add DrawBaseVertexVariants Tests
This tests different DrawElements*BaseVertex draw calls
from different extensions including OES_draw_elements_base_vertex,
EXT_draw_elements_base_vertex, and ANGLE_base_vertex_base_instance,
with various combinations of base vertex, base index values.
Bug: angleproject:4536
Change-Id: I3cd256522684c6040199d7704aac8575237dbd96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2146292
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shrek Shao <shrekshao@google.com>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
b83b0f5e
|
2020-01-31T15:09:17
|
|
Add support for NV_read_depth, NV_read_stencil and NV_depth_buffer_float2 extensions
This cl adds the ability for the ReadPixels function to read other
attachments than the color attachment. Checks were added for both
depth and stencil attachments.
A new test was added (DepthStencilFormatsTest.DepthStencilReadback)
to test this new functionality. As the name mentions, it's used to
test reading from the depth and stencil attachments using ReadPixels.
Bug: angleproject:4295
Change-Id: I6fe9be11f05d6055a5883b4315f870e7c0ac41ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2031702
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
74e816bf
|
2020-03-26T17:40:25
|
|
Vulkan: Expose extension for ETC1 usage with subimage updates
This CL implements the GL_EXT_compressed_ETC1_RGB8_sub_texture
extension, which was added to relax restrictions on using
ETC1_RGB8_OES for subimage updates.
Test: Temple Run on Android
Bug: b:152512564
Change-Id: I78cfd7dfd54fab36dee59a93b3ec3bfce17e73e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2123232
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
62b72552
|
2020-03-20T07:51:26
|
|
Add support for EXT_EGL_image_external_wrap_modes
Allows for more wrap modes to TEXTURE_EXTERNAL_OES textures
Test: angle_end2end_tests --gtest_filter=ExternalWrapTest.*
Bug: angleproject:4443
Change-Id: I37bde091b166d7471c13c14fd6b0174136b52ecf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2103433
Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9e263aa8
|
2020-03-06T17:41:30
|
|
Enable allowClearForRobustResourceInit for NVidia hardware
Intel and AMD drivers have trouble clearing textures without causing
corruption. NVidia, on the other hand, can handle.
Bug: angleproject:1074
Change-Id: Id9d293eba92f80e2af3a0d2e40cbeccb127763b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2092838
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
|
|
605ab763
|
2020-02-24T19:43:32
|
|
D3D11: Implement OES_draw_buffers_indexed
Existing CONSTANT_COLOR/CONSTANT_ALPHA limitation was generalized to independent blend states with draw call invalidation and a new end2end test. dEQP tests that are incompatible with this limitation result in INVALID_OPERATION and are marked as FAIL.
D3D11 renderer always normalizes and deduplicates requested blend states based on their enabled features and bound framebuffer.
Bug: angleproject:4394
Change-Id: I284796e18be71de1b5bfb087d36f6a45be4c3f70
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2070575
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
94de306d
|
2020-01-14T16:18:56
|
|
Extensions suffixes
Added NV/OES suffixes to relevant Extensions members.
Bug: angleproject:3104
Change-Id: Ia1798157086230bde8d11c6fcb4fe93211e996ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2013168
Reviewed-by: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e0a28ba4
|
2020-01-14T09:44:27
|
|
Add blendable checks to GL_EXT_color_buffer_float
The GL_EXT_color_buffer_float spec
https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_color_buffer_float.txt
mentions that some of the formats must be blendable:
"Blending applies only if the color buffer has a fixed-point or
floating-point format. If the color buffer has an integer format,
proceed to the next operation. Furthermore, an INVALID_OPERATION
error is generated by DrawArrays and the other drawing commands
defined in section 2.8.3 (10.5 in ES 3.1) if blending is enabled
and any draw buffer has 32-bit floating-point format components."
So any non 32-bit floating-point must be blendable.
Bug: angleproject:4291
Change-Id: I850fb13b71e4ad03fd07e2a265896c9106bc0ce1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2001478
Commit-Queue: Alexis Hétu <sugoi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
d36780ba
|
2020-01-02T12:28:26
|
|
Fix UWP build
Bug: angleproject:4246
Change-Id: Ifcbb6fe51ee2df6baf86a308de74bab640ded834
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1982632
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1fdf6ca5
|
2019-12-31T14:25:35
|
|
D3D11: Restrict to translate uniform block to StructuredBuffer
Only translate uniform block to StructuredBuffer when system is
Windows 10 and later.
Bug: angleproject:3682
Change-Id: I27e3f4503392791883a44e1d486ffe9512e04bd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1984863
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
0af8b596
|
2019-09-03T16:24:45
|
|
D3D11: Translate uniform blocks to StructuredBuffer when necessary
fxc exhibits slow compile performance with dynamic cbuffer indexing.
So when a uniform block contains only one large array member, which is
an array of structures, translate this uniform block to
a StructuredBuffer instead.
Bug: angleproject:3682
TEST=angle_end2end_tests.UniformBufferTest.*
Change-Id: Ife80dba8aae65b761737e095895e00a570230f88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1782046
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
17b3c2f3
|
2019-10-14T14:13:59
|
|
Implement SamplerVideoWEBGL for WEBGL_video_texture extension on desktop
WEBGL_video_texture is an extension that will improve uploading video frame to WebGL performance.
(https://www.khronos.org/registry/webgl/extensions/proposals/WEBGL_video_texture/)
This extension introduced a new texture type TEXTURE_VIDEO_IMAGE_WEBGL and a new sampler type
samplerVideoWEBGL to sample it.
In chromium implementation, TEXTURE_VIDEO_IMAGE_WEBGL maps to different native texture type
based on platform. On desktop, it maps to GL_TEXTURE2D(Currently supported). On Android, it
should map to GL_TEXTURE_EXTERNAL(TODO). SamplerVideoWEBGL needs to be mapped to sampler2D or
samplerExternalOES according to TEXTURE_VIDEO_IMAGE_WEBGL implementation.
This patch implements samplerVideoWEBGL in Angle to support WEBGL_video_texture on desktop. In
this case, samplerVideoWEBGL should map to sampler2D.
Bug: chromium:776222, angleproject:3889
Change-Id: Idb0a5fcde37ca75ccc1181226b91f257212e7500
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866274
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
5f857839
|
2019-12-04T15:30:50
|
|
Improve current multisampled renderbuffer/texture support
This is split off from a change to implement multisampled textures for
the Vulkan back-end, and will come before that change. The changes
include:
- Make a common utility rx::GetSamplePosition() function. D3D11 and
Vulkan use the same standard sample positions/locations for 1, 2, 4,
8, and 16 samples. The D3D11 back-end has a utility function for
this, which is being moved to a common location--for use by both the
D3D11 and Vulkan back-ends.
- Texture::setStorageMultisample() handles converting the "requested number of
samples" to the actual number of samples used (e.g. converting 3 to 4),
supported by the underlying back-end). The actual number used is stored in
gl::TextureState::mImageDescs, for use by other GLES commands.
- Change some end2end tests to not make assumptions about the supported number
of samples, but to properly query what is supported.
Bug: angleproject:3565
Bug: angleproject:4196
Change-Id: I1dc12fedd0f8fb4975f90d87486e443b069b7141
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1948535
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
a654d351
|
2019-12-02T18:12:24
|
|
Turn on fboRenderMipmap for D3D11
Bug: 1023747
Change-Id: I8ca320432aad663e2a6d70f494692df518376258
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947710
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shrek Shao <shrekshao@google.com>
|
|
4c7db77e
|
2019-10-31T15:42:31
|
|
Vulkan: Set limitation on maxComputeWorkGroupCount
According to Table 20.45 and Chapter 17 in the ES 3.1 spec, MAX_COMPUTE_WORK_GROUP_COUNT
is get as a GLint by using GetIntegeri_v. However, it is an unsigned integer
in the Vulkan. It needs to set limitation on maxComputeWorkGroupCount[] during
translating.
1. Change the data type to GLint stored in Caps.
2. Ensure that the limitation is set during initialization.
3. Add workaround for angleproject:4120
Bug: angleproject:4066
Change-Id: I1659ba1d560e30b9599cace0feeab8a18890c3ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1890586
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ae1b7786
|
2019-10-16T16:42:53
|
|
Fix ANGLE_FEATURE_CONDITION style issue
Macro should end with a ;
Bug: angleproject:3976
Change-Id: I4aaa146464d9d7e6230a3de44c30cfd1179a89ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864620
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a0b064d0
|
2019-10-15T15:16:22
|
|
Disabling multisampled_render_to_texture extension if renderer is ADRENO.
Skia roll breaking for:
Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE.
Bug: angleproject:4007
Change-Id: I5ba1047540c02d27e05425b7af347207500b3682
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863741
Commit-Queue: Mingyu Hu <mihu@microsoft.com>
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
81ab9c90
|
2019-08-02T07:11:16
|
|
Use image upload workaround for Intel Ivy Bridge with D3D11 renderer.
Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1578910
Bug: angleproject:3980
Change-Id: Ia14c5afd989365975bc57b303e59b4ef7669d522
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1845664
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
2d0e5b55
|
2019-08-27T13:49:07
|
|
GL_EXT_multisampled_render_to_texture extension. Part 2.
For textures that use this extension, a multisampled texture is
implicitly created for the texture.
Upon write or read, the multisampled texture is either return
to be drawn to or resolved and returned as a single sampled texture.
This is the functionality change with end2end tests.
Bug: angleproject:980428
Change-Id: I5776875a132fed7a3f4f00fb02f9e8e250684630
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773717
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7dd03446
|
2019-09-30T13:50:12
|
|
Ensure Features* descriptions stay up to date
Created a macro to help keep Features' descriptions up to date. This
will avoid confusion in the future when conditions change. Also update
all descriptions to match current state.
Bug: angleproject:3947
Change-Id: Ifc65e7789c916fab79f1323798dfb59d7a4efad2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1829584
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: 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>
|
|
cd31f286
|
2019-06-25T14:22:41
|
|
Implement Draw base vertex and base instance functions
This patch implements functionality of glDrawArraysInstancedBaseInstanceANGLE,
glDrawElementsInstancedBaseVertexBaseInstanceANGLE,
glMultiDrawArraysInstancedBaseInstanceANGLE,
and glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE
Workaround for OpenGL driver on Mac:
gl_VertexID on Mac with AMD GPU doesn't include baseVertex value.
So replace gl_VertexID with (gl_VertexID + angle_BaseVertex) if any.
Workaround for Vulkan GLSL:
gl_InstanceIndex on Vulkan includes baseInstance. So replace
gl_InstanceIndex with (gl_InstanceIndex - angle_BaseInstance) when
angle_BaseInstance is declared.
Bug: chromium:891861, angleproject:3402
Change-Id: Ia1d94b5d4d7da7e635468c05c962c4f7eb1b1919
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750126
Commit-Queue: Shrek Shao <shrekshao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
13cc0fce
|
2019-08-02T07:11:16
|
|
Fix occasional corruption of vertex textures in HD4600 GPUs.
This appears to be caused by the UpdateSubResource call,
which is worked around by enabling the other image upload
path that ANGLE supports.
The workaround doesn't include a driver version, since the
bug is occurring in the most recent driver that is currently
available (15.40.42.5063, released 19th Mar 2019).
Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1562462
Change-Id: I5135dcf6da6ef530c99124a04003d54f99e4cd7c
Bug: angleproject:3764
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731975
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
9d737966
|
2019-08-14T12:25:12
|
|
Standardize copyright notices to project style
For all "ANGLE Project" copyrights, standardize to the format specified
by the style guide. Changes:
- "Copyright (c)" and "Copyright(c)" changed to just "Copyright".
- Removed the second half of date ranges ("Y1Y1-Y2Y2"->"Y1Y1").
- Fixed a small number of files that had no copyright date using the
initial commit year from the version control history.
- Fixed one instance of copyright being "The ANGLE Project" rather than
"The ANGLE Project Authors"
These changes are applied both to the copyright of source file, and
where applicable to copyright statements that are generated by
templates.
BUG=angleproject:3811
Change-Id: I973dd65e4ef9deeba232d5be74c768256a0eb2e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754397
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ec9ff8ce
|
2019-07-15T16:59:10
|
|
Fix checks for GL_ETC1_RGB8_OES, disable it on D3D11.
The GL backend was checking the wrong extension for GL_ETC1_RGB8_OES.
WebGL doesn't want to expose compressed formats that are emulated,
disable this format in D3D11 where it is always emulated.
BUG=98314
Change-Id: I1ba8418ad1578c070891828b87e49cf894dabc29
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700574
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
66b5ff58
|
2019-06-28T14:34:22
|
|
texture3D: Implement functionality and enable for Vulkan
Also update test expectations for texture3D.
Bug: angleproject:3188
Change-Id: If8a8e0a83a86c48c2afb0c36534c1e9d4120fe47
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682782
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Lingfeng Yang <lfy@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
5ff8cae9
|
2019-06-21T11:09:25
|
|
GL/D3D: Use texture uploads instead of clearing for robust init.
Chrome uses regular texture uploads on all platforms except OpenGL on
Mac to do robust resource init for textures because multiple bugs have
been observed with texture corruption.
BUG=883276
BUG=882580
BUG=941620
Change-Id: I5fcd6862147822a08c7533e6a6a9277223034ebd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1669104
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
eee67c6e
|
2019-06-18T13:00:43
|
|
Fix Platform.h integration with ANGLE
A function was renamed which broke the platformMethods table strings.
This CL reverts the rename (originally from crrev/c/1660952)
Bug: angleproject:1621
Change-Id: I8121a4956ba1d3e3c5036f72f6f1fdf5509dc491
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1664792
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
beb0eb2d
|
2019-06-14T15:10:33
|
|
Clean up workarounds/features to single location.
Rename all workarounds structs to features, and move the lists to a
shared location in include/platform (to help with documentation,
see:
https://cs.chromium.org/chromium/src/ui/gl/gl_switches.cc?sq=package:chromium&g=0&l=69)
Bug: angleproject:1621
Change-Id: I4069f08131db5e886047a007efb5d7764dfee5f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660952
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
70958d15
|
2019-04-17T13:59:45
|
|
Let attribute aliasing logic detect overflow
Checking against the max attribute count is not needed
as aliasing is implemented correctly below. If not enough
locations are available, linking will fail.
This works for backends that support aliasing (Vulkan, GLES),
but not for D3D11, which asserts. To handle this, add a
limitation that informs the frontend of aliased attribute support.
Bug: angleproject:3252
Bug: chromium:964404
Change-Id: Ib9ae5d381bbb2e6bf496272fc3d9e88467c17290
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572817
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
eaf2d928
|
2019-04-18T16:31:25
|
|
Add support for OES_depth_texture
Note: Includes workaround for http://anglebug.com/3452 - some Android
devices do not indicate filtering support on VK_FORMAT_D16_UNORM.
Bug: angleproject:3103
Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthTexture/*
angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.PackedDepthStencil/*
angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthTextureRender/ES2_VULKAN
Change-Id: Ic325fb94ab0e619a17c2e149e0e0865fa4142f3a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575426
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bff32703
|
2019-05-14T18:08:50
|
|
D3D11: Disable B5G6R5 on AMD drivers.
Texture data corruption has been seen with this format, specifically
on AMD Radeon R7 240 cards with the 15.201.1301.0 driver.
BUG=941620
Change-Id: I42d0d86a8319afdfaf17b44e142c6414092c647d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610681
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
776694cd
|
2019-05-08T10:28:55
|
|
Change all ANGLE workarounds to use struct definition with info.
Change each workaround from a simple bool to a struct with info
including name, workaround set, description, and bug IDs. This will help
with future workaround integration with Chrome.
Bug: angleproject:1621
Change-Id: Ia27c180abaf845e280060c803e5994cc3152a057
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593917
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ebab670c
|
2019-04-19T14:36:45
|
|
Adding new extension GL_OVR_multiview
GL_OVR_multiview functions exactly the same as GL_OVR_multiview2.
All GL_OVR_multiview2 tests now also repeat the same test using GL_OVR_multiview
Bug: angleproject:3341
Change-Id: I7e5294fb6bbf7692535174a15da6a42e1b5fc4e2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575904
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8ba78da0
|
2019-04-30T23:42:31
|
|
add support for EXT_blend_func_extended to D3D11
Change-Id: Id66868851a490d0a68a7e76280720825c4844a45
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591192
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7d64c486
|
2019-03-12T14:27:40
|
|
GL_ANGLE_multiview has been renamed to GL_OVR_multiview2.
changes include:
1) GL_OVR_multiview to GL_OVR_multiview2 extension directive change
2) Removal of all references to side by side. We no longer support multiple views in a single 2DTexture. Only 2DTextureArray's are supported
3) WebGL 2 (ES3) is required for multiview
Bug: angleproject:3341
Change-Id: Ie0c1d21d7610f8feebdb2e4d01c6947f57e69328
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552023
Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ee7ffd9e
|
2018-12-13T14:07:52
|
|
ES31: Enabling skipped deqp atomic counter tests on D3D11
Enabling deqp tests previously skipped due to lack of atomic counters. Fixing
bug found in translator found by new tests.
* Switching atomicCounterDecrement from pre to post decrement
* Added 4 byte alignment check to atomic_uint offset
* Added workaround for NVIDIA D3D bug
* Added globallycoherent to atomic counters
Bug: angleproject:1729
Change-Id: If62ea003826fbe2df0834b905ff3ad7b76328399
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480867
Commit-Queue: Enrico Galli <enrico.galli@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
37b99642
|
2019-03-11T18:43:05
|
|
fix d3d ext float blend
Bug: chromium:930993, chromium:938602
Change-Id: Ie2e07369eca663b1507c7811a1a06ce5efc892ee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516007
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b8cff9e9
|
2019-02-18T16:15:53
|
|
ES31: Add MAX_COMPUTE_SHARED_MEMORY_SIZE
Bug: angleproject:2682
Change-Id: If9100bee246dfb99fca3f0470742a337a126c9a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1476951
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@google.com>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
2b0553ce
|
2019-02-08T10:07:21
|
|
Implement EXT_instanced_arrays
Bug: angleproject:3015
Change-Id: Ib01cc5e0df6db27981cb843a6bd386de5d10c2db
Reviewed-on: https://chromium-review.googlesource.com/c/1452740
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
465d6090
|
2019-01-02T16:21:18
|
|
Add GL_ANGLE_provoking_vertex on D3D11 and GL.
This extension is a subset of GL_ARB_provoking_vertex without the
QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION query.
Bug: angleproject:2829
Change-Id: I907a4d16b7b13d3bbfb948842091eedd7b6a8b77
Reviewed-on: https://chromium-review.googlesource.com/c/1410289
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7c985f5c
|
2018-11-29T18:16:17
|
|
Make angle::Result an enum.
This moves away from a class type to a value type. This should improve
performance when using angle::Result as a return value. Previously the
generated code would return a pointer instead of a value.
Improves performance in the most targeted microbenchmark by 10%. In
more realistic scanarios it will have a smaller improvement. Also
simplifies the class implementation and usage.
Includes some unrelated code generation changes.
Bug: angleproject:2491
Change-Id: Ifcf86870bf1c00a2f73c39ea6e4f05ca705050aa
Reviewed-on: https://chromium-review.googlesource.com/c/1356139
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8dc27f99
|
2018-11-29T11:45:44
|
|
Use packed enum for DrawElementsType.
The packing and unpacking take a few extra instructions. But it
completely obviates the need for any switches in the validation code.
Speed is slightly faster or the similar depending on the back-end.
Also add gl_angle_ext.xml to GL entry point generator inputs. This was
missing and would cause the code generation to miss certain changes.
Bug: angleproject:2985
Change-Id: I1ea41a71db71135000166ead8305ec42d22ff7b3
Reviewed-on: https://chromium-review.googlesource.com/c/1351729
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b980c563
|
2018-11-27T11:34:27
|
|
Reformat all cpp and h files.
This applies git cl format --full to all ANGLE sources.
Bug: angleproject:2986
Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f
Reviewed-on: https://chromium-review.googlesource.com/c/1351367
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
471b8d4c
|
2018-11-21T15:37:47
|
|
WebGL, D3D: Forbid multiple TF outputs in one buffer
Implementing a WebGL spec change:
https://github.com/KhronosGroup/WebGL/pull/2658
Fixes WebGL 2 conformance test:
conformance2/transform_feedback/same-buffer-two-binding-points.html
Also applying the change to D3D backends because they can't support
multiple transform feedback outputs in one buffer.
Bug: chromium:866089
Change-Id: I8d7eda14225c13efb7ca1ed974239332be4e79a6
Reviewed-on: https://chromium-review.googlesource.com/c/1347749
Commit-Queue: James Darpinian <jdarpinian@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2fa2147f
|
2018-11-06T15:52:33
|
|
Enable texture multisample extension on ES3 D3D
Update maxIntegerSamples, maxDepthTextureSamples and maxColorTextureSamples
if the extension is enabled on ES 3.0.
TEST=TextureMultisampleTest.*
TEST=NegativeTextureMultisampleTest.Negtive*
BUG=angleproject:2275
Change-Id: I8c215f990ff5d93611b1bc89de9a43f3d392e8d4
Reviewed-on: https://chromium-review.googlesource.com/c/1319251
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>
|
|
743899de
|
2018-10-19T13:53:28
|
|
ES31: Implement MAX_SHADER_STORAGE_BLOCK_SIZE
Bug: angleproject:1951
Change-Id: I6353e6ed10a8b441bfbebc10fa6a07cde1cae7d8
Reviewed-on: https://chromium-review.googlesource.com/c/1317377
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
77abad8d
|
2018-10-25T17:03:48
|
|
Remove Context::gatherParams.
This won't be used in the future. It saves a few instructions on each
entry point.
Also refactors a bit of touched code. Also adds in a missed entry
point: "glTexStorage2DMultisampleANGLE".
Removes related code and moves remaining helper code in params.h into a
new file entry_point_utils.h.
In total this patch series reduces overhead by up to 5%.
Bug: angleproject:2933
Change-Id: Ifb49564597cde6ba82dfc3e185227619fdc62612
Reviewed-on: https://chromium-review.googlesource.com/c/1299478
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4a22f4b0
|
2018-10-23T14:36:47
|
|
ES31: Add atomic_uint support to HLSL translator
This is the first commit in a series to enable atomic counter buffers.
Adds support for atomic counters to the GLSL->HLSL translator using
RWByteAddressBuffer.
Bug: angleproject:1729
Test: angle_end2end_tests
Change-Id: I3b7e08f9256dc9bdbcc02ad8910040f2bc14aeac
Reviewed-on: https://chromium-review.googlesource.com/c/1291329
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
c1fd7376
|
2018-10-26T22:48:39
|
|
Move index range calculations into VertexArray.
This is in preparation for removing the entire DrawCallParams struct.
This struct was big enough to cause a performance hit on draw call perf
tests just by virtue of initializing the fields. Also dereferencing the
struct members is slower than reading function parameters since it adds
an indirection.
Also includes some error refactoring to enable moving code to a shared
location.
In total this patch series reduces overhead by up to 5%.
Bug: angleproject:2933
Change-Id: Ib663f2538c14ac30d4c31fd10d6350be469626e2
Reviewed-on: https://chromium-review.googlesource.com/c/1298380
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b8543630
|
2018-10-02T19:46:14
|
|
Support GL_OES_texture_border_clamp
Added support for GL_TEXTURE_BORDER_COLOR and GL_CLAMP_TO_BORDER in
OpenGL/OpenGLES, Direct3D9 and Direct3D11 backends.
For integer textures in OpenGLES3 contexts these additional entry points
are available now:
void glTexParameterIivOES(enum target, enum pname, const int *params);
void glTexParameterIuivOES(enum target, enum pname, const uint *params);
void glGetTexParameterIivOES(enum target, enum pname, int *params);
void glGetTexParameterIuivOES(enum target, enum pname, uint *params);
void glSamplerParameterIivOES(uint sampler, enum pname, const int *params);
void glSamplerParameterIuivOES(uint sampler, enum pname, const uint *params);
void glGetSamplerParameterIivOES(uint sampler, enum pname, int *params);
void glGetSamplerParameterIuivOES(uint sampler, enum pname, uint *params);
BUG=angleproject:2890
TEST=angle_end2end_tests.TextureBorderClamp*
Change-Id: Iee3eeb399d8d7851b3b30694ad8f21a2111f5828
Reviewed-on: https://chromium-review.googlesource.com/c/1257824
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4e6f2aea
|
2018-09-19T11:09:51
|
|
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>
|
|
cf8ad760
|
2018-09-21T09:11:35
|
|
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>
|
|
2c8f0845
|
2018-09-12T14:44:55
|
|
Add ANGLE_multiview_multisample
We add a novel multiview multisampling extension that includes the
requirement to explicitly resolve the multisampled framebuffer. The
explicit resolve is much more straightforward to implement on top of
OpenGL and D3D11 than implicit resolve found in the native extension
OVR_multiview_multisampled_render_to_texture. It also has predictable
performance characteristics.
The extension allows multiview drawing to 2D multisample texture
arrays and is now enabled on both the GL backend and the D3D11
backend. The implementation is fairly simple, as it involves just
small changes in validation to allow multisampled framebuffer
attachments. The multiview rendering logic is exactly the same
regardless of whether multisampling is enabled.
For the most part the same tests are used to test both multisampled
and non-multisampled rendering. The tests will use a different
framebuffer setup depending on the test param. They resolve the
multisampled framebuffer to a non-multisampled framebuffer prior to
any readbacks from the framebuffer.
Some of the tests are adjusted so that they have the correct sub-pixel
positioning of multisampled quads, so there won't be any pixels that
would be just partially covered.
The tests don't have any tolerance for partially covered pixels - if
we find any platforms where the tests run into a sub-pixel positioning
corner case, tolerance may need to be added later.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: I590d7f300a92ea5439f2720d9db14a7976db2e1d
Reviewed-on: https://chromium-review.googlesource.com/1221214
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
efbabde2
|
2018-08-29T14:37:36
|
|
Support multisample array textures on D3D11
This implements complete support for multisample array textures on the
D3D11 backend. There's a specialized TextureD3D class as well as a
TextureStorage11 class for multisample array textures that have the
bulk of the functionality.
BUG=angleproject:2775
TEST=angle_end2end_tests, angle_deqp_gles31_tests
Change-Id: I68116635c01cef0e48c089fd9da05a844ef2d802
Reviewed-on: https://chromium-review.googlesource.com/1216003
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
7a5814e2
|
2018-07-27T08:12:50
|
|
D3D11: Use angle::Result error pattern. 3/3
This completes the initial refactor for the D3D11 back-end.
Bug: angleproject:2738
Change-Id: I6bc59d6a1a724b3c64d6cd904e6748c2acf8f67d
Reviewed-on: https://chromium-review.googlesource.com/1151452
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
306b6c16
|
2018-07-27T08:12:49
|
|
D3D11: Use angle::Result error pattern. 1/3
This CL improves performance on the draw call microbenchmark by 10%
when no-oping driver calls.
Bug: angleproject:2738
Change-Id: I4f5c11db90d9056ce4557b2a4432bc55b42b5bba
Reviewed-on: https://chromium-review.googlesource.com/1150093
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
bb22f3d9
|
2018-07-24T23:19:44
|
|
D3D11: Reduce allocations in GenerateInitialTextureData.
We can re-use the same info for each level of the texture. Also use
fixed sized arrays for the subresource data structure.
Bug: chromium:867089
Change-Id: Ie43886f708d1141fb80d30a78cabdd37dfbf6f94
Reviewed-on: https://chromium-review.googlesource.com/1149082
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f15f886c
|
2018-06-04T18:59:41
|
|
Differentiate texture and renderbuffer framebuffer attachment capabilities
ANGLE used to describe the abitily to attach textures and renderbuffers
of a specific format to a framebuffer using a single notion of "renderable".
However, for some formats, only one can be supported, but not the other.
Split TextureCaps::renderable into textureAttachment and renderbuffer.
Also, split InternalFormat::renderSupport into
textureAttachmentSupport and renderbufferSupport.
The only functional change is in a few places which now explicitly check
for texture or renderbuffer attachement support.
Information in format support tables was duplicated for the two capabilities,
so behavior should remain the same. It should be corrected in future CLs.
Note: additional information in those tables may need to be added
in order to properly support GenerateMipmap and TexStorage2DMultisample,
this is beyond the scope of this CL.
Bug: angleproject:2567
Change-Id: I18bce4100525be35709d8bbf4de08ec812aab502
Reviewed-on: https://chromium-review.googlesource.com/1086491
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
f7af13c4
|
2018-06-06T14:14:54
|
|
Fix the divide by zero exception in BindBufferRange
This bug is caught because we haven't implemented
caps.shaderStorageBufferOffsetAlignment on D3D backend. So the default
value is 0. This change will set its value for D3D11 backend.
BUG=angleproject:2625
TEST=angle_deqp_gles31_tests
Change-Id: I03c045c08903e4da41659133e7dbd9c4133186cc
Reviewed-on: https://chromium-review.googlesource.com/1088192
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0c4e08e9
|
2018-05-08T11:00:36
|
|
Use ShaderMap in Caps - Part II
This patch is the last one in the series of putting resource limits
on each shader stage into ShaderMap. With this patch, all such values
are organized in the corresponding ShaderMap.
This patch also cleans up all the related code by using this new
type of data structure.
BUG=angleproject:2169
Change-Id: I440643fe44ab63acf7da0a1611643beed1ba66d1
Reviewed-on: https://chromium-review.googlesource.com/1077748
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
d0a7d10f
|
2018-05-07T12:40:20
|
|
ES3.1: Set unordered access view related resource limits on D3D11
This patch sets the implementation-dependent resources limits related
to unordered access views (images, shader storage blocks, atomic
counter buffers and fragment shader outputs) on D3D11 back-ends.
For pixel shaders, the render targets and unordered access views share
the same resource slots when being written out, so we plan to allocate
these slots as follows:
- As there are 8 slots for UAVs and RTVs in feature level 11_0, currently
we assign 1 slot for atomic counter buffer and 7 slots that are shared
among images, shader storage blocks and fragment shader outputs.
- As there are 64 slots for UAVs and RTVs in feature level 11_1, currently
we assign 4 slots for atomic counter buffers and 60 slots that are
shared among images, shader storage blocks and fragment shader
outputs.
We also limit the maximum number of draw buffers to 7 if we create ES 3.1
context on D3D11 feature level is 11_0 because the value of combined shader
output resources is 7.
This patch also labels several dEQP cases from "FAIL" to "SKIP" because
since the resource limits on ssbos, atomic counter buffers and images
in rendering pipeline are set in D3D11 back-ends, the GLSL programs in
these cases can pass all the related link checks, thus these cases will
crash due to reaching the unimplemented parts when they are running on
ANGLE D3D11 back-ends.
BUG=angleproject:2345
TEST=dEQP-GLES31.functional.state_query.integer.max_compute_atomic_counter_buffers_*
dEQP-GLES31.functional.state_query.integer.max_compute_shader_storage_blocks_*
dEQP-GLES31.functional.state_query.integer.max_atomic_counter_buffer_bindings_*
dEQP-GLES31.functional.state_query.integer.max_combined_atomic_counter_buffers_*
dEQP-GLES31.functional.state_query.integer.max_image_units_*
dEQP-GLES31.functional.state_query.integer.max_combined_image_uniforms_*
dEQP-GLES31.functional.state_query.integer.max_shader_storage_buffer_bindings_*
dEQP-GLES31.functional.state_query.integer.max_combined_shader_storage_blocks_*
dEQP-GLES31.functional.state_query.integer.max_combined_shader_output_resources_*
Change-Id: I56a4e6c60d4f6f5bd6f238ae8ce425fb5072a4a3
Reviewed-on: https://chromium-review.googlesource.com/1046372
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
54aafe58
|
2018-04-27T14:54:57
|
|
Use ShaderMap in Caps - Part I
This patch is the first one of the series that organize
implementation dependent resource limits on every type
of shader into ShaderMap and clean up all the related
code.
In the next patch all such resource limits are put in
the corresponding ShaderMaps.
BUG=angleproject:2169
Change-Id: I40cb58c55b2e82df33221ddb36eff0abcd7e8b22
Reviewed-on: https://chromium-review.googlesource.com/1034108
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7a8fe156
|
2018-04-28T12:59:58
|
|
ES31: Add link validation on MAX_COMBINED_SHADER_OUTPUT_RESOURCES
This patch adds the link validation on the maximum combined shader
output resources required in OpenGL ES 3.1 SPEC.
OpenGL ES 3.1 SPEC has restrictions on the sum of the number of all
active images, shader storage blocks and fragment shader outputs. A
link error will be generated if this sum exceeds the implementation-
dependent value of MAX_COMBINED_SHADER_OUTPUT_RESOURCES.
In order not to affect the existing image tests, this patch also
sets a temporary value for maxCombinedShaderOutputResources on D3D11
back-ends. We will set more accurate values for all the UAV related
resource limits in the next patch.
BUG=angleproject:2345
TEST=dEQP-GLES31.functional.state_query.integer.max_combined_shader_output_resources_*
Change-Id: Ib83a19ef0ae0b9af3422b5c970c7c07d96b2359d
Reviewed-on: https://chromium-review.googlesource.com/1039155
Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
ad3ae90a
|
2018-03-09T13:40:42
|
|
Use packed enums for QueryType.
BUG=angleproject:2169
Change-Id: I129a9d8e295859daa071a298dab9fe1895315cc0
Reviewed-on: https://chromium-review.googlesource.com/957318
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
0946393d
|
2018-04-04T05:26:59
|
|
Move Buffer Subject/Observer to front end.
This makes BufferImpl into an Observer Subject. It also refactors
the Vertex Array updates for the D3D11 backend use more of a dirty
bit coding style.
This change makes it so Buffer contents changes trigger front-end
dirty bits from the back-end, which may be undesirable.
Bug: angleproject:2389
Change-Id: Iac8ce1171284a86851c18cd1373ddf24fcefe40b
Reviewed-on: https://chromium-review.googlesource.com/979812
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d779f6a9
|
2018-03-23T01:44:33
|
|
D3D11: Refactor draw call functions.
This allow for better code reuse for the Indirect draw calls.
It also cleans up the InputLayoutCache to be only responsible
for caching input layouts, and moves the logic for maintaining
state into StateManager11.
Bug: angleproject:2389
Change-Id: I84aae164bf1b94a394743cf58650adfdcfc2c17a
Reviewed-on: https://chromium-review.googlesource.com/948796
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e13f7ebe
|
2018-01-26T17:08:49
|
|
Make NVIDIA constant register zero skip specific to VS
It was found that the driver issue only affects vertex
shaders, so the workaround can be simplified to affect only
vertex shaders.
BUG=angleproject:2294
TEST=WebGL conformance tests on passthrough command buffer,
angle_end2end_tests
Change-Id: Ie7fb4e75a3999e1de3d5c20d3de21e7ebb08f148
Reviewed-on: https://chromium-review.googlesource.com/889099
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
0e1224c8
|
2017-12-26T14:11:15
|
|
fix bug for querying sample positions on D3D
BUG=angleproject:2290
TEST=dEQP-GLES31.functional.texture.multisample.samples_*.sample_position
TEST=TextureMultisampleTestES31.CheckSamplePositions*
Change-Id: If8b74c16d5c104215456e35b8922279be972cee3
Reviewed-on: https://chromium-review.googlesource.com/844062
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
36937a64
|
2018-01-03T14:03:44
|
|
Revert "Enable depth buffer to workaround driver bug on Intel windows"
This reverts commit 63ba357c093954d2bc475867e1296fbf5afc1d37.
Reason for revert: May be causing Windows GPU.FYI bot failures.
https://ci.chromium.org/buildbot/chromium.gpu.fyi/Win10%20Release%20%28Intel%20HD%20630%29/1443
maps_pixel_test on Intel GPU:
Unexpected Failures:
* gpu_tests.maps_integration_test.MapsIntegrationTest.Maps_maps
webgl2_conformance_tests on Intel GPU:
Unexpected Failures:
* gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest.WebglConformance_deqp_functional_gles3_fboinvalidate_default
* gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest.WebglConformance_deqp_functional_gles3_fboinvalidate_sub
Bug: chromium:798757
Original change's description:
> Enable depth buffer to workaround driver bug on Intel windows
>
> Rendering with depth buffer disabled and stencil buffer enabled
> leads to memory leak if we set viewport a large size on Intel
> windows platforms. So we enable depth buffer if stencil buffer
> is enabled to workaround this issue.
>
> TEST=gl_test.exe --gtest_filter=GLClearFramebufferTestWithParam/GLClearFramebufferTest.ClearDepthStencil/0
> TEST=conformance/rendering/rendering-stencil-large-viewport.html
> TEST=RenderStencilBufferTest.DrawWithLargeViewport/ES3_D3D11
>
> BUG=782317
>
> Change-Id: Idb185db296f13e3fa897534514e198651a56439f
> Reviewed-on: https://chromium-review.googlesource.com/809574
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
TBR=zmo@chromium.org,geofflang@chromium.org,jmadill@chromium.org,kbr@chromium.org,cwallez@chromium.org,yunchao.he@intel.com,jiajia.qin@intel.com,xinghua.cao@intel.com,bryan.bernhart@intel.com,yizhou.jiang@intel.com,yang.gu@intel.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: 782317
Change-Id: I7e29da683b22fd4640c230598c7b220cfae6a177
Reviewed-on: https://chromium-review.googlesource.com/848133
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|