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

58 Коммитов

Автор SHA1 Сообщение Дата
马爱国 8a2a4fa70f Add loongarch support
Bug: angleproject:7104
Change-Id: I9b9c57b76463f16d0c3c7ccc8b81c1bb657a3cc8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3522459
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2022-03-18 03:01:54 +00:00
Andrew Naumov d36df8d736 Unicode support for system_utils on Windows
Failed to load ANGLE_GLESV2_LIBRARY_NAME via ansi WinAPI
if path contains unicode, use wide version instead.

Bug: chromium:1296105
Change-Id: Ifae18b2aba83f3ae84954cc4dd9afc0e2c58834c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3452103
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2022-02-14 19:58:20 +00:00
Xiaopeng Li 118ce6aae0 Support to open d3d12 shared handles
For
https://docs.microsoft.com/en-us/windows/win32/api/d3d12/nf-d3d12-id3d12device-createsharedhandle

Bug: angleproject:6927
Change-Id: I0f0ce7bff37abfc278a167c6eec92eb3b6df1370
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3404060
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2022-02-10 16:36:00 +00:00
SeongHwan Park 9f256d10c8 D3D11: Fix incorrect bounds checking in Blit11
This could lead to blitting depthStencil buffer incorrectly.

Bug: angleproject:6140
Change-Id: I2c5786c0375f8e2fefe862da68929340844ce9ae
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3009736
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-07-07 18:07:14 +00:00
Mark Lobodzinski 1b2000f523 Docs: Update CONTRIBUTORS with LunarG info
Add LunarG, Inc. and Mark Lobodzinski to the CONTRIBUTORS file
and LunarG, Inc. to the AUTHORS file.

Bug: None
Change-Id: Id3f9ff2075498532280d4a652a5fffa85dd77f45
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2945696
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Elliott <ianelliott@google.com>
2021-06-08 16:29:43 +00:00
Lubosz Sarnecki 08bfc351bb Add Collabora, Ltd. to AUTHORS and CONTRIBUTORS
This change adds Collabora, Ltd. to the AUTHORS file as described in the
ContributingCode guide.
Also adds Collabora, Ltd. and myself to CONTRIBUTORS.

Bug: angleproject:5516
Change-Id: Ie24ef8ec01720d9d207d36c4a4c21fab96d08dcd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2690949
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2021-02-23 20:49:54 +00:00
Carl Woffenden 679d118787 Fix to build with VS2019
When building with VS2019 (using is_clang=false) multiples of the
following error are given:

    ../../src/common/mathutil.cpp(75): error C4244: '=':
    conversion from 'double' to 'float', possible loss of data

(This is due to pow(), when passed an int for the second param, widens
the first param to a double then returns a double).

Since the code was being changed the opportunity was taken to:

    - add missing unit tests for the two 999E5 conversions
    - optimise out the common pow() functions

The unit tests were written against the original implementation, then
the optimisations added and verified against the original results.

Bug: angleproject:5521, dawn:602
Change-Id: Ic9e5eaedbe3fc7ceeed697898823b76dffcd989a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2624888
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2021-01-18 16:58:37 +00:00
Stephan Hartmann eaab2e34d3 Vulkan: add explicit template specialization for barrierImpl
ImageHelper::barrierImpl with secondary command buffer is used in
other translation units. Linking fails if compiler has optimized
out symbol for secondary command buffer.

Bug: angleproject:5324
Change-Id: I588d0d949a9b2eee04d8103effc485ab23d679c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2526082
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-11-09 17:01:18 +00:00
Jose Dapena Paz cee5748326 GCC: init kImageMemoryBarrierData with initializer constructor
GCC fails to automatically map the initializer assignment for
initializing the angle::PackedEnumMap. So this change adds the
type hint ImageMemoryBarrierData to the second part of the pairs
passed to construct the PackedEnumMap.

