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

5786 Коммитов

Автор SHA1 Сообщение Дата
anatoly techtonik 093a4c3c0d Fix README.md for commonmark with small edits
Change-Id: Id7ed37945744a083e6eb5b6a792f8379b7b98bac
Reviewed-on: https://chromium-review.googlesource.com/348200
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2016-05-30 13:42:57 +00:00
Jamie Madill e31fd8753b Enable Release ASSERT in ANGLE.
This will mainly affect the Chromium bots.

BUG=angleproject:790

Change-Id: I0c4318e83eedba851f15b3b139551cdb6a2fde12
Reviewed-on: https://chromium-review.googlesource.com/346103
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-27 20:05:05 +00:00
anatoly techtonik 064da41c7e doc/ContributingCode.md add more links needed at given context
Change-Id: I331ac7b24fd35735a0822a6b86ece66e1847f475
Reviewed-on: https://chromium-review.googlesource.com/347130
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2016-05-27 17:18:32 +00:00
Corentin Wallez 946903d23a Remove usage of auto_ptr in MacroExpander
BUG=angleproject:1269

Change-Id: I1fafa102b065f6da1797e8790ec3ed498d9d8b45
Reviewed-on: https://chromium-review.googlesource.com/339379
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2016-05-26 19:37:24 +00:00
Jamie Madill 901b379f0c Fix use-after-free when deleting share contexts.
The pattern of gen context, share context, free context, then allocate
a shared GL object in the second context would cause a use-after-free
of the ContextImpl as a GLFactory. Fix this by passing the factory
as a parameter to the resource manager allocation methods instead of
storing the factory pointer. This allows the same ResourceManager to
work with separate Context implementations, which will work with
non-virtual contexts.

BUG=612931

Change-Id: Ifceeb893bebd072f318963d935ff9d17181f5305
Reviewed-on: https://chromium-review.googlesource.com/347463
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2016-05-26 16:14:37 +00:00
Jamie Madill 9e54b5af89 Add Vulkan stubs.
Currently enabled for Windows by default.

BUG=angleproject:1319

Change-Id: I87921c579bee466465fb1e3f629bb3a40fdff659
Reviewed-on: https://chromium-review.googlesource.com/328730
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-25 20:05:11 +00:00
Jamie Madill 35170f5c32 Fix Renderer generator script.
This script breaks peridocially because we don't have automated tests
for it. Split the FBO attachment object class into its own file, and
also fix a couple other small snags that prevented the script from
running.

This will facilitate generating Vulkan renderer stubs.

BUG=angleproject:1319

Change-Id: I30a6ce4ab0adad962cea76731dbe82837c5c9a1b
Reviewed-on: https://chromium-review.googlesource.com/347064
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-25 18:19:10 +00:00
Vincent Lang 25ab451078 Implement GL_EXT_texture_norm16 extension
BUG=angleproject:1365

Change-Id: I972b156ecb41ff44bc1f6365373ab386bacc85f1
Reviewed-on: https://chromium-review.googlesource.com/346530
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-25 18:08:50 +00:00
Corentin Wallez fd08a95977 DisplayGLX: make the Mesa context creation workaround Mesa specific.
BUG=598902

Change-Id: Ib2ca69fb3573dbd0df3dafb4caec0500c7a8aa3b
Reviewed-on: https://chromium-review.googlesource.com/347071
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2016-05-25 14:34:50 +00:00
Jamie Madill 00ed7a1f12 Enable always-available extensions in gl::Context.
We can consolidate exposing these extensions in initCaps. Otherwise
we have to maintain the lists in every Renderer back-end.

Also do the same treatment for select egl::Display extensions.

BUG=angleproject:1319

Change-Id: I529dd120c6d2cdbb789bd9dd20491e796e97f3f6
Reviewed-on: https://chromium-review.googlesource.com/345914
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-24 19:06:05 +00:00
Jamie Madill 19f88f927c Add the ChromeOS trybot to the CQ config.
BUG=angleproject:1347

