- 16 Feb, 2018 2 commits
-
-
Jamie Madill authored
This fixes a build break because of 046fa0ef. See: https://crrev.com/c/898591 Bug: angleproject:2333 Change-Id: I6a4cb60dd2d2958ea71aaa27f1429233c2787fb4 Reviewed-on: https://chromium-review.googlesource.com/922878Reviewed-by:
Scott Graham <scottmg@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
This change lets us create egl::Surfaces from a D24S8 config. This is a bit hacky, because the spec only mandates 24 -or- 32 bit depth support, but not both or either individually. Will need follow-up work for proper EGL config setup. A single depth buffer is allocated for the entire set of swapchain images and is used with each. This also might be a problem if we're rendering to multiple frames at the same time. We'll likely have to revisit this in the future as well. This adds a new RenderTargetVk to the SurfaceVk class which points to the Depth/Stencil image. Since ImageViews must refer to either the depth or stencil, but not both, we'll need to address this when we get to implementing depth/stencil texture reads in shaders. Bug: angleproject:2357 Change-Id: Ibed0eed7e1d0efb272758dbfc79fa2c5aa93997f Reviewed-on: https://chromium-review.googlesource.com/919761Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
- 15 Feb, 2018 6 commits
-
-
Olli Etuaho authored
Unmangled names of built-ins are not inserted to the symbol table in a normal way, so the function to do that is not needed. BUG=angleproject:2267 TEST=compile ANGLE Change-Id: I68bae9a1f762ecc69ab31f04458a38c941b9d74c Reviewed-on: https://chromium-review.googlesource.com/922202Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Nico Weber authored
Also teach MSVC that ANGLE_CRASH() can't return. Also fix instances of the warning in build configurations where UNREACHABLE() can return (e.g. release without dcheck_always_on or debug). If the UNREACHABLE()s are truly unreachable, this change has no behavior change. Bug: chromium:810767 Change-Id: I68f3587cf3e268c3ef634dce7ae3d70399859d0f Reviewed-on: https://chromium-review.googlesource.com/914842Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Nico Weber <thakis@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org>
-
Lingfeng Yang authored
This is to fix error messages when running GLES1 samples (and probably other apps) from different directories than the same one as where libGLESv1_CM.dylib is located. BUG=angleproject:2306 Change-Id: I24ab33eb1bc805c1e64efab9a0acbfcf10480d94 Reviewed-on: https://chromium-review.googlesource.com/920926Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Lingfeng Yang <lfy@google.com>
-
shinchiro authored
Adjust a compile guard around posix_memalign. Bug: angleproject:2163 Change-Id: I1d2dca24b8a2b8e549df411b1611e9fe0ac9082d Reviewed-on: https://chromium-review.googlesource.com/920748Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Lingfeng Yang authored
GLES1 has functions like glFrustum / glTranslatef which are baked 4x4 matrix operations. The purpose of this CL is to add those operations as library functions in ANGLE, to make it convenient later on. This is inspired by GLM and tested against GLM-generated numbers. BUG=angleproject:2306 Change-Id: I3b428a115a935ee4f0d00585ad38745a38cc128c Reviewed-on: https://chromium-review.googlesource.com/909578 Commit-Queue: Lingfeng Yang <lfy@google.com> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Yuly Novikov authored
Need to include gtest before X11 to avoid defines conflict BUG=angleproject:2348 Change-Id: If758c53fb5ef010506f13165186110f00c099e07 Reviewed-on: https://chromium-review.googlesource.com/919687Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
- 14 Feb, 2018 11 commits
-
-
Geoff Lang authored
BUG=angleproject:2188 Change-Id: Icbe78f645b693a5b2ef555feffda0f618209e867 Reviewed-on: https://chromium-review.googlesource.com/757092 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Luc Ferron <lucferron@chromium.org>
-
Jamie Madill authored
This makes the current clear color a bit more accessible than using the current GL state clear color directly. It is stored in the Context using the Vulkan clear color struct. This also cleans up the attachment clear values in FramebufferVk and paves the way for depth/stencil clear when support for depth/stencil exists. Bug: angleproject:2357 Change-Id: I0553e4447249325115625a44e9f4b1623c7cb0bc Reviewed-on: https://chromium-review.googlesource.com/919550 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
Jamie Madill authored
Passing the Renderer pointer instead of the Context pointer makes these methods a bit easier to work with from the "EGL" sections of the code. This is a refactoring-only change to aid the Depth/Stencil implementation. Bug: angleproject:2357 Change-Id: Icbcc72a1daff4edd947a21672744498781cfc064 Reviewed-on: https://chromium-review.googlesource.com/919523Reviewed-by:
Luc Ferron <lucferron@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Jamie Madill authored
Bug: angleproject:2347 Change-Id: I56edfde2dbc020d5c792cc4f107aa4b9d6b71840 Reviewed-on: https://chromium-review.googlesource.com/905895Reviewed-by:
Yuly Novikov <ynovikov@chromium.org> Reviewed-by:
Luc Ferron <lucferron@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Luc Ferron authored
Flakyness noticed there: https://ci.chromium.org/buildbot/tryserver.chromium.angle/mac_angle_rel_ng/ https://ci.chromium.org/buildbot/chromium.gpu.fyi/Mac%20FYI%20Release%20%28Intel%29/ Introduced in: https://chromium-review.googlesource.com/c/angle/angle/+/913108 Change-Id: I9cbd76c0472d023005ded9f957b304a4a769c619 Reviewed-on: https://chromium-review.googlesource.com/919547 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Luc Ferron authored
* This commit includes a JS file to execute on the spec and generate the JSON output of all the mandatory texture caps. Bug: angleproject:2348 Change-Id: I57e969915bdd0e7104e00a73fd3743ff1ecf0a6d Reviewed-on: https://chromium-review.googlesource.com/911615 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Geoff Lang authored
BUG=angleproject:2107 BUG=angleproject:2317 Change-Id: I22260e1093dc6c09e4627c62a95ca4088c99e951 Reviewed-on: https://chromium-review.googlesource.com/678480 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Jamie Madill authored
This reverts commit 560bfbcb. Reason for revert: Appears to be causing a compile error on the ANGLE roll. https://chromium-review.googlesource.com/c/chromium/src/+/914429 https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_compile_dbg_ng/11598 /b/swarming/w/ir/cache/builder/linux/src/out/Debug/../../third_party/llvm-build/Release+Asserts/bin/ld.lld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::compare(unsigned long, unsigned long, char const*) const >>> referenced by StandAlone.cpp Original change's description: > Vulkan: Add glslang validator to build. > > This binary will be used to generate internal shaders for > clearing/blit/etc. > > Bug: angleproject:2339 > Change-Id: I13db7d7a4f5a0155798c9b9a6d2972dd69a680ef > Reviewed-on: https://chromium-review.googlesource.com/904683 > Commit-Queue: Jamie Madill <jmadill@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:2339 Change-Id: I7bcedf27831648d4c659294d12cab50f6ef9f33f Reviewed-on: https://chromium-review.googlesource.com/919141Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Luc Ferron <lucferron@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Yunchao He authored
This change: 1) uses the new style ANGLE_SKIP_TEST_IF to skip tests. 2) replaces compile-time definition for OSX to skip tests by run-time function IsOSX() to skip tests, in order to align with ANGLE_SKIP_TEST_IF. 3) fixes a couple of typos. BUG=angleproject:2005 Change-Id: I5af77d82257536b9eb79e26afa502f5b91ff6d31 Reviewed-on: https://chromium-review.googlesource.com/915861 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
Luc Ferron authored
Bug: angleproject:2352 Change-Id: I0ac83f3173d22a2ee8bc98d2fd7bfa1875d46b8c Reviewed-on: https://chromium-review.googlesource.com/912358Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Luc Ferron <lucferron@chromium.org>
-
Luc Ferron authored
We are generating the caps map using various bits from the results of vkGetPhysicalDeviceFormatProperties. This contains all the information required to fill out "renderable", "texturable" and "filterable". Later we'll need to read from vkGetPhysicalDeviceImageFormatProperties as well to get the sampleCounts. The tests for now are not very meaningful since they use the same logic as the caps code to build the expected results, however as soon as we'll add the hard-coded list of mandatory texture caps, the test will be a good validator that we are not breaking anything. We only check the optimal set of flags since it is the most restrictive set. isTexturable = flags contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT isFilterable = flags contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT isRenderable = flags contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT OR VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT Bug: angleproject:2348 Change-Id: I9da0712190d2678d7e377d6fcd4ca83d23eefd38 Reviewed-on: https://chromium-review.googlesource.com/908712 Commit-Queue: Luc Ferron <lucferron@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
- 13 Feb, 2018 4 commits
-
-
Olli Etuaho authored
This gets rid of a few extra ImmutableString to std::string conversions which makes the code clearer. There doesn't seem to be any significant effect on performance. BUG=angleproject:2267 TEST=angle_unittests Change-Id: I36ebbc8a4130ab8f9d6194feca83ec5dcbc95f78 Reviewed-on: https://chromium-review.googlesource.com/916141Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Olli Etuaho authored
Array brackets are not included in ShaderVariable::name, so they don't need to be pruned from there either when using the name to look up the variable. BUG=angleproject:2267 TEST=angle_unittests --gtest_filter=*InitOutput*Array* Change-Id: I2b80a88c1d67f7f0dde12880bcfb35fb6d861cd0 Reviewed-on: https://chromium-review.googlesource.com/909109Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
-
Tobin Ehlis authored
Create "icd" subdir in angledata directory where the Vulkan mock ICD json file is stored. This prevents potential loader conflicts with the layer json files. This change means that when running with the mock ICD a user will need to set their VK_ICD_FILENAMES env variable to now point to "<build_out_dir>/angledata/icd/VkICD_mock_icd.json" and make sure that the built mock icd library resides in the system's shared object search path. Bug: angleproject:2159 Change-Id: I802bb61a06a2f370bb1fa7a28d9c3548e5f94ecf Reviewed-on: https://chromium-review.googlesource.com/914819 Commit-Queue: Tobin Ehlis <tobine@google.com> Reviewed-by:
Yuly Novikov <ynovikov@chromium.org>
-
Olli Etuaho authored
BUG=angleproject:2267 TEST=angle_unittests Change-Id: I9b7e01801caa7235ac5e2d4212ea92e38c1f774d Reviewed-on: https://chromium-review.googlesource.com/908752 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Corentin Wallez <cwallez@chromium.org>
-
- 12 Feb, 2018 9 commits
-
-
Geoff Lang authored
BUG=chromium:810767 Change-Id: Ic0dafc9038b14093fdb799fe382ba8275195c0cc Reviewed-on: https://chromium-review.googlesource.com/914804Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This simple test will be used to debug the Vulkan back-end's basic scissored clear functionality. Bug: angleproject:2356 Change-Id: I4bed68740ac57b3cc61f2dfe9164081b05bc31b3 Reviewed-on: https://chromium-review.googlesource.com/914230Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Brandon Jones authored
This enables the copyTexImage2D and copyTexSubImage2D to handle multisampled source through through the blit path. We attempt to use a cached texture as an intermediate to resolve to, or create a new texture if there's a mismatch. The resolved texture is sent through blit11::copyTexture as normal. BUG:angleproject:2316 Change-Id: Ie3490b45b1a368300ee13fe5a0b35dc3920364ff Reviewed-on: https://chromium-review.googlesource.com/911889Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Jamie Madill authored
This binary will be used to generate internal shaders for clearing/blit/etc. Bug: angleproject:2339 Change-Id: I13db7d7a4f5a0155798c9b9a6d2972dd69a680ef Reviewed-on: https://chromium-review.googlesource.com/904683 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Jiawei Shao authored
This patch intends to support program link validation on geometry shader itself. A link error should occur when linking a program with a geometry shader that lacks input primitive or output primitive or the declaration of 'max_vertices'. This patch also adds the support of linking a program with geometry shader in angle_end2end_tests. BUG=angleproject:1941 TEST=angle_end2end_tests dEQP-GLES31.functional.shaders.linkage.es31.geometry.varying.rules.unspecified_* Change-Id: I25fb08514753102f5dd3ab86211c05d2ca4fd185 Reviewed-on: https://chromium-review.googlesource.com/898842 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
This reverts commit da91c9a6. Reason for revert: Causes undefined behaviour in linker. Original change's description: > GLES1: Link against angle_util_static instead of angle_util. > > Attempting to work around missing .so on linux bots. > > BUG=angleproject:2303 > > Change-Id: I7fabad308afd420987369b460c13c00781113605 > Reviewed-on: https://chromium-review.googlesource.com/909028 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,lfy@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: angleproject:2303 Change-Id: I8d3f3d9bd618d9604cec0f02424f788cab25b3f9 Reviewed-on: https://chromium-review.googlesource.com/913550Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Lingfeng Yang <lfy@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
jchen10 authored
Directly setting this variable overwrites old value, as might be unexpected. Instead the path can be prepended to it, so that old value can still work. This is needed in order to use additional debugging layers, like the "api_dump" layer. See https://github.com/LunarG/VulkanTools for more. BUG=angleproject:2333 Change-Id: I5338a5b928ffa792cc9b6db5b69713320b5b0842 Reviewed-on: https://chromium-review.googlesource.com/898591 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Yunchao He authored
BUG=angleproject:2205 BUG=angleproject:2041 BUG=angleproject:2155 Change-Id: I26bcbb63e147787cd342ec80a86d60cf230be4c9 Reviewed-on: https://chromium-review.googlesource.com/913108Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
-
Olli Etuaho authored
To do this we need two types of symbol table levels: A level for built-ins and a level for user-defined symbols. User-defined symbols are non-const because function symbols created based on function prototypes are changed when the function definition is parsed. On the other hand, we want to make built-in symbols constexpr, so we should only handle them through const pointers. This also gets rid of extra empty precision stack levels. Only one level is needed to store predefined precisions. BUG=angleproject:2267 TEST=angle_unittests Change-Id: I9f14b24c2cfce272f22c16e7a8dfb653b849cbeb Reviewed-on: https://chromium-review.googlesource.com/892879 Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 09 Feb, 2018 5 commits
-
-
Yuly Novikov authored
Build flags to enable Vulkan backend and some small updates. BUG=angleproject:2314 Change-Id: Ia99cc5a4b326a4cab115652cb12b3fb61033eeee Reviewed-on: https://chromium-review.googlesource.com/909723 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
Yuly Novikov authored
No longer needed after https://chromium-review.googlesource.com/513519 Loading libGLESv2 interferes with API tracing tools BUG=angleproject:1892,angleproject:2343 Change-Id: I2ccbc99377d75d107fd644301402c52466dded21 Reviewed-on: https://chromium-review.googlesource.com/910094Reviewed-by:
Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
-
Nico Weber authored
Disable the warning for flex-generated output, which contains lots of intentional fallthrough. Fixes a bug where GL_SAMPLE_ALPHA_TO_ONE_EXT would fall through to GL_COVERAGE_MODULATION_CHROMIUM and hence behave like that. Fixes a bug in the D3D9 state management where invalidating DIRTY_BIT_POLYGON_OFFSET would also invalidate the stencil bits. One somewhat common incorrect pattern in ANGLE is nested switch statements that look like so: switch (a) { case a1: switch (b) { case b1: ... break; } case a2: ... } The assumption here seems to be that the breakk exits the outer case (here a1), while it in fact only exits the inner switch, so that we fall through to a2. In most places, I fixed this by adding an explicit `break` after the inner switch. This fixes a bug wher GL_PATH_JOIN_STYLE_CHROMIUM would fall through to GL_PATH_MITER_LIMIT_CHROMIUM in validation (but since the join style enum is always > 0, this happened to not have an effect in practice). This also fixes 87 bugs in GetLoadFunctionsMap() where invalid values would previously return an unrelated function map instead of the empty load function map. Bug: chromium:810767 Change-Id: Ib51388c73fbfc229160e2c10f8fb9364cc7c996c Reviewed-on: https://chromium-review.googlesource.com/911529 Commit-Queue: Nico Weber <thakis@chromium.org> Reviewed-by:Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=810411 Change-Id: I8770b69fe4ab8a8f9bacd141c89e7f83f67f15fb Reviewed-on: https://chromium-review.googlesource.com/911589Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Luc Ferron authored
Bug: angleproject:2346 Change-Id: I462a2cb29ceda5563f48b4a3cc1d0aa20f4a49fc Reviewed-on: https://chromium-review.googlesource.com/907169Reviewed-by:
Geoff Lang <geofflang@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org>
-
- 08 Feb, 2018 3 commits
-
-
Geoff Lang authored
Because of virtualized contexts, the debug groups are not always popped in the same order that they are pushed leading to inconsistant state and sometimes GL_STACK_OVERFLOW errors from the driver. BUG=angleproject:2354 Change-Id: I0a001002149184dd882c3b17e8451bcd694608ba Reviewed-on: https://chromium-review.googlesource.com/909794Reviewed-by:
Corentin Wallez <cwallez@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
BUG=angleproject:2205 Change-Id: I7ff1c3d0bb380c73c07dad0a30a4a4a19c17e397 Reviewed-on: https://chromium-review.googlesource.com/909577Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-
Geoff Lang authored
Previously, dEQP would just use the first config returned which was RGBA4 which is not very representitive of what our users would request. BUG=angleproject:2337 BUG=angleproject:1095 BUG=angleproject:2222 Change-Id: I5c9defc7ce1feaa49407557b88d9bb6b98571771 Reviewed-on: https://chromium-review.googlesource.com/490726Reviewed-by:
Luc Ferron <lucferron@chromium.org> Reviewed-by:
Jamie Madill <jmadill@chromium.org> Reviewed-by:
Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
-