GCC error:
    ./../third_party/angle/src/libANGLE/renderer/vulkan/vk_helpers.cpp:387:1: error: could not convert ‘{{rx::vk::ImageLayout::Undefined, {"Undefined", ...}}}’ from ‘<brace-enclosed initializer list>’
    to ‘const angle::PackedEnumMap<rx::vk::ImageLayout, rx::vk::{anonymous}::ImageMemoryBarrierData>’
      387 | };
          | ^
          | |
          | <brace-enclosed initializer list>

Bug: chromium:819294
Change-Id: I314c43c0795e54cabd891205ee935c6354d11658
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2401778
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2020-09-09 18:41:52 +00:00
Wander Lairson Costa ee9c4fe4e6 D3D: Make possible to build angle without D3D11
A few files inside the D3D11 tree are used by D3D9 and WGL backends. We
add these files to the build system even when D3D11 is disabled.

Also, we fix the use the of ANGLE_DEFAULT_D3D11 symbol.

Bug: angleproject:4839
Change-Id: I981f4bfc60d973c02549caa737c5aed5ccf31282
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2298143
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2020-07-22 15:01:05 +00:00
Alexey Knyazev 58fc8b11cf Implement RGTC (BC4, BC5) compressed texture formats
gl.xml was modified as two enums were missing from their proper group.
dxgi_support_data.json was fixed to not expect BC4 and BC5 on FL9_3

Bug: angleproject:3149
Change-Id: Ieb97a8cf8e92258c1b44e090e823fac227997174
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2033068
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
2020-02-04 22:58:25 +00:00
Artem Bolgar ffdd58f5c0 Fixing OVR_multiview and OVR_multiview2 issues
Found two issues when native OVR_multiview and OVR_multiview2 extensions are generated.
1. OVR_multiview got replaced by the OVR_multiview2 in the translated shader (ESSL & GLSL)
2. Duplicate #extension OVR_multiview2 (for Fragment & Vertex) and 'layout (num_views=x)' (for Vertex) got generated into the translated shader.

Bug: angleproject:4247
Change-Id: I9a550883eeb326d95af4557578f8202a9493f4ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1983802
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2020-01-15 19:07:46 +00:00
Gary Sweet 7b55aac3b3 Add Broadcom as a known vendor
Broadcom's vendor ID wasn't listed anywhere.

Fixed the sort order of vendor names in a number
of places also.

Bug: angleproject:4218
Change-Id: Iddc504fa35833ac14375cb77e7a2b1cc405f0e80
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1972714
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2019-12-19 18:00:56 +00:00
Renaud Lepage bf47a17ef6 Fix GGP build
Bug: angleproject:4221
Change-Id: I625b78795dbc826d176660e47af9b51d3f8d417b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1966410
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-12-13 14:47:45 +00:00
Ethan Lee d22b8be4b4 GN: Make X11 optional, based on a user-defined variable.
Not all Linux platforms will have X11 available (Wayland, GGP), so we have to
declare a variable that checks use_x11 separately.

Bug: angleproject:4116
Change-Id: I7e33956da6344b8db4d4e32dbbd1b42f58f7019c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919632
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-11-19 13:02:24 +00:00
Le Quyen 6e65398161 Added PVRTC compression extension needed for Metal on iOS.
Bug: angleproject:2634
Change-Id: I413f754fe5551b1e248bc2b824b327b92d8c70f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849076
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2019-10-10 15:17:38 +00:00
Jaime Bernardo 755417dd79 GLES2: Use require_constant_initialization for g_Mutex
A static assert to verify that the global mutex g_Mutex is trivially
constructed fails to compile with clang when using the STL shipped
with Visual Studio 2019.

Use __attribute__((require_constant_initialization)) instead to verify
for constant initialization.

BUG=angleproject:3936

Change-Id: I5969762ad5a99033143513d7c4992344da276b1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1832164
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2019-10-01 15:50:01 +00:00
Fei Yang a71549b112 Vulkan: Intermittent failures in many GLES2 CTS
The stage mask in vkCmdPipelineBarrier is incorrectly set.