Change-Id: I93266da474909352a4b83de52cffde82687bda86
Reviewed-on: https://chromium-review.googlesource.com/346735
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2016-05-24 16:33:37 +00:00
Jamie Madill 60515399f3 Fix include order for Clang in Renderer11.cpp.
BUG=angleproject:1369

Change-Id: Ie02e7c0b469e148bd8da4499ed560c4907d2a539
Reviewed-on: https://chromium-review.googlesource.com/346891
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2016-05-24 14:38:38 +00:00
anatoly techtonik 63bc3fcf6f doc/DevSetup.md make lists rendered correctly by Gitiles
Change-Id: Id0dc92373f41b089081202692519adfbc44e0729
Reviewed-on: https://chromium-review.googlesource.com/346680
Reviewed-by: Aaron Gable <agable@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2016-05-24 12:48:33 +00:00
Jamie Madill 8b9b792dac Make RendererD3D a bit smaller.
Move some D3D11-specific stuff into Renderer11, and remove a few
virtual methods that weren't needed to be virtual.

BUG=angleproject:1369

Change-Id: Id37e7271ffc28b089dbea123dca70f38c1a06ffb
Reviewed-on: https://chromium-review.googlesource.com/345913
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-20 20:31:38 +00:00
Jamie Madill 34106e7a26 D3D11: Require FL 10.1+ for ES3.
We decided some time ago to make our lives easier and raise the
lower bound on the feature level to 10.1 from 10.0. This makes
using some multisample samplers easier in HLSL. It is also a very
small and poorly suppoted fraction of our userbase.

BUG=angleproject:1381

Change-Id: I25d330a6097f71ec772899d49ff5d3a97c0cb0d2
Reviewed-on: https://chromium-review.googlesource.com/346102
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-20 16:33:24 +00:00
Jamie Madill 62baf0cf6f Add a shared egl::SurfaceState struct.
This structure can share GL-level properties (immutably) with the
implementation.

BUG=angleproject:1369

Change-Id: I1e9406f18b6b88bb7db2a8f87b5e6d547cc7ecb1
Reviewed-on: https://chromium-review.googlesource.com/342061
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-20 13:16:43 +00:00
Olli Etuaho 0f2b156093 Fix GenerateMipmap when base level or max level are set
According to GLES 3.0.4 section 3.8.10, GenerateMipmap should generate
levels based on the base level, and generate them at most up to the
max level. Levels outside the base/max level range should be unchanged
by GenerateMipmap.

The Texture class is fixed so that the image descs are set only for
the changed mipmap range when GenerateMipmap is called.

The D3D backend is fixed so that mipmap generation is correctly
started from the base level instead of level 0, and making sure that
mipmaps are generated only up to the max level. Generating mipmaps for
array textures is also fixed for cases where the base level depth >=
max(width, height) * 2.

The GL backend is fixed to sync texture state before GenerateMipmap is
called, so that base level and max level are set correctly in the
driver.

The GenerateMipmap entry point is refactored so that it has a separate
validation function and a context function which does the work.
Validation for out-of-range base levels is added.

New tests are added to verify the functionality. One corner case in
the tests fails on NVIDIA GL drivers likely due to a driver bug -
similar rules for GenerateMipmap are found from newer GLES specs and
also OpenGL specs (checked versions 3.3 and 4.4).

BUG=angleproject:596
TEST=angle_end2end_tests

Change-Id: Ifc7b4126281967fc4f6dc4f9452e5b01e39f83d7
Reviewed-on: https://chromium-review.googlesource.com/344514
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
2016-05-20 12:52:51 +00:00
Jamie Madill d3a5b18549 Make inheritance heirarchy for egl::Surface.
This will allow us to select the Impl constructor more easily

 createWindowSurface
 createPbufferSurface
 createPbufferSurfaceFromClientBuffer
 createPixmapSurface

This in turn lets us pass an EGLImplFactory to the constructor and
will allow us to pass in the local SurfaceState to the constructor.

