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

35 Коммитов

Автор SHA1 Сообщение Дата
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
shannon.woods@transgaming.com da1ed36a3b Reorganized new sources from recently applied patch into third_party directory.
Review URL: https://codereview.appspot.com/7105049

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1779 736b8ea6-26fd-11df-bfd4-992fa37f6226
2013-01-25 21:54:57 +00:00
daniel@transgaming.com 4167cc9102 Incorporated BSD-licensed changes implementing array bounds clamping.
BUG=none
TEST=ran associated WebKit layout tests in Chromium
Review URL: https://codereview.appspot.com/6999052

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1701 736b8ea6-26fd-11df-bfd4-992fa37f6226
2013-01-11 04:11:53 +00:00
daniel@transgaming.com a16a55f728 Add explicit std:: namespace to code from <cXYZ> includes.
Some platforms seem to implicitly include the <XYZ.h> headers
which also add some types and functions (like strlen, size_t,...)
into the global namespace.

On other platforms though, this can result in compile errors, which
is noticeable in WebKit on e.g. QNX. See also:
https://bugs.webkit.org/show_bug.cgi?id=95468

https://codereview.appspot.com/6843083/

Contributed by Milian Wolff, Klaralvdavens Datakonsult AB.

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1565 736b8ea6-26fd-11df-bfd4-992fa37f6226
2012-12-20 20:51:54 +00:00
daniel@transgaming.com b323df037b Invalidate client window area when resetting swap chain
Resizing a window larger results in the newly exposed region being invalidated
but the old region is treated as valid. This can result in the old region no
longer updating. This has been observed on Windows 7 64-bit with Aero theme
using NVIDIA GeForce GTS 250 and driver version 301.42. Invalidate the entire
client window area when resetting the swap chain so that it updates properly.

Original bug report: https://bugreports.qt-project.org/browse/QTBUG-27822
Review: http://codereview.appspot.com/6812076/
Author: Jonathan Liu

git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1458 736b8ea6-26fd-11df-bfd4-992fa37f6226
2012-11-28 19:41:36 +00:00
daniel@transgaming.com 3b6ff3e8a2 Reconcile AUTHORS and CONTRIBUTORS files
git-svn-id: https://angleproject.googlecode.com/svn/trunk@1269 736b8ea6-26fd-11df-bfd4-992fa37f6226
2012-09-05 15:50:49 +00:00
daniel@transgaming.com 5a1bfa2edb Add Jacek Caban to Authors list
Issue=358

git-svn-id: https://angleproject.googlecode.com/svn/trunk@1263 736b8ea6-26fd-11df-bfd4-992fa37f6226
2012-08-27 16:26:34 +00:00
daniel@transgaming.com 07ab841a88 Implement Anisotropic Texture filtering support
Bug=297
Authored-by: Conor Dickinson, Cloud Party, Inc.
Signed-off-by: Daniel Koch

git-svn-id: https://angleproject.googlecode.com/svn/trunk@1219 736b8ea6-26fd-11df-bfd4-992fa37f6226
2012-07-12 15:17:09 +00:00
daniel@transgaming.com 4f39fd9956 Initial import from TransGaming
git-svn-id: https://angleproject.googlecode.com/svn/trunk@2 736b8ea6-26fd-11df-bfd4-992fa37f6226
2010-03-08 20:26:45 +00:00