Bug: angleproject:3473
Change-Id: I4fea5994a391b0db0f81183f1c4d4ba47d387acb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1631849
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-07-22 17:37:04 +00:00
Cody Northrop 7d6923de4f Revert "Vulkan: pipeline cache not populated as blob cache is not set"
This reverts commit 134d6eed2a.

Reason for revert: glmark2 is unable to start on Android-Q when using ANGLE as the driver.

Original change's description:
> Vulkan: pipeline cache not populated as blob cache is not set
> 
> 1. Use vkMergePipelineCaches in eglSetBlobCacheFuncsANDROID as
>    blob cache callbacks are set after eglInititalize.
> 2. Use a more proper way to save the cache data to disk.
> 
> Bug: angleproject:3318
> Change-Id: Ieb5d10ab93e7afb2aab4446b387d7f36c878a686
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1559671
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>

TBR=syoussefi@chromium.org,jmadill@chromium.org,fei.yang@arm.com

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

Bug: angleproject:3318
Change-Id: I51e49bf103142e80b2c9028b3af6d3bb58cf6348
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1683820
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-07-01 12:58:57 +00:00
Fei Yang 134d6eed2a Vulkan: pipeline cache not populated as blob cache is not set
1. Use vkMergePipelineCaches in eglSetBlobCacheFuncsANDROID as
   blob cache callbacks are set after eglInititalize.
2. Use a more proper way to save the cache data to disk.

Bug: angleproject:3318
Change-Id: Ieb5d10ab93e7afb2aab4446b387d7f36c878a686
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1559671
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-06-28 12:29:35 +00:00
Minkyu Jeong 431ef2fdd3 Add support for EXT_blend_minmax
This is to add additional modes (MIN, MAX) to "BlendEquation".
- add cases for "GL_MIN" and "GL_MAX" into "PackGLBlendOp()" in
vk_cache_utils.cpp
- add enabling "blendMinMax" codes into vk_caps_utils.cpp

And, AUTHORS and CONTRIBUTORS are updated.

BUG=angleproject:2897
Tests: dEQP-GLES3.functional.fragment_ops.blend.*min*
       dEQP-GLES3.functional.fragment_ops.blend.*max*

Change-Id: I13a1d6d28a104b18e21697f9f23d77e4eda2d1a6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1621582
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2019-05-24 04:09:44 +00:00
Nick Shaforostov 8fb00484a4 fix a freeze when returning from fullscreen to maximized (nvidia only)
freeze happens after repetitive enter & exit full screen mode

Bug: angleproject:3431
Change-Id: Iea4cd75dc30cd17e53c0a7f1174e39b24d878d4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1599617
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-05-08 18:12:07 +00:00
Sascha Kolodzey 50eb1e6f77 D3D: Update dynamic BufferUsage flags.
Changed the mapping between gl::BufferUsage flags
and D3DBufferUsage flags. Only gl::BufferUsage::DynamicDraw
gets mapped to D3DBufferUsage::DYNAMIC now. This reflects
a better mapping between GL and D3D.

BUG=angleproject:3366

Change-Id: I5062f91fdb3664339e2c259b399d5f47401675d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1569465
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2019-04-16 19:28:02 +00:00
Till Rathmann c1551dc2a7 D3D11 fix: Mipmapping was used although disabled via Sampler
When using a sampler the texture was created as if it has mipmaps,
regardless what you specified in GL_TEXTURE_MIN_FILTER via
glSamplerParameteri() -- mistakenly the default value
GL_NEAREST_MIPMAP_LINEAR or the value set via glTexParameteri() was
evaluated.
If you didn't provide mipmaps and didn't let the driver generate them
this led to not sampling your texture data when minification occurred.