BUG=angleproject:1369

Change-Id: I6b13c1548c54bd5c493d59b68bfdaf55226b6bb5
Reviewed-on: https://chromium-review.googlesource.com/342060
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-20 02:08:07 +00:00
Jamie Madill 61a692b1e6 Try hard to eliminate isError in ValidationEGL.
We were getting a compile warning due to variable shadowing from
redeclaring a local egl::Error. Fix this using the ANGLE_TRY macro.

BUG=angleproject:596

Change-Id: I38954bd1c9f171f264d7ecbf58d634ae721296ad
Reviewed-on: https://chromium-review.googlesource.com/346092
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-20 00:48:49 +00:00
Yuly Novikov 87ae8cdf04 Fix Linux standalone compilation.
simple_texture_2d, hello_triangle, stencil_operations, simple_texture_cubemap
fail to compile after https://chromium-review.googlesource.com/342050.

BUG=angleproject:1319
TEST=ninja -C out/Release all

Change-Id: Ib70008036f8688b737f3f40b5224437a7afdea19
Reviewed-on: https://chromium-review.googlesource.com/346121
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2016-05-20 00:48:21 +00:00
Corentin Wallez 771f307f0b Update the dEQP GLES2/3 test expectations
Removed the tests that didn't fail in the latest 20 runs on the bots,
skipping a couple test categories that are known to flake with a very
low probability. Some flakes might still go through and will have to be
resuppressed later.

BUG=angleproject:504
BUG=angleproject:1027
BUG=angleproject:1032
BUG=angleproject:1051
BUG=angleproject:1092
BUG=angleproject:1093
BUG=angleproject:1095
BUG=angleproject:1097
BUG=angleproject:1101
BUG=angleproject:1143
BUG=angleproject:1323
BUG=angleproject:1324

Change-Id: I5943cd5bc125c64a45ad383c8bf22e48596a4f7e
Reviewed-on: https://chromium-review.googlesource.com/346050
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2016-05-19 21:47:14 +00:00
Corentin Wallez 5d6fad7da2 Add build instructions for Linux and MacOS
BUG=angleproject:1368

Change-Id: I2a0852399cdf04192d7e1d11b33b2103aa173354
Reviewed-on: https://chromium-review.googlesource.com/344003
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2016-05-19 21:06:58 +00:00
Olli Etuaho e8528d8983 Fix determining texture mipmap completeness
The code didn't previously take base level properly into account
when determining how many levels to check when checking for texture
completeness.

The code is refactored so that the "q" value in spec, that is the
maximum mipmap level for determining completeness, can be queried from
TextureState. This value is used now for checking completeness.

This requires moving ImageDescs under TextureState. Functions that
operate on the ImageDesc array are also moved from Texture to
TextureState. TextureState members are also renamed to start with the
"m" prefix and made private.

Also handle levels outside the base/max level range consistently in
eglCreateImageKHR validation. We interpret the spec so that if the
level used for the EGL image is not a part of the texture levels that
affect texture completeness, an error is generated.

BUG=angleproject:596
TEST=angle_end2end_tests

Change-Id: I038ef24aa83e0a6905ca3c0bbada5989eecb00d9
Reviewed-on: https://chromium-review.googlesource.com/344880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
2016-05-19 15:02:41 +00:00
Geoff Lang b66a9097a3 Add support for OES_EGL_image_external and OES_EGL_image_external_essl3.
BUG=angleproject:1372

Change-Id: I8489e7fd0ab409b0775041ad5e9fbf0aab53886d
Reviewed-on: https://chromium-review.googlesource.com/344734
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2016-05-19 01:09:00 +00:00
Geoff Lang a0d3aa4116 Fix float-to-int conversion warning.
BUG=angleproject:1378

Change-Id: I92b902154432e82a1357e8623426256c4ca53ca3
Reviewed-on: https://chromium-review.googlesource.com/345585
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2016-05-18 14:40:46 +00:00
Sami Väisänen a797e066c1 Support CHROMIUM_framebuffer_mixed_samples in the GL backend
BUG=angleproject:1378

