|
29e9035d
|
2017-05-05T16:41:29
|
|
Add Linux and MacOS support to perf_test_runner.py
This patch enables perf_test_runner.py to run on Linux and MacOS.
BUG=angleproject:2029
Change-Id: Ia7176a3f5fed0245ab72d5def1199623c4fb4fe2
Reviewed-on: https://chromium-review.googlesource.com/497648
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8ceaedf8
|
2017-05-09T10:32:22
|
|
Generate an INVALID_OPERATION error if a texture format is not supported.
We already generate an INVALID_VALUE in the ValidES3InternalFormat check
above. If an error is generated here, it is because the internal format
and type are not valid.
TEST: conformance2/textures/misc/tex-image-with-bad-args
BUG=angleproject:1958
BUG=angleproject:1715
Change-Id: I50d479e64d687cc971c8f41b5691dcb123da0391
Reviewed-on: https://chromium-review.googlesource.com/499690
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
65ac5b9c
|
2017-05-01T13:16:30
|
|
Allow glGenerateMipmaps on sRGB textures in WebGL.
The generated mipmaps are still not correct on all ANGLE backends.
TEST=conformance/extensions/ext-sRGB
BUG=angleproject:2009
Change-Id: I6299dcb93c71f48e61ec660347b4747366ecfb71
Reviewed-on: https://chromium-review.googlesource.com/491367
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a7ecec38
|
2017-05-08T17:43:55
|
|
GLSL: Simplify constructor parsing
Constructor argument checking rules are reorganized to make them
easier to understand and constructor node creation is made simpler.
This removes usage of constructor op codes from ParseContext. This
paves the way for getting rid of constructor op codes entirely, which
will remove duplicate information from the AST and simplify lots of
code.
This refactoring will make adding arrays of arrays slightly easier.
BUG=angleproject:1490
TEST=angle_unittests
Change-Id: I4053afec55111b629353b4ff7cb0451c1ae3511c
Reviewed-on: https://chromium-review.googlesource.com/498767
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
73fa4b83
|
2017-05-05T18:45:06
|
|
ES31: Validate fragment shader outputs
This allows to validate fragment shader outputs for
shader version #300 and newer.
Change-Id: I21b21ebb357eab61e36c080c328291ed20b8eb8f
Reviewed-on: https://chromium-review.googlesource.com/497749
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
40762ef3
|
2017-05-08T13:47:03
|
|
Supress floating point texture failures on various Intel bots.
BUG=angleproject:1958
Change-Id: Ia168cd1bd48b9a443da6662efeaace1f792861f3
Reviewed-on: https://chromium-review.googlesource.com/498408
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
53d3841c
|
2017-04-20T11:33:00
|
|
Refactor entry point gen slightly.
This makes the entry points a bit smaller and avoids redundant return
statements.
BUG=angleproject:1309
Change-Id: I895c26d4235900578f5acc0eb94a7deef67b946b
Reviewed-on: https://chromium-review.googlesource.com/483428
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b4cf5656
|
2017-05-05T18:51:17
|
|
Validate opaque operands against binary operators
Add checks that opaque operands can only be used with array indexing
and field section, as mentioned in ESSL 3.10 section 4.1.7.
BUG=angleproject:2028
Change-Id: I41b7f10785bf712dfc999f85ebff925341c51911
Reviewed-on: https://chromium-review.googlesource.com/497767
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
|
|
cc2a10e9
|
2017-05-03T14:05:12
|
|
Unify opaque type validation in GLSL parsing
Refactor separate sampler and image validations into unified opaque
type handling. This paves way for adding atomic counter, another
new opaque type.
BUG=angleproject:1729
Change-Id: I201d28e31c84534db43e656d518650e378bab76c
Reviewed-on: https://chromium-review.googlesource.com/493618
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
7142f6ce
|
2017-05-05T17:07:26
|
|
Prevent using gl_ViewID_OVR as an l-value
It's a shader input and as such should not be writable.
BUG=angleproject:1669
TEST=angle_unittests
Change-Id: I05cb5c63b7272dfa6e80cad57385da02504e4d8f
Reviewed-on: https://chromium-review.googlesource.com/497408
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
62a416d5
|
2017-04-28T09:59:56
|
|
Re-enable the RGB10A2 backbuffer format.
BUG=angleproject:1662
Change-Id: I9bd830a3021a0cfa9010c5e58d3a284cc3eeca26
Reviewed-on: https://chromium-review.googlesource.com/490346
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
5e4343a1
|
2017-05-05T10:56:12
|
|
Add msvs_cygwin_shell to all actions in vulkan.gypi.
BUG=angleproject:1668
Change-Id: I93bc7584ff7d945f9efde25c3379a282ee246b53
Reviewed-on: https://chromium-review.googlesource.com/497328
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
06f76552
|
2017-05-05T10:09:32
|
|
UniformsPerf: Define a vertex attribute.
This seems to fix a crash on D3D9/Win7/Intel.
BUG=chromium:704211
Change-Id: If600a6b8409774503f28ca122d87ef723e4ea2e5
Reviewed-on: https://chromium-review.googlesource.com/497649
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ee769dd2
|
2017-05-04T11:38:30
|
|
GLES2: Auto-generate entry points file.
BUG=angleproject:1309
Change-Id: I7817444c3ea56f932fe769a860f4a70b29262019
Reviewed-on: https://chromium-review.googlesource.com/483427
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
aa7203ef
|
2017-05-03T23:32:29
|
|
Inherit privately from angle::NonCopyable.
Make all inheritance from angle::NonCopyable private so the compiler
complains about this (admittedly unlikely) code:
class Foo: angle::NonCopyable {
virtual ~Foo() { ... }
};
angle::NonCopyable *p = new Foo;
delete p;
In the above code ~Foo() is not called, only ~NonCopyable(), because the
latter is not virtual. Making it virtual would add overhead to all derived
classes which don't already have a virtual method.
Also tighten access in NonCopyable, because we can.
BUG=angleproject:2026
Change-Id: Id0dc4d959cfb7bb82cf49382118129abb1d3a4f0
Reviewed-on: https://chromium-review.googlesource.com/495352
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
6a1d2f93
|
2017-05-02T16:47:38
|
|
Fix compilation of the Vulkan loader / layers in standalone
This commit introduces a stamping mechanism to make sure the order of
build dependencies is correct.
In GYP there are the following build order dependencies (between others):
- A target link depends on previous target links
- A target source compile depends on that target actions outputs
- An action output depends on the action inputs
The problem was that there were actions in vulkan_layer_utils_static
that generated headers needed by vulkan_loader's sources (between others)
Making a "dependencies" relationship between the two was not enough to
ensure the headers were generated before the source were compiled.
Instead we replicated the "stamping" mechanism used in GN using GYP
actions that depend on the headers and output a dummy stamp file. This
completes the build order dependencies: the sources depend on the stamp
which depend on the action's input, i.e. the generated headers.
BUG=angleproject:1668
Change-Id: I2de15ac2ea8f838acdbf43da1f111b28b8cc2184
Reviewed-on: https://chromium-review.googlesource.com/493892
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
|
|
677bb6ff
|
2017-04-05T12:40:40
|
|
Update checks for floating point renderability.
* Expose GL_CHROMIUM_color_buffer_float_rgb and
GL_CHROMIUM_color_buffer_float_rgba
* Fix many texture formats that were incorrectly checking the wrong
extension for support or renderability.
* Make all floating point texture extensions dynamically enableable.
BUG=angleproject:1958
BUG=angleproject:1715
Change-Id: Iefccc8b5ae5edd97623affa9de05b1d9af5c9598
Reviewed-on: https://chromium-review.googlesource.com/468450
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
bb7e5a7c
|
2017-04-24T10:16:44
|
|
GLSL parser: Fix empty declaration qualifier checks
The shader validation now does the same checks for qualifier
combinations regardless of if a declaration is empty, as is specified.
Some of these checks used to be in singleDeclarationErrorCheck, and
have now been moved to a new function declarationQualifierErrorCheck.
The other parts of singleDeclarationErrorCheck are under a renamed
nonEmptyDeclarationErrorCheck.
The patch also contains another related cleanup: Unnecessary symbol
nodes won't be created for empty declarations any more.
BUG=angleproject:2020
TEST=angle_unittests
Change-Id: I1c864a5e151c52703926d8c550450b2561bfcbb2
Reviewed-on: https://chromium-review.googlesource.com/493227
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
6ba99e3d
|
2017-05-03T13:10:46
|
|
Re-generate pre-compiled D3D shaders.
BUG=angleproject:1932
Change-Id: I927eb5adc73bcede220ec56a9634783edd735d18
Reviewed-on: https://chromium-review.googlesource.com/494706
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
60c65556
|
2017-05-02T14:34:05
|
|
Shrink FunctionsGL.cpp.
Templating here was causing a lot of redundant functions to be
generated. We can use a bit of macro magic instead of template
magic to reduce the binary size.
This reduces the size of the compile file by about 25k.
Note that the ASSIGN macro doesn't itself reduce size, but it
does save a bit of code size and makes the file look consistent.
BUG=angleproject:2022
Change-Id: I3d9a6e1739dcab1fceca3c63d2a4e35c1e847289
Reviewed-on: https://chromium-review.googlesource.com/493891
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
170efbf9
|
2017-05-02T13:45:01
|
|
validationES: reorder draw validation for the WebGL CTS dEQP
dEQP tries to test specific GL ES errors, but also triggers errors in
the additional WebGL validation. This commit reoders ANGLE's validation so
that WebGL-specific validation for draws is done after the common GL ES
checks.
BUG=angleproject:2021
Change-Id: Ie06b132ef6a4378f7c82ae8d354a8343d897c478
Reviewed-on: https://chromium-review.googlesource.com/493828
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ba29fa47
|
2017-05-02T12:17:24
|
|
Reduce binary size with format enum arrays.
Apparently using std::vector::push_back causes heavy inlining in MSVS.
This refactor (no functionality change) reduces the binary size from
~10kb for all the gl::Determine* functions plus the holding function
(setTextureExtensionSupport) to about 1.4k.
The visible size of my compiled 32-bit Release libGLESv2.dll went from
4648 to 4642 kb.
Note that using PoD arrays was sinificantly better than using vectors
with initializer lists (size was ~4kb instead vs 1.4kb).
BUG=angleproject:2022
Change-Id: I5b7efd41455d5ee35afc699bafef31ce8367934e
Reviewed-on: https://chromium-review.googlesource.com/493890
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
193c0950
|
2017-05-02T15:51:47
|
|
Fix assert when attempting to create a void array node
TIntermTyped::CreateZero can be reached with a void array type in an
error case. Handle this gracefully instead of asserting.
Also remove an assert that wasn't really checking anything in
CreateZero. type.isScalar() || type.isVector() || type.isMatrix() can
only be false in case of a struct, and struct type was being checked
in the condition on the line above.
BUG=chromium:717385
TEST=angle_unittests
Change-Id: Iff0811d18d399d7b32b2b46deea5df172412eb8c
Reviewed-on: https://chromium-review.googlesource.com/492887
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
be849e4f
|
2017-05-02T15:49:00
|
|
GLES2: Clean up entry points for auto-gen.
This cleans up a few things:
* refactors a few remaining missed EPs
* removes unnecessary includes
* rename one Context entry point
* moves some ES2 EP validation to validationES2
The last item makes for a significant diff, but this is a refactor
change only, with no functionality change.
BUG=angleproject:747
Change-Id: I7860cc4b6260b6c22faa5f2885297333c0cdb4ed
Reviewed-on: https://chromium-review.googlesource.com/483426
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c4e93668
|
2017-05-01T10:45:59
|
|
Update end2end tests to function without EXT_texture_storage.
This also exposed an issue in our glTexSubImage2D validation where the
sized format would be used for the texture support check when the unsized
format was provided. The GL_ALPHA32F format is not valid unless
EXT_texture_storage is present but using GL_ALPHA + GL_FLOAT is valid.
BUG=angleproject:1958
Change-Id: Ice0b7549c39559990942176481c5175df17aaf92
Reviewed-on: https://chromium-review.googlesource.com/491246
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f231232b
|
2017-05-02T15:46:18
|
|
vulkan: assume secure_getenv().
Vulkan's cmake files check for the availability of secure_getenv() but we
just assume it exists.
BUG=chromium:717558
Change-Id: I22054c3967f543d163dde37b9a6b13e896da7a50
Reviewed-on: https://chromium-review.googlesource.com/494126
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8562b773
|
2017-04-26T13:39:12
|
|
GLES2: Apply clang-format to entry points.
This will make the diff for the auto-gen patch easier to review.
BUG=angleproject:1309
Change-Id: I58526a29b7f538b45409c6ab48b75b41b3521321
Reviewed-on: https://chromium-review.googlesource.com/487883
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
2e16d96d
|
2017-04-19T14:06:36
|
|
GLES2: Use codegen for the entry point header.
This is a first step towards auto-generating more entry point files.
BUG=angleproject:1309
Change-Id: Ic75a627feb91c19b6bb398a6f9f1a37b603dea14
Reviewed-on: https://chromium-review.googlesource.com/483425
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0d434046
|
2017-05-02T13:34:12
|
|
Disable Vulkan support on Linux
There are both compile error and missing build file dependencies in
standalone builds.
BUG=angleproject:1668
Change-Id: I8741bd3dd20452c94921101bbf7c5be39fb463b7
Reviewed-on: https://chromium-review.googlesource.com/493608
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
d262799c
|
2017-04-28T17:17:03
|
|
Take depth into account when checking for OOB in TexImage3D
BUG=angleproject:2017
Change-Id: Id75a8c0ddf4eda4b569509e2014c20db6f5c46ff
Reviewed-on: https://chromium-review.googlesource.com/490848
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e7a792c6
|
2017-04-28T16:31:03
|
|
Suppress MipmapTestES3.BaseLevelTextureBug failures on 10.12.4.
BUG=705865
Change-Id: Ife59aaf009365a51b5362a00373d1efaceba9fb8
Reviewed-on: https://chromium-review.googlesource.com/490946
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
180973c7
|
2017-04-28T14:42:07
|
|
Fix params.h compilation.
The ANGLE_PARAM_TYPE_INFO macro was referencing the TypeInfo static
member that was only added when release asserts are enabled.
BUG=angleproject:747
BUG=chromium:716323
Change-Id: I0657dde69c62ab697b3c095fe19f38c130188cef
Reviewed-on: https://chromium-review.googlesource.com/490687
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
5416f753
|
2017-03-09T22:02:43
|
|
Clear11 Shader Optimizations and Shader Management Rework
- ClearShader made into a class that manages all required shaders and input layouts for clears
- ClearShader reuses VS for all clear types. This reduces shader compilation time and memory usage
significantly
- Use constantBuffer for color/z values instead of VB to decouple VB & VS from clearType and
allowing for the same VS to be used for multiple clear types
- FL10+ Devices: Generate positions using SV_VertexID in VS to avoid having to bind VB.
- FL93 Devices: Use an immutable VB containing only position data (SV_VertexID not supported)
- Implement CB cache. Incoming color/Z values checked against cache and CB/cache only updated if
there is a mismatch. Significantly reduces the frequency of expensive CB map/rename operations
especially in common scenarios where most/all clears use the same color/z values
BUG=angleproject:1935
Change-Id: I2015fbdcc135ba08b65dbecbe9c62499c2801037
Reviewed-on: https://chromium-review.googlesource.com/453882
Commit-Queue: Shahmeer Esmail <shahmeer.esmail@intel.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ae39958a
|
2017-04-28T10:42:42
|
|
Fix params.h compilation.
Because our ASSERT macro always references the conditional expression,
not defining TypeInfo was causing a compile error on builders which
had release asserts disabled.
BUG=angleproject:747
BUG=chromium:716323
Change-Id: I3b5f27e39235f26b8bef5921c2d398320eb0ebaf
Reviewed-on: https://chromium-review.googlesource.com/490426
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
37219c87
|
2017-04-26T10:59:48
|
|
Fix missing return values in bitset_utils.h
This patch adds the missing return value *this in the operator=
of class BitSetT
BUG=angleproject:1814
Change-Id: I758d62e80e4ade92aac64315f1808ca1eabdc787
Reviewed-on: https://chromium-review.googlesource.com/487423
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ffa4e611
|
2017-04-27T12:37:52
|
|
GLES2: Reformat entry point header.
This should simplify the diff with the auto-gen patch.
BUG=angleproject:1309
Change-Id: Ibea503f236e7dc07d0862e20f77e866d6ec1f316
Reviewed-on: https://chromium-review.googlesource.com/489081
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
e8b35512
|
2017-04-27T10:38:20
|
|
Fix workaround formats not being used when EXT_texture_storage is emulated.
This bug showed up on Mac which doesn't support the extension. The internalFormat
is correctly translated to the workaround format but the format and type are not.
BUG=angleproject:1958
Change-Id: I9b31f0491df1bb623bf59996cbb02d0276b6355c
Reviewed-on: https://chromium-review.googlesource.com/488582
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
876429b7
|
2017-04-20T15:46:24
|
|
Update gl2.h and update entry points.
Some method signatures were updated. Types like GLclampf and GLvoid
were replaced with other equivalents.
BUG=angleproject:1309
Change-Id: I05e8e2072c5a063d87ad96a855b907424661e680
Reviewed-on: https://chromium-review.googlesource.com/475011
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e1fd475b
|
2017-04-26T16:46:48
|
|
Apply release asserts config to all dependents.
Our test sets (e.g. angle_perftests) were not having the config
applied.
BUG=angleproject:747
Change-Id: Idd3a2cba214d38a923c1936787f9dec4bd016326
Reviewed-on: https://chromium-review.googlesource.com/487730
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2aadbfc3
|
2017-04-27T10:11:27
|
|
Expand the MipmapTestES3.BaseLevelTextureBug supression to all AMD OpenGL.
BUG=705865
BUG=715875
Change-Id: Ib4d83a8c9cb3f65ac8517bfd3ff7c38794dd0654
Reviewed-on: https://chromium-review.googlesource.com/488661
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9c9b40ac
|
2017-04-26T16:31:57
|
|
Use parameter cache to skip passing IndexRange.
For DrawElements et al., we can use a simple design to store
entry point parameters and compute index ranges lazily. This allows
us to compute the index range outside of the validation layer.
Fixing this will let us implement a few things, such as the no error
extension. It will also allow auto-generation of the entry points,
since we won't have to have special cases for certain entry
points. It will also help fix the syncState layering problem. Now the
cached parameter helper (which is owned by the Context) can make the
impl layer calls, instead of the validation layer calling the impl
directly.
We use a small array in Context to gather parameters in a generic
way without reallocation on call. We also check type safety by storing
a type info struct which can handle inheritance between type classes.
Optional variables for the cache determine when to re-compute values.
The intent with gatherParams is to call this in every entry point, and
have in most cases be a no-op. In some cases like for IndexRange, we
store some parameters for later use. The inheritance scheme enables
auto-generation of the entry points by keeping signatures similar.
BUG=angleproject:747
Change-Id: I871e99e1334cf6e61ef8da62fde3ced094903f8a
Reviewed-on: https://chromium-review.googlesource.com/474119
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
25e297e9
|
2017-04-20T17:01:20
|
|
D3D11: Alias dirty buffer channel bindings.
The types for this were a bit disorganized. Clean this up.
BUG=angleproject:1635
Change-Id: I669d347697e0c7c5b06ed7165fa0997c375e876e
Reviewed-on: https://chromium-review.googlesource.com/483315
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
29f148b0
|
2016-11-23T21:05:36
|
|
Support Vulkan on Linux as well as Windows.
Refactor display and surface classes into Win32 and Linux parts and
add Linux parts to gn and gyp builds.
BUG=angleproject:1668
Change-Id: I2a7d29c35f4f42fa0035bd97938d3770f3627672
Reviewed-on: https://chromium-review.googlesource.com/412426
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
6d1ccf01
|
2017-04-24T14:09:58
|
|
Re-order the error generation for ES3 TexImage calls.
Explictly check if the internal format enum is ever valid before checking
if it is valid in combination with other parameters. Some WebGL tests
expect a certain order for generated errors.
BUG=angleproject:2009
TEST=conformance2/textures/misc/tex-input-validation
Change-Id: I31166a78d00629f8281ef53eced72575497ae448
Reviewed-on: https://chromium-review.googlesource.com/486099
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
66c5e619
|
2017-04-25T11:40:03
|
|
TextureD3D: Mark images dirty after deleting the texture storage.
When a texture storage is deleted, it copies its mip levels back into
images and marks them clean. Marking the images dirty before deleting the
texture storage would have no effect.
BUG=705865
Change-Id: Ib4c0fc9bea1236fc31963d1b7db814785bc54abc
Reviewed-on: https://chromium-review.googlesource.com/486107
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f81ce4a3
|
2017-04-24T10:49:17
|
|
Refactoring: replace NULL by nullptr for pointers (3rd CL).
This CL mainly handles passing/returning NULL to/from a function.
BUG=angleproject:2001
Change-Id: I34802f792e710e3d7ff697cbe4701dc1bf5ab009
Reviewed-on: https://chromium-review.googlesource.com/485060
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f5841774
|
2017-04-19T16:31:11
|
|
Move Vulkan layer json files.
Put the Vulkan layer JSON files in the same place as the gn build puts
them, for consistency.
Change-Id: I6294372ce34ed20da357a8b8ea83018c4e748c37
Reviewed-on: https://chromium-review.googlesource.com/475074
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
|
|
d75dd26c
|
2017-04-20T17:01:19
|
|
Make ImageSibling inherit from FramebufferAttachment.
Only currently Renderbuffers and Textures can be bound with images.
This makes the relationship explicit, and also ensures that an image
sibling can determine if it's been initialized or not, which is
important for the robust resource init extension with Textures and
EGLImages.
BUG=angleproject:1635
Change-Id: Ie05319cfbfda50f1497cab3f0b9ca64e1bff8955
Reviewed-on: https://chromium-review.googlesource.com/469154
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
151d5de6
|
2017-04-13T09:52:23
|
|
Enable MSAA for texture client buffers
Enhancement to the EGL_ANGLE_d3d_texture_client_buffer extension to
allow use of a shared D3D texture that can be multi-sampled.
BUG=angleproject:1917
Change-Id: Iaf59bbd575a5dfb29345f55b549bc4017bf2d7d0
Reviewed-on: https://chromium-review.googlesource.com/446907
Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
331f6dbd
|
2017-04-13T13:57:59
|
|
Tighten workaround on unary minus for Intel D3D drivers
This driver bug has been fixed in 20.19.15.4624.
BUG=chromium:644033
Change-Id: I6f621d7c4d4b823da29255f869af84097f4f7c2c
Reviewed-on: https://chromium-review.googlesource.com/476118
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
966c940b
|
2017-04-18T12:38:27
|
|
Fix validation for compressed texture functions.
* No validation that the format matched the texture level's format for
SubImage calls.
* WebGL does not allow the base level to be smaller than the block size.
* ANGLE used to allow mips of size 3 when this is disallowed.
* Don't early-exit validation when dimensions are 0, imageSize validation
happens later.
TEST=conformance/extensions/webgl-compressed-texture-s3tc
BUG=angleproject:1998
Change-Id: I05f5a0b5180344d67b036fdecc17edd2256e85ab
Reviewed-on: https://chromium-review.googlesource.com/480442
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
e491578f
|
2017-04-12T15:19:07
|
|
WebGL: Validate the read and write buffers for BlitFramebuffer are unique.
TEST=conformance2/rendering/blitframebuffer-test
BUG=angleproject:1990
Change-Id: I0caeaac824f1689867134f34f74e5ef2c2f1b016
Reviewed-on: https://chromium-review.googlesource.com/475990
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
94ba36a7
|
2017-03-31T13:58:55
|
|
Only bind that native GL texture if it should be complete.
If extensions such as OES_texture_float_linear are not exposed but the
native drive still supports them, we don't want to bind the native texture
and instead bind a texture that is known to sample like the incomplete
texture.
BUG=angleproject:1959
Change-Id: I610dbd93bb566c8eb2166488a7494b74da4aa327
Reviewed-on: https://chromium-review.googlesource.com/465090
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
780612a5
|
2017-04-21T12:58:53
|
|
Fix the zlib build on 64-bit Windows.
BUG=angleproject:2004
Change-Id: Ifb4f19abbbb1b6724d2af5b0a5dfb005b49ae3d1
Reviewed-on: https://chromium-review.googlesource.com/483906
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
76b8f469
|
2017-04-21T12:23:40
|
|
Use a shared state for egl::Image.
This allows us to stop duplicating some information in the impl.
BUG=angleproject:1635
Change-Id: If8f7d2418571c3254729f48c463814ec18ed2644
Reviewed-on: https://chromium-review.googlesource.com/469153
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
f6b986c8
|
2017-04-18T14:52:31
|
|
Refactor TextureStorage11
The CL includes below changes:
1. Change bool isAssociatedImageValid to void verifyAssociatedImageValid
since we always required that the validation check should never be false.
So ASSERT() is enough. Same to
Image11::isAssociatedStorageValid->Image11::verifyAssociatedStorageValid.
2. Remove the unnecessary if checking after ASSERT
3. Use override instead of virtual if the function is virtual and
is overriding a virtual function from the base class.
BUG=angleproject:2006
Change-Id: I036666ae1ed4bfcaa8cef9e0e9626d375cd81a27
Reviewed-on: https://chromium-review.googlesource.com/480015
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
d22b8f72
|
2017-04-20T21:06:09
|
|
Fix zlib compile.
The zlib roll 50a8d0e0 broke the Window/gyp/ninja build.
Suppress C4245.
BUG=angleproject:2004
Change-Id: Ifdac7a1ec3162c8a296f6d4919a2b6f83bdf1e50
Reviewed-on: https://chromium-review.googlesource.com/483802
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
4f285443
|
2017-04-21T12:15:49
|
|
Refactoring: replace NULL by nullptr for pointers (2nd CL).
This CL mainly handles the pointer comparisons (== or !=).
BUG=angleproject:2001
Change-Id: I25ac3b61032e7ad91459a1c6541cadc87cf9b160
Reviewed-on: https://chromium-review.googlesource.com/483935
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
407d4e77
|
2017-04-12T14:54:11
|
|
Perform ANGLE_instanced_arrays validation for WebGL contexts.
TEST=conformance2/rendering/instanced-arrays
BUG=angleproject:1988
Change-Id: Ie513dcc7b1af540764fd5fe3790d3e6e3457f048
Reviewed-on: https://chromium-review.googlesource.com/475136
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ff5c63ee
|
2017-04-12T15:26:54
|
|
Allow dynamically enabling shading language extensions.
GL_OES_standard_derivatives, GL_EXT_shader_texture_lod and GL_EXT_frag_depth.
TEST=conformance2/extensions/promoted-extensions-in-shaders
TEST=conformance/glsl/misc/shader-with-dfdx.frag
BUG=angleproject:1719
Change-Id: Ic0bd50c6a222940cc8de903f88f19a4f5ee08088
Reviewed-on: https://chromium-review.googlesource.com/476030
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
de32c2e1
|
2017-04-20T15:16:33
|
|
dEQP: Remove shader compile/link timing output.
This should reduce our log sizes significantly. Will upstream the fix
to dEQP and then remove the custom workaround once we roll.
BUG=chromium:713196
Change-Id: I0ddb678bf5256bd5f05782ca40d49501e84e4cae
Reviewed-on: https://chromium-review.googlesource.com/483047
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4fd95d54
|
2017-04-05T11:22:18
|
|
Stop using FramebufferAttachment::Target.
Target includes the binding (DEPTH/STENCIL/COLOR), which is not useful
for many operations. Simplify this to just passing the mip/layer.
This allows us to stop using this internal struct in other classes.
BUG=angleproject:1635
Change-Id: Ic5a11781bf45fe7835437fa1e363c190b876d453
Reviewed-on: https://chromium-review.googlesource.com/469152
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ba992ab5
|
2017-04-19T11:18:14
|
|
Fix HLSL 3 generation of shaders with texture LOD.
BUG=angleproject:2002
Change-Id: If8e6bbaeb5769341f92f05025eafb6a202fec437
Reviewed-on: https://chromium-review.googlesource.com/481680
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
50a8d0e0
|
2017-04-20T10:55:28
|
|
Roll zlib to fix a warning on Mac
BUG=
Change-Id: Iaef87582aba57632d5a696fdf9ff09c4fab5c75a
Reviewed-on: https://chromium-review.googlesource.com/483619
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
d7297bfb
|
2017-04-19T15:27:10
|
|
Code refactoring: replace NULL by nullptr for pointers.
This is the frist change to replace NULL by nullptr.
It handles the initialization and assignment for pointers.
BUG=angleproject:2001
Change-Id: I6d4bb198a72e38b867cd2f65a6e6f2f61339a0b5
Reviewed-on: https://chromium-review.googlesource.com/481600
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
4181bc97
|
2017-03-17T14:55:25
|
|
Fix bug in updating vertex attribs with client memory pointers
In DEBUG version, when using OpenGL back-ends, ANGLE may meet an
INVALID_OPERATION error from driver when attemping to update an
attribute which is disabled and using a client memory pointer.
This patch fixes this bug by skipping such vertex attributes when
updating them to driver. With this patch the process to update
vertex attributes should be:
(1) For enabled attributes using client memory pointer:
update by streaming mode in streamAttributes()
(2) For disabled attributes using client memory pointer:
just label them dirty and skip them
(3) For attributes using buffer objects:
update with vertexAttrib*Pointer
BUG=angleproject:1942
Change-Id: I57043e5904eb4a342fa22d449d98a957010170d6
Reviewed-on: https://chromium-review.googlesource.com/456747
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
ca27139e
|
2017-04-05T12:30:00
|
|
Key the format tables on internal format and type.
Keying the format tables on internal format alone is not enough to fully
validate the unsized formats which require additional type information.
This CL has no functional changes, it just splits the tables and updates
the calls to GetInternalFormat info to provide type information when the
format is not sized.
BUG=angleproject:1523
BUG=angleproject:1958
BUG=angleproject:1228
Change-Id: I37e5201e7f54fa8eca01b8a6e64b11a6b94484e7
Reviewed-on: https://chromium-review.googlesource.com/468449
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8162926b
|
2017-04-19T11:56:01
|
|
Never add declarations without children to the AST
When block nodes were being created for loop bodies that didn't have
braces in the parsed source, the code didn't check if the loop body
was a declaration node without children. Always use appendStatement()
for adding statements to a block, so that declaration nodes without
children don't end up in the AST.
Similarly make sure that loop init nodes aren't declarations without
children.
BUG=chromium:712550
TEST=angle_end2end_tests
Change-Id: I5e79b700fe6158fa2422fcf4cd13818b2bd24863
Reviewed-on: https://chromium-review.googlesource.com/481660
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
0c0dc345
|
2017-03-24T14:18:51
|
|
Vulkan: Defer command buffer submission.
This packs more rendering commands into fewer command buffers.
Instead of using a single command buffer per-command, create a
buffer and record commands into it until we need to present the
frame. More sophisticated management will be necessary in the future
when we can do other types of copied and read-back from image data.
This also reduces the number of Fences we use for checking if the
device is finished with resources. Instead of creating a Fence
per-command-buffer, it creates one per-swap.
BUG=angleproject:1898
Change-Id: I9c6033bc04289fd8f936c0df914afc51fc434b29
Reviewed-on: https://chromium-review.googlesource.com/445800
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
43915883
|
2017-04-13T10:07:14
|
|
Lazily initialize the D3D device in DisplayWGL.
Change-Id: I3afe4c0619128d7063f49ed8c295d4b814193f84
Reviewed-on: https://chromium-review.googlesource.com/476930
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
6de51858
|
2017-04-12T09:53:01
|
|
Optimize angle::BitSetIterator.
Adds a new custom bitset template to handle packing as many bits as
possible into a single variable. Intelligently select the right class
depending on platform features and bit sizes.
For now, always use a packed 64-bit set on 64-bit, instead of using
a 32-bit set for smaller bitsets.
BUG=angleproject:1814
Change-Id: I3ffef815c15515555833f6fc9302d8a4eee5423b
Reviewed-on: https://chromium-review.googlesource.com/471827
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a0e0aebb
|
2017-04-12T15:06:29
|
|
Validate that framebuffer attachments all have the same size for WebGL.
TEST=conformance2/rendering/draw-buffers
BUG=angleproject:1989
Change-Id: Ifcbc766dea99a8361261713fde7a6b6ad724fd55
Reviewed-on: https://chromium-review.googlesource.com/475083
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e4b753ca
|
2017-04-05T11:22:18
|
|
Texture: Add helper to query desc from index.
BUG=angleproject:1635
Change-Id: I0e4b57119bf23d656446a5ded76ba2f62ea74d7f
Reviewed-on: https://chromium-review.googlesource.com/469151
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
b8126691
|
2017-04-05T11:22:17
|
|
Framebuffer: Add an update attachment helper function.
This will allow us to set that certain attachments need to be
initialized in a single place.
BUG=angleproject:1635
Change-Id: I98c10206ef27670847969c726a8620c4d26400d6
Reviewed-on: https://chromium-review.googlesource.com/469150
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b2931601
|
2017-04-11T15:58:57
|
|
Add robust entry point for CompressedTex(Sub)Image
BUG=angleproject:1354
Change-Id: I925db827c4ccf4e6f037a058f8f6b960a56047e1
Reviewed-on: https://chromium-review.googlesource.com/474964
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b36e5393
|
2017-04-12T15:45:13
|
|
D3D: Return an empty string when the translated shader source is empty.
TEST=conformance/extensions/webgl-debug-shaders
BUG=angleproject:1991
Change-Id: Id210ec43501c4e4f3db2c8a0aec25e1d20b18d33
Reviewed-on: https://chromium-review.googlesource.com/475992
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
33151a53
|
2017-04-13T09:58:17
|
|
Code refactoring: remove unneeded variables
BUG=angleproject:1996
Change-Id: If635bf836251f90ec40d791b5f80d43f751aad9b
Reviewed-on: https://chromium-review.googlesource.com/476079
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
d1bed175
|
2017-04-12T17:35:54
|
|
Reverse the order of array variable initialization
This works around a bug on Adreno 3xx in which array varying variables
are assigned in the reverse order.
BUG=chromium:709317
Change-Id: I86a345747f293ca8a2cb9a281bd1b752e66dcd3a
Reviewed-on: https://chromium-review.googlesource.com/475979
Commit-Queue: Kai Ninomiya <kainino@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c1d770e8
|
2017-04-13T17:31:24
|
|
Refactor remaining GLES 2.0 entry points.
This will pave the way for several features, like auto-generation.
BUG=angleproject:747
Change-Id: Ic390ac412f4e6b61346629093f185a4c07ea0284
Reviewed-on: https://chromium-review.googlesource.com/474118
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
3c68079c
|
2017-04-05T15:04:36
|
|
Update deqp expectations file for default fbo tests.
Deqp test case dEQP-GLES31.functional.fbo.no_attachments.maximums.all
fails on nvidia driver.
BUG=angleproject:1594
TEST=dEQP-GLES31.functional.fbo.no_attachments.*
TEST=dEQP-GLES31.functional.fbo.completeness.no_attachments
Change-Id: I31db12b10b4fb915135b12912738d9c14de1e585
Reviewed-on: https://chromium-review.googlesource.com/468649
Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
a9042d3c
|
2017-03-17T08:50:45
|
|
ES31: Add array element transformfeedback
This enhances the PackedVarying to be either one element of array, or
whole array. Correspondingly the VaryingPacking is expanded to pack it
properly.
BUG=angleproject:1950
Change-Id: I0529d7ac4367d42b2b433410fbf08351412aada8
Reviewed-on: https://chromium-review.googlesource.com/459115
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
e839078e
|
2017-04-06T14:34:43
|
|
compiler: Prune literal statements when outputting ESSL
The ESSL output doesn't have a default precision for floats, this causes
float literal statements to not have any precision defined, which is an
error. We fix this by removing literal statements as they are dead code
anyway.
BUG=angleproject:1967
Change-Id: I498f4f8495f854240ee8a2182415bf982c5166a4
Reviewed-on: https://chromium-review.googlesource.com/470268
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
6e60d6bf
|
2017-04-12T12:59:04
|
|
Don't allow deleting the 0 transform feedback.
BUG=709786
Change-Id: I956cae994241a650869cee45c471074d08e79a5d
Reviewed-on: https://chromium-review.googlesource.com/475131
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
67f5ce42
|
2017-04-12T10:32:36
|
|
Fix the texture completeness cache.
Two silly mistakes were landed in 9aded1:
* The cache was not updating the sampler state it was using to compare
against new ones.
* The SamplerCompletenessCache entry was being copied and not updated.
BUG=709980
Change-Id: I1914ed30e24b9e48c4504da164f013a637a0b6c2
Reviewed-on: https://chromium-review.googlesource.com/475752
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
1e5499db
|
2017-04-05T11:22:16
|
|
Refactor Signal utils into template classes.
This will allow us to pass on extra information to the receiving end,
such as the specific texture levels that are dirty.
BUG=angleproject:1635
Change-Id: Idb7ca1d625499e50e7712c458b694f6e9bfc0595
Reviewed-on: https://chromium-review.googlesource.com/453382
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2b39659d
|
2017-03-29T15:36:04
|
|
ES31: Implement glDispatchCompute for OpenGL backend
This patch refers to https://chromium-review.googlesource.com/c/380639/
BUG=angleproject:1955
TESTCASE=angle_end2end_tests
Change-Id: Iafd7a6ba2d71c0b332d9267a1260d9dbd9800c02
Reviewed-on: https://chromium-review.googlesource.com/462089
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e918de22
|
2017-04-12T10:21:11
|
|
Vulkan: Don't finish on swap.
This will enable the next frame to render while the previous frame's
command buffers are executing and rendering is happening. This should
speed up the Vulkan perf test.
BUG=angleproject:1898
Change-Id: I0820300d7934ef280cf75628239fe40dc96b8242
Reviewed-on: https://chromium-review.googlesource.com/445799
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
82483b93
|
2017-04-11T15:33:00
|
|
Obey the bufSize and write to the length parameter in glGetSynciv.
BUG=angleproject:1985
TEST=conformance2/state/gl-object-get-calls
Change-Id: Ic83c408b60d394ff5719beaedc5d4721b7811a47
Reviewed-on: https://chromium-review.googlesource.com/474551
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
df79af59
|
2017-04-11T16:56:58
|
|
Need Vulkan stuff for unix too.
Copy the Vulkan-related dependencies into the 'unix' section of the file
so we linux bots can build ANGLE's Vulkan backend.
BUG=angleproject:1668
Change-Id: I79e2895b525808072495c7cf18138facef6cc868
Reviewed-on: https://chromium-review.googlesource.com/475085
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
38f2cfb8
|
2017-04-11T15:23:08
|
|
Refactor validation of glGetSynciv.
BUG=angleproject:1985
Change-Id: Idf1057e6d8d8c850643e3b2a22be5a881c8a2301
Reviewed-on: https://chromium-review.googlesource.com/474550
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
58337799
|
2017-03-21T13:49:57
|
|
Correctly initialize the condition of FenceSync objects.
The spec says that the initial condition of a FenceSync object should be
GL_SYNC_GPU_COMMANDS_COMPLETE. Make sure this is set in case the
condition is queried before the fence is set.
TEST=conformance2/state/gl-object-get-calls.html
BUG=602688
Change-Id: I8c0451fc996c175109541f337191cc1be4b813e3
Reviewed-on: https://chromium-review.googlesource.com/457452
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
46258e1f
|
2017-04-10T12:28:34
|
|
Blit9: Pass the dest rect to setViewportAndShaderConstants.
Using the sourceRect for calculating the viewport and texture coordinates
was not enough when the source and destination rectangles were different
sizes (generating mipmaps).
BUG=709232
Change-Id: I2704ddf6e3da0939ad77d278ab495e53a2d9bc7d
Reviewed-on: https://chromium-review.googlesource.com/473266
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
eb8abb0a
|
2017-04-11T08:30:38
|
|
Remove unused declaration
isValidResourceIndex in Program.h is unused.
BUG=angleproject:1920
Change-Id: Ide097348fac7ed97a0e07f3d97d7944ac997f71d
Reviewed-on: https://chromium-review.googlesource.com/474229
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
5ed601b4
|
2017-04-10T18:50:10
|
|
Fix IsOzone() predicate.
ANGLE_USE_OZONE is not defined in tests, but USE_OZONE is so use the latter.
BUG=angleproject:1423
Change-Id: Ib758fec6a1bb8d5cc66d0994cba2142e6a7f82b0
Reviewed-on: https://chromium-review.googlesource.com/474113
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
20e005b2
|
2017-04-07T14:19:22
|
|
Rename BitSetIterator.h to bitset_utils.h
BUG=angleproject:1814
Change-Id: I152ae13b6b7cf0ba72259967f0f124e199b20e07
Reviewed-on: https://chromium-review.googlesource.com/471826
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
03b333b4
|
2017-04-07T14:54:10
|
|
Vulkan: Fix Clang warning and fix build.
The data_deps section for angle_vulkan was referencing a variable
that didn't exist (no warning for this). Fix the deps which also
then exposes the build problem with the layers with Clang in 32-bit.
Also fix not propagating the Win32 defines to the layer utils.
BUG=chromium:708835
Change-Id: I4a457bfabf1ca735d3f3f3d8b0f0823cfa834b84
Reviewed-on: https://chromium-review.googlesource.com/470087
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
bf67aa80
|
2017-04-07T10:32:16
|
|
Temporarily disable Vulkan for the GN build.
BUG=709342
Change-Id: I980634700d364824af9f9b749fca0ec72abf68f8
Reviewed-on: https://chromium-review.googlesource.com/471507
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
067cdb4a
|
2017-04-05T13:42:49
|
|
Create depth stencils for D3D texture EGL surfaces.
BUG=angleproject:1144
Change-Id: I42d80293c06e40197fe100bcac31a5c6bd414edf
Reviewed-on: https://chromium-review.googlesource.com/469106
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
fa416b18
|
2017-04-06T11:34:17
|
|
Disable ValidationESTest.DrawElementsWithMaxIndexGivesError.
Temporarily until we have a proper fix.
BUG=chromium:708835
Change-Id: I9c1d63d8d1f831f2a4a168149b7ff805bc851def
Reviewed-on: https://chromium-review.googlesource.com/469967
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6f1c3de9
|
2017-04-05T16:40:15
|
|
gpu_info_util: fix a DeviceInfo leak on Windows
BUG=angleproject:1874
Change-Id: I382e306ce0c27a81e0d746fb9922fa12988927d4
Reviewed-on: https://chromium-review.googlesource.com/469230
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|