BUG=angleproject:2772
TEST=angle_end2end_tests.Texture2DTestES3.MinificationWithSamplerNoMipmapping

Change-Id: I195147e208129c6fa8686bb0d9aea6931b2f20b1
Reviewed-on: https://chromium-review.googlesource.com/1175910
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-08-15 19:04:20 +00:00
Thomas Miller cb4ae44608 Make Angle compile for Arm64 Windows
Change-Id: Iee947a5abf4a833f155f7cb100577c92323a34e5
Reviewed-on: https://chromium-review.googlesource.com/1160863
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2018-08-02 19:19:07 +00:00
LRN 03d132eb80 Support EGL_(WIDTH|HEIGHT) in eglSurfaceAttrib(), fixed resize
Setting EGL_WIDTH or EGL_HEIGHT results in mFixedWidth and mFixedHeight
changing their values.

Whenever the swap chain is tested for needing a resize, surfaces with
mFixedSize are treated as if they should be resized to mFixedWidth and
mFixedHeight from their current size. This way fixed-size surfaces
can be resized - it's enough to do a couple of eglSurfaceAttrib() calls
and then either let ANGLE check surface for needing a resize in due course,
or force that by calling eglWaitNative().

BUG=angleproject:2725

Change-Id: I2932d8ecd5a2f10500e4aa8583a169aa09bf01bb
Reviewed-on: https://chromium-review.googlesource.com/1139055
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2018-07-27 18:31:28 +00:00
Junliang Yan 021134691e PPC/s390: Fix GN error on PPC and s390
R=cwallez@chroimium.org, fjhenigman@chromium.org, geofflang@chromium.org, jmadill@chromium.org, ynovikov@chromium.org

Change-Id: Iae4cfeb4db83c777d3c9a0a4c115c583113c5b70
Reviewed-on: https://chromium-review.googlesource.com/1087567
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2018-06-06 02:45:52 +00:00
Jani Hautakangas f9176ce52c GLIBC fix: size_t requires include <stddef.h>
Compiling fails with some combinations of gcc and glibc.
'size_t' does not name a type in proc_table.h

Change-Id: Id79e033dc72d836788551e076ced6dbd706ce902
Reviewed-on: https://chromium-review.googlesource.com/995422
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2018-04-05 20:32:02 +00:00
Jerome Duval d2e8792981 Enable Haiku in platform-specific headers.
1. src/common/platform.h updated to define ANGLE_PLATFORM_POSIX on Haiku.
2. include/EGL/eglplatform.h updated to add stubs typedefs for
platform-specific primitives for Haiku.

Change-Id: I28775e909ad9cabec1c474ff4fe0a241eb05d6a1
Reviewed-on: https://chromium-review.googlesource.com/573022
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2017-07-17 17:47:55 +00:00
Andrei Volykhin a552707181 Add support for EXT_YUV_target
Add new sampler type "__samplerExternal2DY2YEXT"
to sample a YUV texture image and output color value
without any color conversion,
new additional type to specify color space standard formula and
built-in functions for yuv to rgb transformation.

Change-Id: I1780650fe84cd75191c1ca1e4118e89d585bfd92
Reviewed-on: https://chromium-review.googlesource.com/454697
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
2017-03-22 20:50:14 +00:00
shinchiro f8de66675b Fix compilation on mingw
BUG=angleproject:1795

Change-Id: Ic25805f99154395c9af28197ceb1218f9c5c3138
Reviewed-on: https://chromium-review.googlesource.com/434457
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2017-02-07 17:16:22 +00:00
Nickolay Artamonov 027cda6343 Fix rounding problem for SwapChainPanel size.
BUG=angleproject:1421

