|
6c6be2ce
|
2018-09-10T14:23:57
|
|
Vulkan: add S8_UINT texture fallbacks.
Add two fallbacks for S8_UINT. Enable tests.
BUG=angleproject:2655
Change-Id: If7df23745a8de8a01d86ab6efa3bca67b5227d76
Reviewed-on: https://chromium-review.googlesource.com/1217282
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
8370e6bc
|
2018-09-11T17:56:23
|
|
Rename constant to kCubeFaceCount.
This corrects the naming style for this constant variable. Also updates
many usages in TextureD3D.cpp and TextureGL.cpp.
Bug: angleproject:2470
Change-Id: I029dd98e925cabf23a4bb26467a62afe6c5bb6e0
Reviewed-on: https://chromium-review.googlesource.com/1220726
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3b1fe64f
|
2018-09-04T13:15:35
|
|
Vulkan: allow a list of fallback formats.
Allow a list of fallback formats as well as a single one in the format
map. The first supported format is used. No functional change.
BUG=angleproject:2655
Change-Id: Ica312b7899471a7a65184a6921713b79da056f31
Reviewed-on: https://chromium-review.googlesource.com/1214847
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
a59ae05b
|
2018-09-11T12:48:16
|
|
Fix compilation error and memory leak
Bug: angleproject:2794
Change-Id: Iaedf83aabef6813c023b97387b35510165cb831c
Reviewed-on: https://chromium-review.googlesource.com/1220370
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
2da04538
|
2018-08-24T13:59:44
|
|
Add sampler2DMSArray support to HLSL output
This is done with small adjustments to TextureFunctionHLSL. Most of
the functionality was already in place before.
This changes the categorization of sampler types in BasicTypes.h
helper functions: 2D array samplers are no longer treated as 2D
samplers, but the two categories are now entirely disjoint. This
makes TextureFunctionHLSL a little bit simpler.
BUG=angleproject:2775
TEST=angle_unittests, angle_end2end_tests
Change-Id: I84d9b56c37b1aaa01ee5921b6f17f8a78698fce2
Reviewed-on: https://chromium-review.googlesource.com/1188562
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e1777558
|
2018-09-11T14:09:37
|
|
DEPS: Remove the need for angle_root.
BUG=
Change-Id: I8cd41a3a9c2199bec54b022abc9694835afd1b2f
Reviewed-on: https://chromium-review.googlesource.com/1219547
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
0d0fb43f
|
2018-09-07T17:43:32
|
|
Pass unpack buffer as explicit parameter to texSubImage.
This allows us to override it in the incomplete texture init. Any
back-end that used incomplete textures was vulnerable to a bug where
the unpack buffer would be used to initialize the incomplete texture.
Bug: chromium:880906
Change-Id: Ica558e4a4d81de9212f0bc6619ccd812a048ad45
Reviewed-on: https://chromium-review.googlesource.com/1214207
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
63aa0e5b
|
2018-09-05T16:15:46
|
|
Fix 64-bit -> 32-bit implicit conversions in libangle.
../../third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp(910,63): warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
const gl::ImageUnit &imageUnit = glState.getImageUnit(imageUnitIndex);
~~~~~~~~~~~~ ^~~~~~~~~~~~~~
../../third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp(914,30): warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
bindImageTexture(imageUnitIndex, textureGL->getTextureID(), imageUnit.level,
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~
../../third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp(920,30): warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
bindImageTexture(imageUnitIndex, 0, imageUnit.level, imageUnit.layered, imageUnit.layer,
~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~
../../third_party/angle/src/tests/gl_tests/VertexAttributeTest.cpp(1080,66): warning: implicit conversion loses integer precision: 'GLsizeiptr' (aka 'long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
glVertexAttribFormat(mTestAttrib, 1, GL_FLOAT, GL_FALSE, inputRelativeOffset);
~~~~~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~~~~~
BUG=chromium:879657
Change-Id: Ic6e8e5ebc0dc5fd38c15a48a936ceafd5407bba8
Reviewed-on: https://chromium-review.googlesource.com/1208315
Commit-Queue: Will Harris <wfh@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8e9d2340
|
2018-09-10T13:29:37
|
|
Vulkan: Fix FragCoord scaling when a viewport is applied.
We were using the pivot based on the viewport dimensions which is
only valid if the viewport is the size of the framebuffer. The more
correct pivot size is actually based on the Framebuffer height.
Also updates the driver uniforms block to be a bit simpler.
Bug: angleproject:2598
Change-Id: I1cb500cded7141d10e8db6862b6ed29758cc7fb4
Reviewed-on: https://chromium-review.googlesource.com/1214205
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
480edb8c
|
2018-08-30T18:25:43
|
|
Clean up TextureStorage11_2DMultisample
This de-duplicates functionality from TextureStorage11_EGLImage and
TextureStorage11_2DMultisample. Neither of those supports changing the
associated images or image access in shaders.
Multisampled textures also cannot be compressed, so the size doesn't
need to be adjusted according to block size.
BUG=angleproject:2275
TEST=angle_end2end_tests
Change-Id: I45bc573584065bf4f528f883435fadfbd7281077
Reviewed-on: https://chromium-review.googlesource.com/1216002
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a735ee2f
|
2018-05-18T13:29:09
|
|
ES31: Support shader storage block in D3D11 compiler - Part1
This patch is the first step to implement a basic skeleton to translate
shader storage block to HLSL RWByteAddressBuffer.
In GLSL each shader storage block is just one structured block and in API side
it corresponds to a buffer range where stores the whole structure.
RWStructuredBuffer is an array-like object and can have many structured
elements. The structured element doesn't support unsized array and also have
a small limitation on the element size. So we choose RWByteAddressBuffer as
the counterpart of shader storage block in HLSL.
Due to RWByteAddressBuffer does not support using an index to reference a
specific location, we must use Load and Store to process the read/write
operation of a buffer variable. Moreover, in the compiler tree, since we
can't use variable name to get the resource value in RWByteAddressBuffer,
we have to calculate the offset of buffer variable in a shader storage block,
then call the corresponding wrapper function to get the right value.
In this patch, we only process below situations:
assign_to_ssbo := ssbo_access_chain = expr_no_ssbo;
assign_from_ssbo := lvalue_no_ssbo = ssbo_access_chain;
The translation is like below:
// GLSL
#version 310 es
layout(local_size_x=8) in;
layout(std140, binding = 0) buffer blockA {
float f[8];
} instanceA;
layout(std140, binding = 1) buffer blockB {
float f[8];
};
void main()
{
float data = instanceA.f[gl_LocalInvocationIndex];
f[gl_LocalInvocationIndex] = data;
}
// HLSL
RWByteAddressBuffer _instanceA: register(u0);
RWByteAddressBuffer _blockB: register(u1);
float float_Load(RWByteAddressBuffer buffer, uint loc)
{
float result = asfloat(buffer.Load(loc));
return result;
}
void float_Store(RWByteAddressBuffer buffer, uint loc, float value)
{
buffer.Store(loc, asuint(value));
}
void gl_main()
{
float _data = float_Load(_instanceA, 0 + 16 * gl_LocalInvocationIndex);
float_Store(_blockB, 0 + 16 * gl_LocalInvocationIndex, _data);
}
We will do below things in the following patches:
1. Modify the intermediate tree to flatten all ssbo usages to:
assign_to_ssbo := ssbo_access_chain = expr_no_ssbo;
assign_from_ssbo := lvalue_no_ssbo = ssbo_access_chain;
e.g.
intanceA.a +=1;
->tmp = intanceA.a;
intanceA.a = tmp + 1;
while(++instanceA.a < 16) {
}
->
int PreIncrement(out int a)
{
a += 1;
return a;
}
tmp = instanceA.a;
while(PreIncrement(tmp) < 16) {
instanceA.a = tmp
}
2. Add offset calculation for structure and array of arrays.
TODOs have been marked in the corresponding places in this patch.
3. Improve helper functions so that they can process all possible types.
TODOs have been marked in the corresponding places in this patch.
4. Process the swizzle situation.
TODOs have been marked in the corresponding places in this patch.
A possible method is to extend current helper functions like below:
*_Load(RWByteAddressBuffer buffer, uint loc, bool isSwizzle, uint4 swizzleOffset)
Bug: angleproject:1951
Test: angle_end2end_tests
Change-Id: I68ae68d5bb77d0d5627c8272627a7f689b8dc38b
Reviewed-on: https://chromium-review.googlesource.com/848215
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
1cee0421
|
2018-09-09T17:00:21
|
|
Suppress ...shaders.builtin_variable.fragcoord_w.
Suppress dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_w on
Android Vulkan.
BUG=angleproject:2808
Change-Id: Ib2dcb83bef97352e6a169c0531e2316217d9149e
Reviewed-on: https://chromium-review.googlesource.com/1215382
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
3b968053
|
2018-09-05T14:46:25
|
|
Clean up state in EGLDebugTest.
Reset the EGL error callback for the benefit of following tests.
BUG=chromium:880495
Change-Id: Idd94fe032b89b8a0fe829cb4656e4204d9d71b53
Reviewed-on: https://chromium-review.googlesource.com/1208310
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
ef6023ea
|
2018-09-06T16:24:38
|
|
Vulkan: Make ContextVk driver uniforms a dirty bit.
This makes the update lazier and won't trigger as many times during
state changes. It also makes a command buffer available during the
update so we can use barriers if necessary.
Bug: angleproject:2598
Bug: angleproject:2727
Change-Id: I23ac91c84f6b1f4bad14b3354d19402e5978791e
Reviewed-on: https://chromium-review.googlesource.com/1211730
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fb19e084
|
2018-09-06T15:39:09
|
|
Vulkan: Correct gl_FragCoord with default FBO.
The viewport flipping we use would give incorrect values. Correct
them using the same logic we do for gl_PointCoord.
Also corrects the viewport scale driver uniform. It was not being
updated after the draw framebuffer setting was adjusted.
Also corrects the naming of the replaced builtin variables so it
can't possibly conflict with a user variable.
This was affecting the OpenGL line raster emulation.
Bug: angleproject:2598
Change-Id: I843b5ac7b02160a5ec81a6f8ed2d937b0937198b
Reviewed-on: https://chromium-review.googlesource.com/1208515
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
55b03d0e
|
2018-09-07T00:15:46
|
|
Fix ClearTest.RGB8WithMaskFramebuffer.
Clear all channels to known state before clearing with one masked,
so we know what to expect in the masked one.
BUG=angleproject:2674
Change-Id: Icbe58615c68e2b282a27d8f29c2f2a48fb8b1c3e
Reviewed-on: https://chromium-review.googlesource.com/1212822
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
d84b6737
|
2018-09-06T15:54:35
|
|
Cache ValidateDrawStates.
This improves performance of all draw call validation. The error that
should be generated on the draw call is cached in the Context. The
cache is updated in several places.
Bug: angleproject:2747
Change-Id: I178617623731608e2e7166b53ab6489d8b742ff5
Reviewed-on: https://chromium-review.googlesource.com/1158612
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
80171923
|
2018-09-05T13:50:35
|
|
Add rules file for ANGLE apk
Provide rules as an asset to the ANGLE apk.
Rules determine the conditions when ANGLE will be used by
Android applications.
Bug=angleproject:2418
Change-Id: I3b8f0c51dc12e039e8c67acbace249abd15ae961
Reviewed-on: https://chromium-review.googlesource.com/1211764
Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
4d42ef39
|
2018-09-06T10:38:50
|
|
Add A4A opt-in/out logic
This version of the code #ifdef's out the JSON-parsing code (which
dependency was not yet found). Instead, 2 in-code rules are created
and used (default and run Maps).
Bug: angleproject:2794
Change-Id: I9d8c00459d5e674035f4073ccb839fac8d4d7aa5
Reviewed-on: https://chromium-review.googlesource.com/1200375
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
7ada46c9
|
2018-09-06T10:58:26
|
|
Fix JSON cpp DEPS.
We need two repos to get jsoncpp working. First is the Chromium tree
mirror and second is the jsoncpp source itself. The Chromium version
includes only the build files and some source file overrides.
Bug: angleproject:2794
Change-Id: I0e1acaf783c5ae3935803eacdf93ffbe01f9fe4d
Reviewed-on: https://chromium-review.googlesource.com/1210562
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
dff32a0d
|
2018-08-28T14:35:50
|
|
Support multisample arrays in shader programs
The added tests check that using textureSize() and texelFetch() on
textures with a fixed point format return expected results. texelFetch
is also covered for integer format textures.
dEQP GLES 3.1 tests also cover a variety of multisampled array texture
formats.
BUG=angleproject:2775
TEST=angle_end2end_tests, angle_deqp_gles31_tests
Change-Id: I99b422e24b39e3563ed72f0fb85c9c1907df807d
Reviewed-on: https://chromium-review.googlesource.com/1196521
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
155bfd11
|
2018-08-31T17:27:10
|
|
Fix that same resource is bound on SRV and UAV simultaneously
This change makes sure that resource being set to UnorderedAccessView slot is
not bound on ShaderResourceView and resource being set to shader resource slot
is not bound on UnorderedAccessView.
Bug: angleproject:2768
Change-Id: I52fc5bf5e76ccf8be61c59b2195459728f95e536
Reviewed-on: https://chromium-review.googlesource.com/1201324
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
73599543
|
2018-09-05T16:16:54
|
|
Update update_canary_angle script.
Make it search in any output directory.
Bug: None
Change-Id: I4ea3ee70bbf051e534e97a972fcb6bbcb5ceeecc
Reviewed-on: https://chromium-review.googlesource.com/1208512
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4ab19079
|
2018-09-05T15:19:45
|
|
Update jsoncpp DEPS.
This points to a mirror of the Chromium jsoncpp folder. The
Chromium version includes a BUILD.gn that we can use.
Bug: angleproject:2794
Change-Id: I08f34e693d547cd01caefdeddaf43ce4b4bbc29d
Reviewed-on: https://chromium-review.googlesource.com/1208510
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
79ec21c5
|
2018-09-05T12:44:19
|
|
Small style guide amendments.
Bug: angleproject:1944
Change-Id: I682fa8a421bd69cfbd2a662bcc8dc9706262a0c6
Reviewed-on: https://chromium-review.googlesource.com/1207551
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
750e5087
|
2018-09-05T12:32:56
|
|
Update style guide.
Mention enums and static members can use CamelCase.
Bug: angleproject:1944
Change-Id: I7294418e9118d9d690f8f9c61adad9f5b819cc16
Reviewed-on: https://chromium-review.googlesource.com/1207550
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
cc046630
|
2018-09-04T11:58:14
|
|
Use chromium mirror for jsoncpp
Chromium has a jsoncpp mirror that matches github and has a ninja build
config so use that instead of Android mirror.
Bug: angleproject:2794
Change-Id: I48423818817f439f3a43f5edee557deae24bf028
Reviewed-on: https://chromium-review.googlesource.com/1203940
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
3d61ac27
|
2018-08-28T16:58:55
|
|
Vulkan: More micro-optimizations.
Inlining more methods into headers.
In total the patch series improves performance by about 60-70% in the
Vulkan draw call overhead test.
Bug: angleproject:2786
Change-Id: I70913ac6b3d5836c17c13e249950987df362f203
Reviewed-on: https://chromium-review.googlesource.com/1194883
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
9137adea
|
2018-08-27T14:22:37
|
|
Add support for EGL_ANDROID_blob_cache
The functionality of MemoryProgramCache is divided up in two. BlobCache
is now a generic binary cache, which interfaces with the callbacks from
EGL_ANDROID_blob_cache. MemoryProgramCache handles program
[de]serialization and interacts with BlobCache.
Bug: angleproject:2516
Change-Id: Ie4328a2e56a26338e033d84f4e53a1103411937d
Reviewed-on: https://chromium-review.googlesource.com/1194285
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
913ff54d
|
2018-08-07T15:14:05
|
|
ES31: support compute shader uniform buffer on D3D backend
BUG=angleproject:2759
TEST=angle_end2end_tests.ComputeShaderTest.UniformBuffer/ES3_1_D3D11
Change-Id: I92326c3a84f13b364aed0daf567b68f8a411ed2b
Reviewed-on: https://chromium-review.googlesource.com/1164843
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
|
|
3e29cf31
|
2018-08-31T17:19:17
|
|
Vulkan: Fix redefining TexStorage after TexImage.
This can be easily implemented via a release call.
Bug: angleproject:2651
Change-Id: I0adb3ed385284c6342716cd7c347de9966a81bab
Reviewed-on: https://chromium-review.googlesource.com/1200368
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a792193e
|
2018-08-31T17:19:18
|
|
Vulkan: Enable StateChangeTest.DisablingBufferedVertexAttribute.
This was likely fixed with default vertex attribute support.
Bug: angleproject:2650
Change-Id: Ibbc19013ed8227c6fe32ae186b0fa88e5c837589
Reviewed-on: https://chromium-review.googlesource.com/1200369
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2b858c2f
|
2018-09-03T13:58:14
|
|
Vulkan: More micro-optimizations to setupDraw.
Still a hotspot but much improved.
Bug: angleproject:2786
Change-Id: Ie68ff314e6c952f281b48f6d9af37b5dcd194d6a
Reviewed-on: https://chromium-review.googlesource.com/1194882
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
a153eddb
|
2018-08-31T17:19:19
|
|
Vulkan: Enable UniformTest.Sampler.
This test was fixed quite some time ago.
Bug: angleproject:2462
Change-Id: I49714dd08a5e477d72337147f83b80945a8486ee
Reviewed-on: https://chromium-review.googlesource.com/1200370
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fda46aa5
|
2018-08-31T17:19:15
|
|
Vulkan: Enable GLSLTest.ScopedStructsOrderBug.
This was fixed upstream in glslang.
Bug: None
Change-Id: I21751dba101fe39f94c91de6e73853ee9ad8c8f2
Reviewed-on: https://chromium-review.googlesource.com/1200366
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bf4dc156
|
2018-08-31T17:19:15
|
|
Vulkan: Enable BindUniformLocationTest.Compositor.
This was probably fixed some time ago. Possibly due to matrix uniform
support.
Bug: angleproject:2642
Change-Id: Ic4b9524d82e6770dcba117f5c155c413074ec172
Reviewed-on: https://chromium-review.googlesource.com/1200365
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
44558e37
|
2018-08-31T17:19:14
|
|
Vulkan: Enable TextureLimitsTest.
Seems to pass possibly because of a prior bug fix.
Bug: angleproject:2654
Change-Id: I53e67bfa28e5429c51720fa71d9168d2f1cf1ece
Reviewed-on: https://chromium-review.googlesource.com/1199928
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
73d15ba4
|
2018-08-31T17:19:13
|
|
Vulkan: Enable a dEQP point raster test.
This passes on the bots. It fails on 5x but passes on Pixel 2.
Bug: angleproject:2599
Change-Id: Ib71dcaf6adff104d7f70d1d6fe800e78c6778e66
Reviewed-on: https://chromium-review.googlesource.com/1199725
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d1249de0
|
2018-08-28T16:58:53
|
|
Vulkan: Optimize ContextVk::setupDraw.
This improves performance significantly in the Vulkan CPU overhead
test.
Bug: angleproject:2786
Change-Id: I911bc66a6b2d11dd3848ffa90927b314aeadfc24
Reviewed-on: https://chromium-review.googlesource.com/1194301
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
30b5d84c
|
2018-08-31T17:19:12
|
|
Vulkan: Fix line width caps.
We would need to enable the wide lines feature to support non-unit line
widths. For now just disable the caps.
Bug: angleproject:2598
Bug: angleproject:2706
Change-Id: I0dd228fc2c357bdd9442c3d841be769987a53f72
Reviewed-on: https://chromium-review.googlesource.com/1127303
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0a17e484
|
2018-08-31T17:19:11
|
|
Vulkan: Fix sync of initially disabled attributes.
If an attribute was never enabled or disabled the default state was not
properly synced in our implementation. This wasn't caught by currently
enabled tests. Those tests are now enabled in VertexAttributeTest.
Bug: angleproject:2800
Change-Id: I97c063651911379e16de4ee557d9840782114c54
Reviewed-on: https://chromium-review.googlesource.com/1199724
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9808d38c
|
2018-08-31T13:12:14
|
|
Fix that image texture works incorrectly when loading from program
binary
This bug is introduced when we implement image texture robust
initialization, where we forgot to update active image units mask in program
cache.
Bug: angleproject:2766
Change-Id: I01de02803173f2cf5b7b9ff740175a4d7cbee4ba
Reviewed-on: https://chromium-review.googlesource.com/1198683
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
|
|
ef3b9b46
|
2018-08-30T16:18:38
|
|
Vulkan: Add ContextVk dirty bits.
These dirty bits mostly track state needed for the command buffer. It
should speed up ContextVk::setupDraw by skipping unset dirty bits
instead of using boolean checks.
Improves perf slightly on the Vulkan null draw call test.
Bug: angleproject:2786
Change-Id: I071ce558c522732a17ad101d097ee4d10740abf1
Reviewed-on: https://chromium-review.googlesource.com/1194300
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
37386b02
|
2018-08-30T16:18:37
|
|
Vulkan: Cache object pointers in ContextVk.
Small performance optimization.
Bug: angleproject:2786
Change-Id: Ib01c1762d438ffb72ec25bf05135a7d3271d6aee
Reviewed-on: https://chromium-review.googlesource.com/1188954
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
88fc6da3
|
2018-08-30T16:18:36
|
|
Vulkan: Mega-refactor to VertexArrayVk.
This moves a lot of the code in VertexArrayVk into ContextVk. Having
the code in a centralized place makes the code a bit more organized
since the Context is reponsible for binding state to the command
buffers. It also makes it easier to use dirty bits to track the command
buffer state.
Bug: angleproject:2786
Change-Id: I5cefbb14028e8f3fe651f26e997ca88f8f1c7628
Reviewed-on: https://chromium-review.googlesource.com/1188953
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
253038d8
|
2018-08-30T16:18:35
|
|
Vulkan: Refactor VertexArrayVk::streamIndexData.
This enables us to use the same code for streaming client side index
arrays and for translating buffers.
Also includes a few more code cleanups.
Bug: angleproject:2786
Change-Id: Ic615d87cb50fd0acd8ab6b63ed334da4b1c40eff
Reviewed-on: https://chromium-review.googlesource.com/1188952
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
2eb54074
|
2018-08-22T16:41:26
|
|
Fix EGLImage pixel format validation
This fixes the scenario when EGLImage source and target have different types.
For example, a texture is created with unsigned format using glTexImage2D,
it is used as a source of EGLImage with eglCreateImageKHR,
and then the EGLImage is used to create a renderbuffer target with
glEGLImageTargetRenderbufferStorageOES.
OES_EGL_image doesn't specify what should happen in this case,
but GL implementations (Nexus 5X) seem to allow using this renderbuffer in
glFramebufferRenderbuffer and the resulting framebuffer is complete.
Thus, in this case, instead of checking whether the renderbuffer format
can be used in glFramebufferRenderbuffer, we need to check whether the
original texture can be used in glFramebufferTexture2D.
Similarly in reverse direction.
Also, for the case of source renderbuffer and target texture,
presume that glEGLImageTargetTexture2DOES will succeed regardless of
renderbuffer format.
1. Add isRenderable and isTexturable checks to egl::Image class,
and perform different checks depending on source type.
2. Add isRenderable check to FramebufferAttachment and delegate EGLImage
attachments check to egl::Image.
3. Use these checks in validation of EGLImageTargetTexture2D,
EGLImageTargetRenderbufferStorage and when checking attachment completeness
Bug: angleproject:2567
Change-Id: I8e9f4a2930a4075a4d8464f62582c6825270187e
Reviewed-on: https://chromium-review.googlesource.com/1192585
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
abcb2b3b
|
2018-08-29T17:04:15
|
|
Add stubs for A4A opt-in library.
Bug: angleproject:2794
Change-Id: I9ba8abf5fdac4a1bae24bc78ece62337d24e903b
Reviewed-on: https://chromium-review.googlesource.com/1196043
Commit-Queue: Ian Elliott <ianelliott@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
97dbf436
|
2018-01-10T21:28:00
|
|
Add specification for ANGLE_texture_multisample.
The patch adds the specification for the ANGLE_texture_multisample
extension, which enables the functionality of multisample texture.
This extension is also the basis to expose multisample texture to
web via a webgl extension.
BUG=angleproject:2275
BUG=angleproject:2775
Change-Id: I21771ac1d7d3e2fad8bf5d5e0a5c5e082c8fe7a2
Reviewed-on: https://chromium-review.googlesource.com/859917
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
3a181e3e
|
2018-08-29T15:17:05
|
|
Roll VK deps forward as of 8/31/2018
Roll Vulkan ANGLE dependencies forward as of 8/31/2018. This grabs some
new validation checks including point-related checks that may be
interesting for bug 2727.
One of these checks, related to PointSize, is firing so I've added some
code in the VK debug callback to suppress those error messages for now
and filed a separate bug (2796) to fix that issue in the renderer.
Had to overhaul the json gen script as validation changed how these are
generated. They now use a base template with some strings replaced to
account for platform and Vulkan header version. Offloaded all of that
work to our existing json generate script which was previously more of
an intelligent copy but now had some further intelligence for
transforming from input template into final json files.
Had to also roll glslang forward to meet shader validation dependency.
Bug: angleproject:2727
Change-Id: I929619cd258cddd6bc9c6743600e072c46736f5c
Reviewed-on: https://chromium-review.googlesource.com/1194617
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Tobin Ehlis <tobine@google.com>
|
|
89e82979
|
2018-08-28T11:32:53
|
|
Vulkan: Allow gaps in vertex attributes by packing them.
Work around restrictions with setting null vertex buffers on command buffers
by binding ranges of non-null buffers.
Enable VertexAttributeTest on ES2/Vulkan
BUG=angleproject:2792
BUG=angleproject:2797
Change-Id: Ief9db1e60c8c9045a4101abe859302d529decbcb
Reviewed-on: https://chromium-review.googlesource.com/1194282
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b02fc662
|
2018-08-21T09:48:01
|
|
Lock around all EGL and GL calls with a global mutex.
BUG=angleproject:2464
Change-Id: I0231cc84777272f9cf26298c6a137f1ad3fd51d6
Reviewed-on: https://chromium-review.googlesource.com/1183441
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
86792f44
|
2018-08-30T16:18:34
|
|
Vulkan: Optimize ContextVk::updateDefaultAttributes.
This function was getting called every time because the dirty bit mask
included dirty bits for unused program attributes. Fix this by making
sure we never have dirty bits set for inactive attributes.
Bug: angleproject:2786
Change-Id: Icf72dadd8a853d3a448abb303119b7b71f6c8193
Reviewed-on: https://chromium-review.googlesource.com/1188951
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a064c27c
|
2018-08-30T16:18:34
|
|
Vulkan: Refactor VertexArrayVk::streamVertexData.
Merges duplicated code in convertVertexBuffer with streamVertexData.
Refactoring change only.
Bug: angleproject:2786
Change-Id: I32baaad42d74918cfb17f04970d3c7e9b88362e7
Reviewed-on: https://chromium-review.googlesource.com/1188950
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
70a4ef10
|
2018-08-30T15:55:41
|
|
Vulkan: Fix depth range scaling.
We were using a formula that didn't work for some of the clipping
tests.
Bug: angleproject:2601
Change-Id: I60d965c2701656ad590c3b250c2cc777fb432421
Reviewed-on: https://chromium-review.googlesource.com/1194919
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
161a89b1
|
2018-08-31T10:12:38
|
|
Skip DrawElementsIndexOutOfRangeWithStaticDraw on NVIDIA D3D11 FL9.3.
This test started consistantly failing after changing the shard count on
this test suite.
BUG=angleproject:2799
Change-Id: I75769b08f9d4dda1d436facc34a8292193b4538e
Reviewed-on: https://chromium-review.googlesource.com/1199723
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
064458a8
|
2018-08-30T14:02:02
|
|
Remove separate ANGLE_texture_multisample_array
We can just expose OES_texture_storage_multisample_2d_array instead.
The compiler was already changed to accept
OES_texture_storage_multisample_2d_array, and now the change is made
also at the API level.
Out-of-bounds access guarantees provided by ANGLE were the only big
difference between the ANGLE spec and the OES spec, so it's simpler
to just expose the native extension. Safe out-of-bounds accesses can
be guaranteed without having them in the extension spec.
This also adds missing texStorage3DMultisample entry point to the proc
table, which will enable running dEQP tests.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: Idf376ee877a3374a33de177df023f0531ec8f01d
Reviewed-on: https://chromium-review.googlesource.com/1196722
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
fd162107
|
2018-08-27T16:14:57
|
|
Support multisample arrays as framebuffer attachments
This contains tests for framebuffer completeness when layers of
multisample array textures are attached.
Simple clearing of a layer of a multisample color texture array and
blitting the result to a non-multisampled texture is also covered.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: Idf383cab69587dbd8157ab9a2b7c47e5a90b3cf7
Reviewed-on: https://chromium-review.googlesource.com/1190184
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
1bf963b6
|
2018-07-19T14:56:37
|
|
Clean up PlatformMethods attribute enum
Centralize definition of EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX
in Platform.h.
Bug: angleproject:2528
Change-Id: Id2b022c4ea08d2e98cbd6c3b248b58d096c20dfb
Reviewed-on: https://chromium-review.googlesource.com/1144265
Reviewed-by: Tobin Ehlis <tobine@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
44b2c0b1
|
2018-08-29T17:31:27
|
|
Avoid rebase_path() in BUILD.gn.
Adjust source paths so we don't need to use rebase_path() on all of them.
BUG=angleproject:1569
Change-Id: I687dbb9378b1f054eb5664320c662fe4c882a82f
Reviewed-on: https://chromium-review.googlesource.com/1194619
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e1037e9b
|
2018-08-29T20:49:49
|
|
Avoid rebase_path() in tests/BUILD.gn.
Adjust source paths so we don't need to use rebase_path() on all of them.
BUG=angleproject:1569
Change-Id: I1af7678dd8961405446fec49731eba5294bcb586
Reviewed-on: https://chromium-review.googlesource.com/1196046
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5fdc38cf
|
2018-08-28T09:20:57
|
|
Add jsoncpp as third_party dep
Adding jsoncpp in third_party/jsoncpp dir. This is a C++ library to
parse json files.
Bug: angleproject:2785
Change-Id: I12f467ef87c8d4801815c79f211fc57a3a9f4b49
Reviewed-on: https://chromium-review.googlesource.com/1194840
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
0c5a9e22
|
2018-08-27T14:36:23
|
|
Implement TexStorage3DMultisample on the GL backend
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: Ic980d86cd787bcf29f622e68b0c38b0eb6ca5688
Reviewed-on: https://chromium-review.googlesource.com/1190182
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
80aa5592
|
2018-08-29T15:50:39
|
|
Clean up TextureD3D_2DMultisample
This removes some duplicate unreachable calls from TextureD3D_External
and TextureD3D_2DMultisample. There will be further use for this once
TextureD3D_2DMultisampleArray is implemented.
This also cleans up some no-ops from TextureD3D_2DMultisample and sets
it correctly as immutable.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: Ia253a1ed6f418a24bb0c4a4e61654b1c061dba97
Reviewed-on: https://chromium-review.googlesource.com/1193950
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
f0d0408a
|
2018-08-28T16:02:13
|
|
Use OES_texture_storage_multisample_2d_array
There's an OES extension for multisample texture arrays,
OES_texture_storage_multisample_2d_array. Change references from
ANGLE_texture_multisample_array to the native extension in the shader
compiler.
ANGLE still needs to have robust behavior for out-of-range texel
fetches that's not found in the original extension, but this does not
need to be spelled out in the extension spec.
BUG=angleproject:2775
TEST=angle_unittests
Change-Id: Ie80ae767cc92ccaf7389af28789f45547f86978f
Reviewed-on: https://chromium-review.googlesource.com/1193266
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ddc41208
|
2018-08-23T22:11:55
|
|
Rename .gypi -> .gni.
Rename and reformat all gyp files. They were previously converted to
gn but not renamed to preserve continuity in git. This rename completes
the removal of all traces of gyp.
BUG=angleproject:1569
Change-Id: I50123105d8881583184ffc564bed65d9fbe4d41c
Reviewed-on: https://chromium-review.googlesource.com/1187885
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ae6c2b88
|
2018-08-29T13:05:23
|
|
Fixes found while turning on A4A opt-in/out code.
Bug: angleproject:2789
Change-Id: If9d83dd94d392103ed5200ba471d47dc907cf3ca
Reviewed-on: https://chromium-review.googlesource.com/1194612
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
|
|
a7f97a27
|
2018-08-21T00:04:05
|
|
Gyp is dead. Long live gn.
Remove the gyp build. The .gypi files were not renamed so that diff and
rebase would work on this change. They will be renamed in a separate
change.
BUG=angleproject:1569
Change-Id: If8a217027633293664b820104f91a4ca5889b24e
Reviewed-on: https://chromium-review.googlesource.com/1187380
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
4c310831
|
2018-08-29T13:43:17
|
|
Vulkan: Return VkDeviceSize from DynamicBuffer.
This obviates many static_casts. More closely represents what Vulkan
is doing. One cast remains where we are using uint32_t for dynamic
offsets with uniform buffers.
Bug: angleproject:2786
Change-Id: I043ebb5d965f46ee6ebbfcb91d75a58508cacfe3
Reviewed-on: https://chromium-review.googlesource.com/1188949
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
3e217f65
|
2018-08-28T16:55:20
|
|
Rename UniformHLSL to ResourcesHLSL
In future, atomic counter and shader storage block will be added into UniformHLSL since
they all need the UAV register. So this change renames UniformHLSL to ResourcesHLSL.
Bug: angleproject:1951
Change-Id: Ie9eda090763fbb516468c138e65e111eb12fe514
Reviewed-on: https://chromium-review.googlesource.com/1193322
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
d310a434
|
2018-08-24T15:40:23
|
|
Add validation and negative tests for multisample arrays
This adds errors for binding and allocating multisample array
textures. New tests in TextureMultisampleTest.cpp check that the
errors are generated as specified.
Tests for querying supported sample counts are also improved and
extended for multisample array textures.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: I6a0fe7ae04bb3d0072f6cbe09026b05e2bc47325
Reviewed-on: https://chromium-review.googlesource.com/1188576
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1e1b731a
|
2018-08-28T13:27:23
|
|
Vulkan: Clean up point coord translation.
Use - 0.5 instead of + -0.5 in FlipGLPointCoord.
Bug: angleproject:2673
Change-Id: I819dcc45f9098ea64085eb71af8920fe99b67c62
Reviewed-on: https://chromium-review.googlesource.com/1194454
Reviewed-by: Tobin Ehlis <tobine@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
47f6dd0d
|
2018-08-10T13:36:32
|
|
Implement robust initialization for image texture
This change fixes a bug that the image texture initialization time is not
correct. It happens when we use compute shader to write data to an
uninitialized texture, then use readPixels to read the result which
results that texture initialization falls behind image store and
covers the real result.
Bug: angleproject:2766
Change-Id: I4e986972096857afc975c40dfa4d559a2f31194c
Reviewed-on: https://chromium-review.googlesource.com/1170569
Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4e877ad3
|
2018-08-28T00:18:47
|
|
Suppress TransformFeedbackNegativeAPI test on Mac AMD.
Seems to be failing on Mac Pro FYI Release (AMD). Unclear exactly the
scope of the problem so suppress it on all Mac AMD for now.
Bug: angleproject:2747
Change-Id: I7a5da00b9056839f3ed01fc4c83fa7993019bda7
Reviewed-on: https://chromium-review.googlesource.com/1192550
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6dfdca83
|
2018-08-03T17:10:55
|
|
ES31: support compute shader sampling on D3D backend
BUG=angleproject:2756
TEST=angle_end2end_tests.ComputeShaderTest.SamplingAndImageReadWrite/ES3_1_D3D11
Change-Id: I8f112227c5703fcaafffbd2262e6a039f869c483
Reviewed-on: https://chromium-review.googlesource.com/1161754
Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
24507bc7
|
2018-08-27T20:43:33
|
|
Add Windows MSVC x64 builders to CQ.
These are now up and running. This will prevent a common source of
compile regression.
Bug: angleproject:2740
Change-Id: I0c66a61338c831e21cab0b30cfa9334da54c4ca5
Reviewed-on: https://chromium-review.googlesource.com/1192543
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
33dab025
|
2018-08-24T10:00:16
|
|
Add test for transform feedback state change validation.
This test covers several validation edge cases with detecting feedback
loops and buffers bound to multiple types of binding.
Bug: angleproject:2747
Change-Id: I612a4fcf1870667a821ebcba2d3948695b3cabd5
Reviewed-on: https://chromium-review.googlesource.com/1174094
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
7b2f0274
|
2018-08-27T10:16:08
|
|
Inline more buffer binding calls.
This splits checkObjectAllocation into the inline part and the
slow part. It uses ANGLE_INLINE to force the former to be inlined.
Also inlines and optimizes a few other buffer binding related checks.
Improves performance in a bindings performance test by about 20%.
Includes contributions from matavenrath@nvidia.com.
Test: Bindings_gl_100_objects_allocated_at_initialization
Bug: angleproject:2777
Change-Id: I71b07d72a8e81db7a90140ef84eca599a29239ed
Reviewed-on: https://chromium-review.googlesource.com/1190442
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
22f7aafb
|
2018-08-23T14:13:51
|
|
Add webgl checks in GetActiveUniformsiv.
Add validation that disallows GL_UNIFORM_NAME_LENGTH from being used.
BUG=angleproject:1523
TEST=angle_end2end_tests
Change-Id: Id70e25ab79fd93ae4eb8b8343819458a4a0e4a71
Reviewed-on: https://chromium-review.googlesource.com/1187511
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c14ab2a7
|
2018-08-24T13:57:55
|
|
Fix dEQP_GLES3.functional.negative_api.shader.program_binary
The frontend was not taking into account the fact that some drivers do
not support program binaries. The fix is that now
glGetProgramiv(GL_PROGRAM_BINARY_LENGTH)
returns 0 under such circumstances.
Bug: angleproject:2780
Change-Id: I4ea2cda6bb4612e69dbd7e00b3d43b97ee3b3c3d
Reviewed-on: https://chromium-review.googlesource.com/1188768
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
89664843
|
2018-08-24T14:45:36
|
|
Add glTexStorage3DMultisampleANGLE entry point
This adds the entry point but does not implement it yet.
The entry point and enums are also added to the gl2ext_angle.h
header file.
BUG=angleproject:2775
TEST=angle_end2end_tests
Change-Id: I24c231c52e7cbb13637880b21044e655935b51e8
Reviewed-on: https://chromium-review.googlesource.com/1188575
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
8707af51
|
2018-08-23T15:49:14
|
|
Add a test case for enabled-but-inactive vertex attributes
Bug: angleproject:2138
Change-Id: Ia5331845d34f60a31280e6da041d13dc3da29232
Reviewed-on: https://chromium-review.googlesource.com/1187364
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
337bd698
|
2018-08-22T16:16:38
|
|
Disable vertex attributes if not active in program
Even if explicitly enabled.
Bug: angleproject:2138
Change-Id: I598d21296bb6843e05cdeab146c1ff3da3a1174b
Reviewed-on: https://chromium-review.googlesource.com/1185743
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
dc248f71
|
2018-08-24T10:12:27
|
|
Re-enable dEQP_GLES3.functional.negative_api.texture.bindtexture
The test no longer fails on any platform
Bug=angleproject:2779
Change-Id: I1b184b41be23a25fb01a54587eda88fac470b7de
Reviewed-on: https://chromium-review.googlesource.com/1188604
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8ca60805
|
2018-08-23T14:10:02
|
|
Add 2D MS array sampler support to compiler
This also places textureSize(gsampler2DMS) correctly in the ESSL 3.10
builtins instead of ESSL 3.00 builtins.
BUG=angleproject:2775
TEST=angle_unittests
Change-Id: Ieb0f7a7424a5558a5569af6d4fcbcc9b12ec9840
Reviewed-on: https://chromium-review.googlesource.com/1186466
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4285647b
|
2018-08-23T11:16:15
|
|
Draft ANGLE_texture_multisample_array spec
This is needed for antialiased multiview rendering.
The extension is written against OpenGL ES 3.1. To add support for it
in OpenGL ES 3.0, an extension for exposing non-array multisample
textures will also be required (ANGLE_texture_multisample). This has
been previously proposed though not yet submitted to ANGLE.
The extension spec provides robustness guarantees for sampling
multisample textures. It still needs to be tested whether native
implementations follow these guarantees or if the spec needs to be
adjusted to allow for clamping coordinates. The native
KHR_robust_buffer_access_behavior is not very explicit about whether
the texel fetch robustness applies also to multisample textures.
BUG=angleproject:2775
Change-Id: I1bd721008a10bee29f8e2e06edca19370a9932a7
Reviewed-on: https://chromium-review.googlesource.com/1186336
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
d6781dce
|
2018-08-23T10:51:06
|
|
Extend LinkProgramPerfTest to support compile only
Add an option for "compie_only" and "compile_and_link".
Bug: chromium:849576
Change-Id: Id796ebb85ad5aff1a5272173f11ce2ff42685dce
Reviewed-on: https://chromium-review.googlesource.com/1186159
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
221fa261
|
2018-08-23T10:12:09
|
|
Re-enable BlitFramebuffer tests
Accidentally disabled in 265811130, which intended to disable tests
requiring GL_ANGLE_framebuffer_blit, but also disabled glBlitFramebuffer
tests. glBlitFramebuffer is core, but was conditioned to
EXT_framebuffer_blit.
Bug: angleproject:2773
Change-Id: I0468af8874dc8676a4eb6214b111c08aadc0e2fc
Reviewed-on: https://chromium-review.googlesource.com/1186543
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c0edff66
|
2018-08-22T20:08:47
|
|
Roll chromium DEPS.
Roll to get versions of build and tools/clang don't require gyp in our DEPS,
so we can to remove gyp from our DEPS.
BUG=angleproject:1569
Change-Id: I2d1639bb5d576e62aff2a8aa993542b0ac777be6
Reviewed-on: https://chromium-review.googlesource.com/1185756
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b42162fb
|
2018-08-20T12:58:37
|
|
Optimize ValidateDrawStates.
Apparently returning a small struct was slow enough to make a 2-3%
difference in benchmark scores. Very visible on the MSVC sampling
profiler.
Bug: angleproject:2747
Change-Id: I459a127f3f2a0fc3a08db15c37257a67f63f20ce
Reviewed-on: https://chromium-review.googlesource.com/1181465
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
eef9de68
|
2018-08-23T11:03:22
|
|
Add validation state change test for draw framebuffer.
This test covers feedback loops and invalid component types.
Bug: angleproject:2747
Change-Id: I3e3c762c5457afef59311f7c5843e464fa386cd6
Reviewed-on: https://chromium-review.googlesource.com/1174093
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c4097441
|
2018-08-22T12:14:52
|
|
Fix x64 visual studio build errors
Bug: angleproject:2740
Change-Id: I44fd2a1daf3dca764e2eef73e437feb32b36dbaa
Reviewed-on: https://chromium-review.googlesource.com/1185234
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
9259fd0d
|
2018-08-22T12:12:00
|
|
Clean and enable NoLeakingFragments multiview test
Use helper to create multiview backing textures in NoLeakingFragments
test instead of doing FBO attachments twice.
The test seems to pass on Windows after the recent fixes that have
been done to the tests, or possibly due to other earlier fixes.
BUG=angleproject:2687
TEST=angle_end2end_tests
Change-Id: I6015a5b44fdd06faf7b9375bad501355be8d7732
Reviewed-on: https://chromium-review.googlesource.com/1184713
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a7b35c33
|
2018-08-21T16:32:24
|
|
Add helpers for multiview framebuffer init
Multiview tests now use common helpers to create textures for
multiview framebuffers and often also to attach the textures to the
framebuffers.
The tests now rely on uploaded texture data to initialize the buffers
instead of clearing the framebuffers with glClear.
BUG=angleproject:2765
TEST=angle_end2end_tests
Change-Id: I7d6d63add5943cab610ab888045d5b0f8ba29215
Reviewed-on: https://chromium-review.googlesource.com/1184712
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
5fea1b76
|
2018-08-22T10:05:07
|
|
Add state change test for uniform buffer validation.
Bug: angleproject:2747
Change-Id: Ia808e26a48ecf432cc29ebd8514f265ff3e15ce8
Reviewed-on: https://chromium-review.googlesource.com/1169825
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
4b4197af
|
2018-08-22T15:24:41
|
|
Ignore D3D11 debug layer messages in multiview tests
This is better than skipping the tests entirely. The debug layer
messages appear incorrect and may be specific to Windows 7 and
Windows Server 2008.
BUG=angleproject:2778
TEST=angle_end2end_tests on Windows Server 2008
Change-Id: Ief81fbe22f518c393a37a0969c8987ed9500fbed
Reviewed-on: https://chromium-review.googlesource.com/1184918
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
121d6c31
|
2018-08-22T13:48:28
|
|
Remove cq_name from cq.cfg at tandrii@chromium's request.
BUG=
Change-Id: Iffcbace5f2165718c1db617b83692eb82c48d057
Reviewed-on: https://chromium-review.googlesource.com/1184907
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
02cd1526
|
2018-08-22T13:46:21
|
|
Temporarily suppress multiview test failure due to debug layers
On example of the debug layer warnings:
[ RUN ] MultiviewRenderTest.ProgramRelinkUpdatesAttribDivisor/ES3_D3D11_force_geom_shader_side_by_side
Message 0: ID3D11DeviceContext::DrawInstanced: Vertex Buffer at the input vertex slot 1 is not big enough for what the Draw*() call expects to traverse. This is OK, as reading off the end of the Buffer is defined to return 0. However the developer probably did not intend to make use of this behavior.
BUG=angleproject:2765
Change-Id: Ic7f45d7965162640d41d27c4b746e1048de59e15
Reviewed-on: https://chromium-review.googlesource.com/1184906
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
44ae899a
|
2018-08-20T15:37:09
|
|
Fix resource init/teardown in multiview tests
This calls TearDown functions properly in MultiviewDrawTest test
classes.
GL RAII objects can't be used as test class members since the GL
objects need to be deleted before the test class TearDown is called.
Since now the tests call ANGLETestTearDown, this causes D3D debug
layer messages to be checked. It turns out that there are some
seemingly incorrect debug layer messages generated on AMD bots, so
the failing tests are now disabled on AMD/Windows.
BUG=angleproject:2765
TEST=angle_end2end_tests
Change-Id: Ifa0fe4d19b76aa84bb3b6b18c8f66a8ab6bd893e
Reviewed-on: https://chromium-review.googlesource.com/1179839
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
87498164
|
2018-08-21T21:57:22
|
|
Make some Program methods inlined
These methods are very hot in the DrawCall/gl_null bechmark. With this
CL applied, the score can improve about 10% on Linux.
This also removes a few unnecessary resolveLink calls.
Bug: chromium:873724
Change-Id: I6034f29eeeebe8341dae3988c38196123687a44f
Reviewed-on: https://chromium-review.googlesource.com/1183522
Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|