Change-Id: I634c41f3507dbdeaa56234c4de1b498f81c848ed
Reviewed-on: https://chromium-review.googlesource.com/344520
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
2016-05-18 09:26:37 +00:00
Jamie Madill 776a75b45c Make Platform errors trigger test failures.
This can be useful in the Vulkan back-end to make validation layer
errors cause test cases to fail.

BUG=angleproject:1319

Change-Id: I523f3c874e892a2646600e4c5c554319ed8d770c
Reviewed-on: https://chromium-review.googlesource.com/342050
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-17 20:32:36 +00:00
Olli Etuaho be815a4fef Apply effective base and max level on GL backend
This works around GL drivers that neglect to clamp the base level or
max level of immutable textures.

BUG=angleproject:596
BUG=610800
TEST=angle_end2end_tests

Change-Id: Ie4e04aaa9253f2befd73bccefa7759486b3ef487
Reviewed-on: https://chromium-review.googlesource.com/344590
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
2016-05-17 16:03:26 +00:00
Jamie Madill 53ea9cc655 Replace rx::Renderer with rx::ContextImpl.
Previously Context had no Impl class, but had a special relationship
with the instanced Renderer class. Having a ContextImpl backing every
Context will allow new designs to enable things like multithreading
(where each ContextImpl stores a Context-specific device) or non-
virtual Contexts on Android or other platforms where it is more
efficient.

A large refactoring patch that touches every back-end.

BUG=angleproject:1363

Change-Id: Icb73a7d37447f08a664eeb499a310ba05d71a57e
Reviewed-on: https://chromium-review.googlesource.com/342052
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-17 15:59:29 +00:00
Nico Weber 2a9358cc02 gn: Add a missing test.
BUG=chromium:604060

Change-Id: I7e9b8c1bd7cb14daa15575cfcfe9ba3e8a1e6d1b
Reviewed-on: https://chromium-review.googlesource.com/344701
Tryjob-Request: Nico Weber <thakis@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-17 13:13:42 +00:00
Olli Etuaho 190028d3b2 Clean up specifying colors and texture scale in MipmapTest
Remove unnecessary scale parameter from MipmapTestES3, and use the
GLColor class and EXPECT_PIXEL_COLOR_EQ instead of EXPECT_PIXEL_EQ for
greater readability.

BUG=angleproject:596
TEST=angle_end2end_tests

Change-Id: I79c30ce85be5d554d89197f8f1ce7ab0c51c11b6
Reviewed-on: https://chromium-review.googlesource.com/344513
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
2016-05-17 08:02:09 +00:00
Nico Weber de44d3a43a gn/mac: Build GL code, and include CGL code.
BUG=chromium:431177

Change-Id: Id9c8ad68a9703591d6f576bfae3d7061526ed27f
Reviewed-on: https://chromium-review.googlesource.com/344740
Tryjob-Request: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
2016-05-16 18:28:09 +00:00
Sami Väisänen 74c2347e92 Support EXT_multisample_compatibility in the GL backend
BUG=angleproject:1377

Change-Id: Ie14aceca8e01f1cbc93fd5bd06d986336fb752b3
Reviewed-on: https://chromium-review.googlesource.com/343501
Reviewed-by: Sami Väisänen <svaisanen@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>
2016-05-16 14:24:25 +00:00
Olli Etuaho 87fc71c456 D3D: Reallocate storage when texture format changes with base level
Different levels of the same texture may have different formats, so
changing the base level may affect the format that should be used for
the storage. Take this into account in the D3D backend.

The added test fails on some GL drivers.

TEST=angle_end2end_tests
BUG=angleproject:596

Change-Id: I5380e942694a75685ebb510edb01c0489e0d5179
Reviewed-on: https://chromium-review.googlesource.com/344230
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
2016-05-16 12:00:10 +00:00
Olli Etuaho 77ae8d578b Share TextureState structure with TextureImpl
This refactoring patch removes the need to pass texture state to
methods of TextureImpl in some cases. It also adds target value to
TextureState, and moves TextureState definition to Texture.h.