Change-Id: I08f0fa5f178c8d25cd2b02e75cf92759254aa918
Reviewed-on: https://chromium-review.googlesource.com/355020
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2016-06-23 14:24:39 +00:00
James Ross-Gowan cd9aa12afc D3D11: Prevent DXGI hooking the Alt+Enter keystroke
When ANGLE is using D3D11 and not using DirectComposition, DXGI will hook
the window's message loop and override Alt+Enter to trigger a transition
to exclusive fullscreen mode. This disables that behaviour, since it's
inconsistent between backends and, at least during my testing, the
application did not even work correctly after the transition to fullscreen
mode.

This commit should be similar to the workarounds implemented in Qt and mpv
to prevent this behaviour and will hopefully make those workarounds
unnecessary. Only the DXGI_MWA_NO_ALT_ENTER flag is used, since the other
flags didn't seem to have an effect and probably only matter in fullscreen
mode.

BUG=angleproject:1414

Change-Id: Icb70c2c1405225619dcb27c5ffc9472fddd1157b
Reviewed-on: https://chromium-review.googlesource.com/352950
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-06-16 15:20:41 +00:00
stal 0011bb6037 fix texture size check in WindowSurfaceCGL::swap
BUG=angleproject:1233

Change-Id: I92fddf331fe0687b290606fe222863bd0fcbc2da
Reviewed-on: https://chromium-review.googlesource.com/329804
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
2016-03-01 19:56:59 +00:00
Russ Lind eaef7c1786 floating point perf improvement in CopyNativeVertexData
In the CopyNativeVertexData template function, in the else clause
use memcpy/memset rather than for loops.  This is a performance
improvment for floating point versions of CopyNativeVertexData,
particularly on 32-bit Firefox, where the -arch:IA32 compiler
option used cause the compiler to generate fld/fstp operations
inside the for loops.

Update AUTHORS & CONTRIBUTORS to include AMD.

BUG=angleproject:1317

Change-Id: I7133fc476028284f56783f4e2f9e2395f6227514
Reviewed-on: https://chromium-review.googlesource.com/327590
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
2016-02-29 23:02:42 +00:00
Jinyoung Hur 85769f0d61 Re-land "Only require that the stencil masks are same as many effective bits set"
It seems reasonable to validate the equality between stencilWriteMask
and stencilBackWriteMask only by comparing the effective bits.
An existing dEQP test[1] and a WebGL test[2] also use the max size of
stencil bits for checking the stencil mask values.

[1] StencilWriteMaskSeparateTestCase (gles3/functional/
es3fIntegerStateQueryTests.cpp)
[2] https://www.khronos.org/registry/webgl/sdk/tests/conformance/state/
gl-get-calls.html (Search for "minimumRequiredStencilMask ")

Re-land with fix for Clang warning.

Change-Id: I4cadaffced04ca55fa6daf7ac6a462368e0cfeec
Reviewed-on: https://chromium-review.googlesource.com/307530
Reviewed-by: Jinyoung Hur <hurims@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2015-10-21 14:14:18 +00:00
Jamie Madill 1220bbbd56 Revert "Only require that the stencil masks are same as many effective bits set"
Reverting temporarily, causes a compile warning with Clang:

..\..\third_party\angle\src\libANGLE\renderer\d3d\d3d11\Renderer11.cpp(242,7) :  error: field 'mDebug' will be initialized after field 'mCurStencilSize' [-Werror,-Wreorder]
      mDebug(nullptr),
      ^
1 error generated.
ninja: build stopped: subcommand failed.

http://build.chromium.org/p/tryserver.chromium.win/builders/win_clang_dbg/builds/98

This reverts commit 685aa4b87d.

Change-Id: I9dab08b26e2eddf508a7bcde7813c25be350bf31
Reviewed-on: https://chromium-review.googlesource.com/307520
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2015-10-20 21:04:36 +00:00
Jinyoung Hur 685aa4b87d Only require that the stencil masks are same as many effective bits set
It seems reasonable to validate the equality between stencilWriteMask
and stencilBackWriteMask only by comparing the effective bits.
An existing dEQP test[1] and a WebGL test[2] also use the max size of
stencil bits for checking the stencil mask values.

