|
c3b9b26a
|
2015-01-30T14:00:51
|
|
Skip failing Texture tests on Intel D3D11.
There are currently some failures on the Chromium GPU FYI bots. The
failing machine is using an Intel HD 3000, and the group of failing
tests are the TextureTest.CopySubImageFloat_* group. I'm unable
to repro these failures, but disable the tests until we can fix them.
Also clean up our method of determining Renderer properties in
ANGLETest.
BUG=angle:850
Change-Id: I444b9d3497ea635fbd8957ac243b16c822c19d06
Reviewed-on: https://chromium-review.googlesource.com/244781
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Nicolas Capens <capn@chromium.org>
|
|
bc393df9
|
2015-01-29T13:46:07
|
|
Allow 32-bit float formats in ES2 CopyTexSubImage.
These corner case formats can come about from using floating
point textures and trying to copy between them. There currently
isn't a good alternative in WebGL 1 for copies.
BUG=angle:850
Change-Id: I3dc29e42b5ec7dcf071185bc09c6b3e9e3cb3207
Reviewed-on: https://chromium-review.googlesource.com/241048
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
88fe1ad7
|
2015-01-19T15:09:26
|
|
Update the texture storage after generateMipmaps and setStorage.
Also adds a few assert in SetData and various places to ensure that
images are not dirty before modifying the storage.
BUG=angle:873
Change-Id: I7cc922b33da0d79a1b5aefe216e9ccfaaf86a306
Reviewed-on: https://chromium-review.googlesource.com/241880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
|
|
215b37a6
|
2014-12-22T12:56:07
|
|
Work around zero-LOD mipmap issue on D3D11 Feature Level 9_3
In OpenGL ES, it is possible to sample from level 0 of a mipmapped
texture by setting GL_TEXTURE_MIN_FILTER to GL_NEAREST.
This is possible in D3D9 and D3D11 Feature Level 10_0+ via various
methods. It's not possible in D3D11 Feature Level 9_3, though.
This change works around this restriction by creating two copies of
each texture on 9_3. The textures are identical, except one has
mipmaps and one doesn't.
The D3D11 renderer figures out which texture to use at the right
time, and keeps the textures in sync with each other as necessary.
Note: each texture is only created when it's needed. It's possible
that only one (or even neither) D3D texture will be created for a
given GL texture.
Change-Id: I3c17137b4f63b9158b3abf067ad8e5d5c49d2191
Reviewed-on: https://chromium-review.googlesource.com/234522
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
ce8bb2fa
|
2014-12-30T13:32:25
|
|
Improve standards conformance of ANGLE's testing code.
ANGLE's testing code recently got enabled in Chromium's builds. While it
builds fine with cl.exe, it isn't quite standards-conformant and doesn't
build with clang. Fix this.
There were three issues:
1. ANGLE_TYPED_TEST_CASE() is a variadic macro that tries to use
__VA_ARGS__ as argument to a variadic template and then pass
that template to another macro. However, [cpp.replace] describes
that ANGLE_TYPED_TEST_CASE(Test, int, float) should be expanded
to TYPED_TEST_CASE(Test, ::testing::Types<int, float>) which
should be interpreted as a "call" of TYPED_TEST_CASE with the
3 macro arguments `Test`, `::testing::Types<int`, and `float>`.
As a fix, use a typedef for the variadic template and refer to
it through the typedef in the macro call.
2. `#version` was used on its own line in a substitution of the
SHADER_SOURCE macro. [cpp]p1 says that every line starting with
a `#` is a preprocessing directive, and [cpp.replace]p11 says
"If there are sequences of preprocessing tokens within the list
of arguments that would otherwise act as preprocessing directives,
the behavior is undefined" (with a footnote that this includes
non-directives -- # followed by unknown text). As a fix, merge the
`#version` line with the previous line. Now the line doesn't start
with `#` and things are fine.
3. Unqualified lookup usually doesn't look into dependent bases. If
this is desired, one usually has to make the call qualified, a
good explanation for this is at
http://eli.thegreenplace.net/2012/02/06/dependent-name-lookup-for-c-templates
cl.exe doesn't implement this rule, and clang tries to emulate
cl.exe's behavior to a certain extend when in Microsoft mode.
However, that seems to not work for member templates with explicit
types (filed http://llvm.org/PR22066 for this, but since it's not
needed to parse Microsoft headers and not standards-conformant,
I'm not sure if we'll fix that). As a fix, don't provide an explicit
type, the inferred type is the same. This is also consistent with
all the other tests in this file. (We might clean up -Wmicrosoft
warnings in the future; if so I'll add the explicit this->s that
are missing in this file when we do.)
BUG=chromium:445406
Change-Id: I77a2f3ab9601a1f0f39b56ed3d05217f123155b8
Reviewed-on: https://chromium-review.googlesource.com/238090
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
eb32a2e9
|
2014-12-10T14:27:53
|
|
Fix cube map rendertargets.
We were using the entire level parameter of the cube map, instead
of using the helper functions for cube map ImageIndexes, which
set the layer corresponding to the cube map face.
BUG=angle:849
BUG=440701
Change-Id: Id78db5c8281b6b644392bb961d69a7f869755a34
Reviewed-on: https://chromium-review.googlesource.com/234380
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
f8fccb39
|
2014-11-12T15:05:26
|
|
Fix bugs in 2D Array Texture support.
This fixes assertion failures and other errors, reproducible
by running the dEQP Texture Format tests.
BUG=angle:813
Change-Id: I3b97f89323f9656b45f617211fb4579a24013951
Reviewed-on: https://chromium-review.googlesource.com/229351
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
|
|
0d3683c4
|
2014-10-23T11:08:16
|
|
Update ANGLE_platform_angle to allow requesting of Renderer versions.
Added enums to allow users to request major and minor versions of the
underlying API and if a WARP device is used.
BUG=angle:490
Change-Id: I0bfb2ac8d327da28a47cc8e6346300e47ab9538c
Reviewed-on: https://chromium-review.googlesource.com/225081
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
9aca059f
|
2014-10-06T16:26:59
|
|
Enable TexSubImage workaround on D3D11.
This workaround uses UpdateResource instead of staging buffers for
texture data updates. It improves performance for highly dynamic
textures, especially in some benchmarks, eg the turbulenz particle
demo.
Re-land, with fix to the issue with glGenerateMipmaps.
BUG=angle:729
BUG=365078
Change-Id: I4c9398e0645176c296bf95e35eab97a44eae4319
Reviewed-on: https://chromium-review.googlesource.com/221493
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
dcd8f13d
|
2014-10-03T19:54:50
|
|
Revert "Enable TexSubImage workaround on D3D11."
Probably causing WebGL CTS failures:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/6148
This reverts commit 2d337ce0503db5f91fcf0a11591cd436dfb32cd7.
Change-Id: Ic032640f44adf337c4b3eedd4d7f3551d565a5cb
Reviewed-on: https://chromium-review.googlesource.com/221397
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
2d337ce0
|
2014-10-03T11:50:56
|
|
Enable TexSubImage workaround on D3D11.
This workaround uses UpdateResource instead of staging buffers for
texture data updates. It improves performance for highly dynamic
textures, especially in some benchmarks, eg the turbulenz particle
demo.
BUG=angle:729
BUG=365078
Change-Id: Idd82c27845a772199caef3695111c96735e8843e
Reviewed-on: https://chromium-review.googlesource.com/219864
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
18b931d5
|
2014-09-29T12:58:31
|
|
Configure Google Tests to run against multiple renderers/GLES versions
BUG=angle:611
Change-Id: I7d43612171c439045038db9ae82fd8716c0b31c6
Reviewed-on: https://chromium-review.googlesource.com/220400
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
5599c8f6
|
2014-08-26T13:16:39
|
|
Use shared compile helpers in the ANGLE tests.
BUG=angle:730
Change-Id: Ib3bd646c73355449105e6cf79bdcf0a14b391fd2
Reviewed-on: https://chromium-review.googlesource.com/213550
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b759a748
|
2014-07-17T10:40:49
|
|
Fix test class names to reflect their class-ness.
Style guide dictates a camel case scheme for classes. Since the tests
are actually classes, update their names to reflect that.
Change-Id: Ib7422b6d8c5de8414765439704fc103eae8b2d63
Reviewed-on: https://chromium-review.googlesource.com/208680
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@chromium.org>
|
|
d4cfa57d
|
2014-07-08T10:00:32
|
|
Move more draw call validation to the API.
The GL expects us to reject invalid draw calls before we start
doing any work, so we can prevent internal unnecessary state
changes.
Also update the program binary's cached sampler data when we
validate. The previous patch was breaking draw calls in Google
Earth WebGL.
BUG=angle:571
BUG=390412
Change-Id: I1c4e204ae2467afc36b76af975a3a49e26349639
Reviewed-on: https://chromium-review.googlesource.com/206482
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c41e42d4
|
2014-04-28T10:58:16
|
|
Early-out of *TexSubImage* calls when the width, height or depth is zero.
BUG=angle:622
Change-Id: I74ef5b684151895b24a15fa8f799a633174622c2
Reviewed-on: https://chromium-review.googlesource.com/197270
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f67115ce
|
2014-04-22T13:14:05
|
|
Fix validation in TexSubImage.
We weren't properly checking the x and y offsets against the texture
boundary, and were in some cases producing D3D errors with out-of-bounds
writes. This was popping up in IncompleteTextureTest. The test itself
was also bugged.
BUG=angle:610
Change-Id: Id58cac088fed03cae2aabbf00bce234f17208753
Reviewed-on: https://chromium-review.googlesource.com/195410
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|