The effective base level can now also be queried from TextureState,
which reduces the need to pass it around.

Two different code paths that dealt with the TextureStorage11 SRV
cache are combined into one.

Besides refactoring, this patch fixes applying mTopLevel twice when
determining the amount of mip levels TextureStorage11.

BUG=angleproject:596
TEST=angle_end2end_tests, angle_unittests

Change-Id: I1add3d9ad847bec56774e394125156cf9cb0fc2a
Reviewed-on: https://chromium-review.googlesource.com/342940
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
2016-05-16 10:01:28 +00:00
Frank Henigman bc7b7ab08d dEQP: Add GL ES display factory.
So we can run dEQP on the GL ES back end.

BUG=angleproject:1371

Change-Id: I7694d766f04997f9ba60ad0dd0bb4b30e714b4ae
Reviewed-on: https://chromium-review.googlesource.com/342843
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
2016-05-13 19:12:40 +00:00
Corentin Wallez 0f2ef7f93d Suppress and end2end failure caused by a Mesa bug
BUG=610800

Change-Id: I4ee6ba589afc98277c3cf50b8f57afb184b11216
Reviewed-on: https://chromium-review.googlesource.com/343994
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2016-05-13 14:39:13 +00:00
Geoff Lang 2b4ce80c65 Implement GL_CHROMIUM_sync_query for D3D9 and D3D11.
BUG=angleproject:1366

Change-Id: Iadde61968f45b969c76578a6dd9116a25d63fb4b
Reviewed-on: https://chromium-review.googlesource.com/341230
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2016-05-12 19:14:40 +00:00
Frank Henigman 538281f6e0 Initial Chrome OS support.
Samples and end2end tests mostly work.  Only one config, and no input.

BUG=angleproject:1297

Change-Id: I5b69babccc5b97e486d86e1721a0a1740ad80941
Reviewed-on: https://chromium-review.googlesource.com/319460
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
2016-05-12 17:37:35 +00:00
John Bauman e271a7e4a1 Use data_deps to depend on :copy_compiler_dll
This should ensure that d3dcompiler_47.dll is saved into an isolate in
chromium, as it's used at runtime.

BUG=611235

Change-Id: I64801f00bf90f2be68c7a691724609bbf4d28dfa
Reviewed-on: https://chromium-review.googlesource.com/344351
Tryjob-Request: John Bauman <jbauman@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: John Bauman <jbauman@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
2016-05-12 03:00:53 +00:00
Jamie Madill 7aea7e056d Add EGLImplFactory.
Also rename ImplFactory to GLImplFactory.

This will allow us to use the same factory design pattern for EGL
objects, and to use State helper classes to share data with Impls.

BUG=angleproject:1363
BUG=angleproject:1369

Change-Id: I07a8fe40838d5d4ca32b04910c306edeab4d25a7
Reviewed-on: https://chromium-review.googlesource.com/342051
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-11 20:22:24 +00:00
Geoff Lang 43d0e60968 Disable the DXGI WGL swap chain surface on AMD drivers.
BUG=540829

Change-Id: Ib15658c3fd7132068e9eb1e69a7a04720b3e3d6b
Reviewed-on: https://chromium-review.googlesource.com/344250
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2016-05-11 17:44:20 +00:00
Jamie Madill 8c9e4d54d3 Add DEPS.chromium to share dEQP deps with Chrome.
This file will allow ANGLE to update the build files and roll dEQP
in the same CL, making life a pleasure to live for maintainers.

BUG=chromium:605987

Change-Id: I8f574e80a5f7b176f08a9f51c2369e042cae56b7
Reviewed-on: https://chromium-review.googlesource.com/343010
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2016-05-09 12:49:58 +00:00
Corentin Wallez 086d59ae38 In ES3, validate that depth and stencil are the same image
BUG=605775