[1] StencilWriteMaskSeparateTestCase (gles3/functional/
es3fIntegerStateQueryTests.cpp)
[2] https://www.khronos.org/registry/webgl/sdk/tests/conformance/state/
gl-get-calls.html (Search for "minimumRequiredStencilMask ")

Change-Id: I68cefbe8a9f69c5a9ebcb30027a05581e3024add
Reviewed-on: https://chromium-review.googlesource.com/302703
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Jinyoung Hur <hurims@gmail.com>
Commit-Queue: Jinyoung Hur <hurims@gmail.com>
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
2015-10-16 14:35:13 +00:00
Andrew Knight cb3cc80561 Update The Qt Company in AUTHORS/CONTRIBUTORS
Change-Id: Iaa923e48d26eb1044d02ac097cc6caa1986309cf
Reviewed-on: https://chromium-review.googlesource.com/263400
Tested-by: Andrew Knight <andrew.knight@intopalo.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2015-04-20 17:00:44 +00:00
Maks Naumov f1bd2d900c Fix maxVertexUniformComponents initialization in GenerateCaps()
Change-Id: Ie10398e148dc0b88e5d7a5330307dc49553c6665
Reviewed-on: https://chromium-review.googlesource.com/263092
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
2015-03-30 20:36:21 +00:00
Daniel Bratell 29190088c2 Make Angle code 40 KB smaller by using string literals directly.
The implicit conversion of hundreds of string literals
to TString generated a lot of machine code. By keeping them
as string literals all the way the code will be smaller and faster.

This is the change with clang for x64 (note VisitUnary in particular):
Total change: -41392 bytes
==========================
  2 added, totalling +469 bytes across 1 sources
  2 removed, totalling -472 bytes across 1 sources
  5 shrunk, for a net change of -41389 bytes (54126 bytes before, 12737 bytes after) across 1 sources
  279692 unchanged, totalling 51433327 bytes

------------------------------------------------------------------------------------------------------------------------------------
 -41392 - Source: /home/bratell/src/chromium/src/third_party/angle/src/compiler/translator/OutputHLSL.cpp - (gained 469, lost 41861)
------------------------------------------------------------------------------------------------------------------------------------
  New symbols:
       +328: sh::OutputHLSL::outputConstructor(Visit, TType const&, char const*, TVector<TIntermNode*> const*) type=t, size=328 bytes
       +141: sh::OutputHLSL::outputTriplet(Visit, char const*, char const*, char const*) type=t, size=141 bytes
  Removed symbols:
       -133: sh::OutputHLSL::outputTriplet(Visit, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&) type=t, size=133 bytes
       -339: sh::OutputHLSL::outputConstructor(Visit, TType const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, TVector<TIntermNode*> const*) type=t, size=339 bytes
  Shrunk symbols:
       -388: sh::OutputHLSL::writeEmulatedFunctionTriplet(Visit, char const*) type=t, (was 628 bytes, now 240 bytes)
       -714: sh::OutputHLSL::visitBranch(Visit, TIntermBranch*) type=t, (was 1017 bytes, now 303 bytes)
      -9738: sh::OutputHLSL::visitAggregate(Visit, TIntermAggregate*) type=t, (was 17609 bytes, now 7871 bytes)
     -14132: sh::OutputHLSL::visitBinary(Visit, TIntermBinary*) type=t, (was 17627 bytes, now 3495 bytes)
     -16417: sh::OutputHLSL::visitUnary(Visit, TIntermUnary*) type=t, (was 17245 bytes, now 828 bytes)

Change-Id: Id0f87d72f6d7f1ab7b543f0d28d5a8b7c7db9ec7
Reviewed-on: https://chromium-review.googlesource.com/251090
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: bratell at Opera <bratell@opera.com>
2015-02-20 16:39:44 +00:00
Régis Fénéon 8310797003 Implement eglQueryContext
BUG=angle:895

Change-Id: I5e709f772d6222cdb7b5d7c060830a75eac9f815
Reviewed-on: https://chromium-review.googlesource.com/246490
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
2015-02-09 18:39:40 +00:00
Minmin Gong 967ed7b4a3 Add Minmin to CONTRIBUTORS.
Change-Id: I15598e42fa708861c0803acd6df4aa0b9d423ab5
Reviewed-on: https://chromium-review.googlesource.com/243950
Tested-by: Minmin Gong <mgong@microsoft.com>
Reviewed-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
2015-01-28 18:57:44 +00:00
Jamie Madill 24d5811b5e Add Gregoire to CONTRIBUTORS.
Change-Id: I3e2a1f627de891c13964501f78314f84794cbded
Reviewed-on: https://chromium-review.googlesource.com/240422
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
2015-01-14 15:34:35 +00:00
Tibor den Ouden 448ac908d9 Updated authorship and contributors for Borbitsoft/Tibor den Ouden
Removed Borbitsoft from the AUTHORS file, added Tibor den Ouden.
Removed Borbitsoft from CONTRIBUTORS file, company section.
Moved Tibor den Ouden in CONTRIBUTORS file from company section to individual section

Change-Id: I3ab47d637d0879fde8f9dc0f714e2cb44562c897
Reviewed-on: https://chromium-review.googlesource.com/221054
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
2014-10-03 15:37:48 +00:00
Olli Etuaho 86ffde5700 Fix building angleutils.cpp on Linux
vsnprintf is defined in stdio.h according to the standard. It was not in
the include chain of angleutils.cpp, which broke the build on Linux on
some configurations. Seems like other toolchains include the function in
some non-standard way.

BUG=angle:761

Change-Id: Idcd75776e8a9b83dad182d1b4bac0beac006c6ac
Reviewed-on: https://chromium-review.googlesource.com/221053
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2014-10-03 14:05:17 +00:00
Tibor den Ouden ac7556f652 Freed temporary info log buffer and removed explicit destruction of char[]
BUG=angle:758

Removed explicit destruction of char[] by using std::vector<char> object.

Added Borbitsoft to AUTHORS and Tibor den Ouden to CONTRIBUTORS

Change-Id: I9c4017eb81ce3fab8b7fb4a5b4ad52a758d14a2d
Reviewed-on: https://chromium-review.googlesource.com/219940
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2014-10-02 14:09:52 +00:00
Cooper Partin 75c42f45e5 Fixed memory leak in Renderbuffer class. Offscreen objects backbuffer texture /shader resource view, depth stencil texture/shader resource views were leaking during swapchain resize operations.
Change-Id: Iee83a14d043eecc465e6ffb8e21a6449def38e9b
Reviewed-on: https://chromium-review.googlesource.com/211834
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
2014-08-25 14:23:48 +00:00
Brendan Long eaa840619b Remove unnecessary int cast in ParseContext.
BUG=angle:536

Change-Id: I72287f5ce9736cd48fc241022e09446db717cf92
Reviewed-on: https://chromium-review.googlesource.com/181770
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
2014-01-08 18:28:21 +00:00
Jamie Madill d7f2135fcc Fix build on QNX.
InfoSink.h needs stdlib.h for abs(int) and free() in the global namespace.

ExpressionParser needs malloc.h, because bison needs malloc and free in
the global namespace, but "#include <cassert>" will put it only in the
std:: namespace on QNX.

BUG=500
R=geofflang@chromium.org, shannonwoods@chromium.org

Review URL: https://codereview.appspot.com/19330044

Conflicts:

	src/compiler/translator/InfoSink.h

Change-Id: Ie480d5c293d099f21dafc8c1e7997c0b4cda7207
Reviewed-on: https://chromium-review.googlesource.com/178998
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Shannon Woods <shannonwoods@chromium.org>
2013-12-09 21:54:23 +00:00