Change-Id: I9508c70a588270dae871dde79fea1df1c3fd1558
Reviewed-on: https://chromium-review.googlesource.com/341440
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2016-05-08 22:12:50 +00:00
Corentin Wallez 76287680ae Fix the CopyTex validation logic for sized types
Previously we allowed copies to a sized format only if the depth of each
component matched (including 0 depth). Now we require that the bit depth of
non-empty component matches.

BUG=605775

Change-Id: If8abab886b0da5a1c8e89adabf3809f928dcedce
Reviewed-on: https://chromium-review.googlesource.com/340382
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2016-05-08 15:47:56 +00:00
Olli Etuaho a314b61c16 Determine D3D texture storage size with correct base level
The size of the texture storage is now determined by extrapolating
the level zero texture dimensions from the base level dimensions.
This fixes crashing when images for levels below the base level are
not defined, and also fixes texture storage dimensions being
calculated wrong in case the levels outside the used level range have
dimensions that are inconsistent with the dimensions inside the used
level range.

Checking texture level completeness in TextureD3D is now done based on
the dimensions of the base level, and levels that are outside the base
level to max level range are not taken into account. Textures are
marked incomplete in case their base level is greater than their max
level.

Changing the base level can also affect the size of the storage
required for the texture. Old storage is now discarded when the base
level is changed and the new base level calls for different storage
dimensions.

Code in TextureD3D is refactored so that "base level" actually means
the base level of the texture specified through the GLES API, and
"level zero" is used where TextureD3D would sometimes previously use
"base level".

Changing either the base level or max level can also affect texture
completeness, so invalidate the cached completeness in Texture if
they are changed.

Some of the added tests are still failing on Intel and NVIDIA OpenGL
drivers because of driver bugs. Tests also fail on OSX.

BUG=angleproject:596
TEST=angle_end2end_tests,
     dEQP-GLES3.functional.texture.* (no regressions),
     dEQP-GLES3.functional.shaders.texture_functions.* (no regressions),
     dEQP-GLES3.functional.state_query.texture.* (no regressions)

Change-Id: Icd73d6e29f84a341ed5ff36d5ec5cb2f469cb4e8
Reviewed-on: https://chromium-review.googlesource.com/333352
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
2016-05-06 14:29:45 +00:00
Steven Bennetts 369d03c191 Disable angle_enable_gl on chromeos
BUG=angleproject:1370

Change-Id: I63e3ee8fc6e08fcd2a908cdca3558af886526cbd
Reviewed-on: https://chromium-review.googlesource.com/342740
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-06 01:24:03 +00:00
John Bauman f691cfab65 Fix eglStreamConsumerAcquireKHR
This was incorrectly acquiring every plane to texture 0.

BUG=angleproject:1332

Change-Id: I6df1401b705d903078e2631634b6bf20a07570de
Reviewed-on: https://chromium-review.googlesource.com/342513
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: John Bauman <jbauman@chromium.org>
2016-05-06 01:12:23 +00:00
Jamie Madill 8415b5fd4a Pass ContextImpl to Framebuffer methods instead of ContextState.
BUG=angleproject:1363

Change-Id: I7e7524d95f2ca31c35918f9fe5c0cb681ed93616
Reviewed-on: https://chromium-review.googlesource.com/340746
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-03 21:21:26 +00:00
Jamie Madill 437fa654e3 Add a ContextImpl class.
This class can contain impl-specific functionality for a Context.
This will eventually replace the Renderer class, and we can then
start passing around a gl::Context instead of gl::ContextState.

In D3D11, the ContextImpl could hold a DeferredContext, which would
enable multi-thread rendering. In GL, we can implement non-virtual
(native) Contexts. In Vulkan it might store the logical device.

BUG=angleproject:1363

Change-Id: I39617e6d1a605d1a9574832e4d322400b09867ec
Reviewed-on: https://chromium-review.googlesource.com/340745
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-05-03 21:01:42 +00:00