|
f2a06035
|
2017-06-05T14:07:36
|
|
Force-release images on redefine when robust resource init is enabled.
If the user repreatedly calls glTexImage with null data and the same size,
it is expected that the texture would re-fill itself with zero'd data.
TextureD3D and ImageD3D would no-op these calls when the texture is
already the right size.
TEST=conformance2/rendering/blitframebuffer-filter-outofbounds
BUG=angleproject:1635
Change-Id: I810b15922759a4acfc0ef7da198f068b81e9efc4
Reviewed-on: https://chromium-review.googlesource.com/524436
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
c564c070
|
2017-06-01T12:45:42
|
|
Pass gl::Context to impl methods instead of ContextImpl.
In some cases we might have to call back into the GL layer, passing
the Context, and if we just have a ContextImpl pointer this isn't
possible. It also removes the need for SafeGetImpl.
BUG=angleproject:2044
Change-Id: I6363e84b25648c992c25779d4c43f795aa2866d6
Reviewed-on: https://chromium-review.googlesource.com/516835
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
80616218
|
2017-05-17T15:40:03
|
|
Support CHROMIUM_copy_texture for all formats on D3D11.
Adds a CPU readback and conversion path when the destination texture is
not renderable.
BUG=angleproject:1932
Change-Id: I71461ca991dc10dd636ff38e1ae20db2be0f8d63
Reviewed-on: https://chromium-review.googlesource.com/508308
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
4f0e003e
|
2017-05-01T16:04:35
|
|
Implement the new formats/features of the ES3 CHROMIUM_copy_texture.
Some non-renderable texture formats remain unimplemented.
BUG=angleproject:1932
Change-Id: Id206432d6e26a70fc0e84478a4e43e9eefadcf2f
Reviewed-on: https://chromium-review.googlesource.com/491948
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
fc72a073
|
2017-03-24T14:52:39
|
|
Update CHROMIUM_copy_texture entry points to the ES3 versions.
BUG=angleproject:1932
Change-Id: Ia45f8522320af1d747fbfb57468e8b881b033543
Reviewed-on: https://chromium-review.googlesource.com/459101
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
fd3dd436
|
2017-02-02T19:59:59
|
|
WebGL: Add 3D tex copying feedback loop detection.
When copying to and from the same texture, we need to reject only
the feedback loops formed with the same levels of the texture -
copying between different unrelated layers and levels is fine.
This change also fixes a couple bugs in our D3D11 CopyTexSubImage3D
implementation. We were missing some "!" operators, and we actually
would hit an ASSERT when trying to blit from a level of a 3D texture.
BUG=angleproject:1685
Change-Id: Id715bebafe8336cf8bb95d0d06275a8b95e522e1
Reviewed-on: https://chromium-review.googlesource.com/425494
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
8897afa1
|
2017-02-06T17:17:23
|
|
Pass Context around to Texture::copyImage.
Passing this through the chain will allow us to have access to the
platform methods, as well as be useful in the future for Vulkan.
BUG=angleproject:1660
Change-Id: I819984fceeb5a2a299aa54e59ef3b428f5f9c91f
Reviewed-on: https://chromium-review.googlesource.com/438684
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
604359b9
|
2017-02-03T10:44:49
|
|
D3D11/ES31: Fix unimplemented multitexture errors.
Although the functionality for these textures is unimplemented, we
still create zero textures for multisample in D3D11. Thus the
constructor and destructor should be marked as implemented.
BUG=angleproject:1590
BUG=angleproject:1660
Change-Id: I44b51dd4e89d492f98c134b8f7dfd62dffc97015
Reviewed-on: https://chromium-review.googlesource.com/437304
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
bddc46b4
|
2016-12-09T09:50:51
|
|
ES31: Implement multisampled Textures.
Implement TexStorage2DMultisample and getMultisamplefv entry point.
Also modify sample state for Textures and Framebuffers.
BUG=angleproject:1590
TEST=angle_unittests
TEST=angle_end2end_tests
TEST=dEQP-GLES31.functional.texture.multisample.samples_*.sample_position
TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_color_2d
TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_depth_2d
TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_sample_count_tex_tex
TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_sample_count_tex_rbo
TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_non_zero_level
TEST=dEQP-GLES31.functional.texture.multisample.negative.texture_high_sample_count
TEST=dEQP-GLES31.functional.texture.multisample.negative.texture_zero_sample_count
TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_1_texture_2d
TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_4_texture_2d
Change-Id: I8fa7bd4e73b95745858a3e16b1b92004b4a18712
Reviewed-on: https://chromium-review.googlesource.com/414309
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Yunchao He <yunchao.he@intel.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
acd1898e
|
2017-01-04T10:46:42
|
|
Replace Error(GL_NO_ERROR) with NoError().
In order to make the errors be consistent throughout ANGLE.
BUG=angleproject:1686
Change-Id: I0a2d86091d640aedeac94beae345c1fb6971b00d
Reviewed-on: https://chromium-review.googlesource.com/424835
Commit-Queue: Yunchao He <yunchao.he@intel.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
f097e238
|
2016-11-05T00:44:15
|
|
D3D11: Fix 3D texture redefinition bug.
We would incorrectly check the storage type after we had redefined it.
Thus we would allow old storages to persist for some cases of 3D
texture. This bug did not affect 2D textures.
See WebGL 2 test: conformance2/misc/views-with-offsets.html
BUG=angleproject:1609
Change-Id: I7a04ff498740bb5d7daf2cee174c336f97a44c01
Reviewed-on: https://chromium-review.googlesource.com/408417
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
60e6edfa
|
2016-10-31T12:17:19
|
|
Make ASSERT reference the conditional expression.
This should prevent further unexpected bot breakage due to
unreferenced variables in the ASSERT expression.
Also remove the no longer needed variable referencing macro.
BUG=angleproject:1586
Change-Id: I127695165bdfe39c51fe8d17e00daf6bf2fa8252
Reviewed-on: https://chromium-review.googlesource.com/404948
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
8234e7b3
|
2016-10-07T15:12:10
|
|
Refactor some errors into ANGLE_TRY macros.
BUG=None
Change-Id: I00ff2523995cb49d1af60cae62c2bba0d020eed4
Reviewed-on: https://chromium-review.googlesource.com/395569
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
22416868
|
2016-06-08T16:14:36
|
|
Add dirty bits for internal texture state.
Synchronize TextureGL internal state using the dirty bits.
TexturesBenchmark scores:
Before: 5051
After: 7639
Diff: +51.2%
BUG=angleproject:1386
Change-Id: Id04aef778a47175d1a284564495a646045855b4b
Reviewed-on: https://chromium-review.googlesource.com/393866
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
47110bf4
|
2016-04-20T11:13:22
|
|
Implement CHROMIUM_copy_compressed_texture for D3D11.
BUG=angleproject:1356
Change-Id: Id563997d2921cf558c52a781ae66d8bde58d1f2f
Reviewed-on: https://chromium-review.googlesource.com/339847
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3416ff3e
|
2016-08-04T10:13:21
|
|
D3D: Check for error before createTextureStorageEGLImage.
Previously we were just dumping any unexpected errors here. Fix this
by passing in the RT explicitly in the constructor, although we still
store the EGLImage pointer in case the RT changes.
BUG=angleproject:1455
Change-Id: Ie4d4a07c3a7b3a5ccc0a43c4e80bfc6ee43a676b
Reviewed-on: https://chromium-review.googlesource.com/365411
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
97073d12
|
2016-04-20T10:42:34
|
|
Implement CHROMIUM_copy_texture for D3D11.
BUG=angleproject:1356
Change-Id: I70246762411dbeeb3e291e317854139a68d80070
Reviewed-on: https://chromium-review.googlesource.com/339434
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
a3944d4f
|
2016-07-22T22:13:26
|
|
Add gl::Format to represent a texture/rb/surface format.
This has a few advantages: it preserves all the information of the
internal format, such as if it is sized or unsized. It also saves
looking up the format multiple times in the table, which should
improve speed in some cases.
The extra sized-ness information will allow us to perform the
correct validation in CopyTexSubImage calls.
BUG=angleproject:1228
Change-Id: I42954771b0a9a968f5d787b8cf6e0af721791855
Reviewed-on: https://chromium-review.googlesource.com/362626
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6396d9f2
|
2016-07-20T17:43:10
|
|
Fix windows clang build
Change-Id: I920e9be38c3dd63e00db111294f69c335c4e772d
Reviewed-on: https://chromium-review.googlesource.com/361663
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9e55a966
|
2016-06-28T13:21:21
|
|
TextureD3D: No-op on zero-sized CompressedTexImage.
TEST=deqp/functional/gles3/negativetextureapi.html
BUG=483282
Change-Id: Ifd9674c2d29dc7e3a5e620b7a043cdb38a923ca0
Reviewed-on: https://chromium-review.googlesource.com/356680
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
95faa233
|
2016-06-07T14:01:53
|
|
Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D
Resubmitted with test skip added for Intel OpenGL.
GLES 3.0.4 section 3.8.3:
"For the purposes of decoding the texture image, TexImage2D is
equivalent to calling TexImage3D with corresponding arguments and
depth of 1, except that UNPACK_SKIP_IMAGES is ignored."
An "applySkipImages" boolean parameter is added to the functions in
the D3D backend that apply skip offset to the unpack pointer. In case
2D texture data is uploaded, the parameter is set to false and
UNPACK_SKIP_IMAGES is not applied.
BUG=angleproject:1406
TEST=angle_end2end_tests
Change-Id: I5878439e3d38dbae89cc2452a056c2d6bbf9e0b3
Reviewed-on: https://chromium-review.googlesource.com/351330
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a1d6c4dc
|
2016-06-09T18:00:42
|
|
Revert "Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D"
The Windows Intel GPU FYI bot started failing the Texture2DTestES3.UnpackSkipImages2D/ES3_OPENGL test after this CL. Example: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28New%20Intel%29/builds/866
This reverts commit ac3575b27296398baebeb6c891871c6dac7df338.
Change-Id: I5120261f5cf1ece9b21e4a94f63f85e014d2d8e4
Reviewed-on: https://chromium-review.googlesource.com/351280
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
ac3575b2
|
2016-06-07T14:01:53
|
|
Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D
GLES 3.0.4 section 3.8.3:
"For the purposes of decoding the texture image, TexImage2D is
equivalent to calling TexImage3D with corresponding arguments and
depth of 1, except that UNPACK_SKIP_IMAGES is ignored."
An "applySkipImages" boolean parameter is added to the functions in
the D3D backend that apply skip offset to the unpack pointer. In case
2D texture data is uploaded, the parameter is set to false and
UNPACK_SKIP_IMAGES is not applied.
BUG=angleproject:1406
TEST=angle_end2end_tests
Change-Id: Iedc2b05377adee8d5c2504511a87421f4b1db18d
Reviewed-on: https://chromium-review.googlesource.com/350465
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e2e406c3
|
2016-06-02T13:04:10
|
|
Add base::numerics for safe math and conversions.
This replaces are "IsUnsignedXXXSafe" family of methods.
Also add overflow checks to unpack block sizes.
BUG=angleproject:1397
Change-Id: Ib47be149b0486c70f795b0d0f8899441faac9340
Reviewed-on: https://chromium-review.googlesource.com/348062
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d787e50b
|
2016-05-25T13:10:15
|
|
Try more to use ANGLE_TRY.
Also refactor the Renderer11::copyImage functions to share code.
BUG=angleproject:1384
Change-Id: I95f4266c0c9b67a13cba17797989fcc0b0d50c1d
Reviewed-on: https://chromium-review.googlesource.com/347248
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
0f2b1560
|
2016-05-13T16:15:35
|
|
Fix GenerateMipmap when base level or max level are set
According to GLES 3.0.4 section 3.8.10, GenerateMipmap should generate
levels based on the base level, and generate them at most up to the
max level. Levels outside the base/max level range should be unchanged
by GenerateMipmap.
The Texture class is fixed so that the image descs are set only for
the changed mipmap range when GenerateMipmap is called.
The D3D backend is fixed so that mipmap generation is correctly
started from the base level instead of level 0, and making sure that
mipmaps are generated only up to the max level. Generating mipmaps for
array textures is also fixed for cases where the base level depth >=
max(width, height) * 2.
The GL backend is fixed to sync texture state before GenerateMipmap is
called, so that base level and max level are set correctly in the
driver.
The GenerateMipmap entry point is refactored so that it has a separate
validation function and a context function which does the work.
Validation for out-of-range base levels is added.
New tests are added to verify the functionality. One corner case in
the tests fails on NVIDIA GL drivers likely due to a driver bug -
similar rules for GenerateMipmap are found from newer GLES specs and
also OpenGL specs (checked versions 3.3 and 4.4).
BUG=angleproject:596
TEST=angle_end2end_tests
Change-Id: Ifc7b4126281967fc4f6dc4f9452e5b01e39f83d7
Reviewed-on: https://chromium-review.googlesource.com/344514
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
e8528d89
|
2016-05-16T17:50:52
|
|
Fix determining texture mipmap completeness
The code didn't previously take base level properly into account
when determining how many levels to check when checking for texture
completeness.
The code is refactored so that the "q" value in spec, that is the
maximum mipmap level for determining completeness, can be queried from
TextureState. This value is used now for checking completeness.
This requires moving ImageDescs under TextureState. Functions that
operate on the ImageDesc array are also moved from Texture to
TextureState. TextureState members are also renamed to start with the
"m" prefix and made private.
Also handle levels outside the base/max level range consistently in
eglCreateImageKHR validation. We interpret the spec so that if the
level used for the EGL image is not a part of the texture levels that
affect texture completeness, an error is generated.
BUG=angleproject:596
TEST=angle_end2end_tests
Change-Id: I038ef24aa83e0a6905ca3c0bbada5989eecb00d9
Reviewed-on: https://chromium-review.googlesource.com/344880
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
b66a9097
|
2016-05-16T15:59:14
|
|
Add support for OES_EGL_image_external and OES_EGL_image_external_essl3.
BUG=angleproject:1372
Change-Id: I8489e7fd0ab409b0775041ad5e9fbf0aab53886d
Reviewed-on: https://chromium-review.googlesource.com/344734
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
53ea9cc6
|
2016-05-17T10:12:52
|
|
Replace rx::Renderer with rx::ContextImpl.
Previously Context had no Impl class, but had a special relationship
with the instanced Renderer class. Having a ContextImpl backing every
Context will allow new designs to enable things like multithreading
(where each ContextImpl stores a Context-specific device) or non-
virtual Contexts on Android or other platforms where it is more
efficient.
A large refactoring patch that touches every back-end.
BUG=angleproject:1363
Change-Id: Icb73a7d37447f08a664eeb499a310ba05d71a57e
Reviewed-on: https://chromium-review.googlesource.com/342052
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
87fc71c4
|
2016-05-11T14:25:21
|
|
D3D: Reallocate storage when texture format changes with base level
Different levels of the same texture may have different formats, so
changing the base level may affect the format that should be used for
the storage. Take this into account in the D3D backend.
The added test fails on some GL drivers.
TEST=angle_end2end_tests
BUG=angleproject:596
Change-Id: I5380e942694a75685ebb510edb01c0489e0d5179
Reviewed-on: https://chromium-review.googlesource.com/344230
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
77ae8d57
|
2016-05-06T14:19:01
|
|
Share TextureState structure with TextureImpl
This refactoring patch removes the need to pass texture state to
methods of TextureImpl in some cases. It also adds target value to
TextureState, and moves TextureState definition to Texture.h.
The effective base level can now also be queried from TextureState,
which reduces the need to pass it around.
Two different code paths that dealt with the TextureStorage11 SRV
cache are combined into one.
Besides refactoring, this patch fixes applying mTopLevel twice when
determining the amount of mip levels TextureStorage11.
BUG=angleproject:596
TEST=angle_end2end_tests, angle_unittests
Change-Id: I1add3d9ad847bec56774e394125156cf9cb0fc2a
Reviewed-on: https://chromium-review.googlesource.com/342940
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
a314b61c
|
2016-03-10T16:43:00
|
|
Determine D3D texture storage size with correct base level
The size of the texture storage is now determined by extrapolating
the level zero texture dimensions from the base level dimensions.
This fixes crashing when images for levels below the base level are
not defined, and also fixes texture storage dimensions being
calculated wrong in case the levels outside the used level range have
dimensions that are inconsistent with the dimensions inside the used
level range.
Checking texture level completeness in TextureD3D is now done based on
the dimensions of the base level, and levels that are outside the base
level to max level range are not taken into account. Textures are
marked incomplete in case their base level is greater than their max
level.
Changing the base level can also affect the size of the storage
required for the texture. Old storage is now discarded when the base
level is changed and the new base level calls for different storage
dimensions.
Code in TextureD3D is refactored so that "base level" actually means
the base level of the texture specified through the GLES API, and
"level zero" is used where TextureD3D would sometimes previously use
"base level".
Changing either the base level or max level can also affect texture
completeness, so invalidate the cached completeness in Texture if
they are changed.
Some of the added tests are still failing on Intel and NVIDIA OpenGL
drivers because of driver bugs. Tests also fail on OSX.
BUG=angleproject:596
TEST=angle_end2end_tests,
dEQP-GLES3.functional.texture.* (no regressions),
dEQP-GLES3.functional.shaders.texture_functions.* (no regressions),
dEQP-GLES3.functional.state_query.texture.* (no regressions)
Change-Id: Icd73d6e29f84a341ed5ff36d5ec5cb2f469cb4e8
Reviewed-on: https://chromium-review.googlesource.com/333352
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
|
|
bda75597
|
2016-04-18T17:25:54
|
|
Finish NV12 support via streams.
The main functionality for NV12 texture support through EGL streams has
been added. Updates to the compiler, texture code, and stream code were
added to support binding to external D3D11 NV12 textures. An end2end test
was also added to test sampling of YUV textures and converting to RGB.
There is also a new script to convert BMP files to an NV12 texture ready
to load into D3D11 for testing purposes.
BUG=angleproject:1332
Change-Id: I39b6ec393ea338e2c843fb911acc1b36cd1158a0
Reviewed-on: https://chromium-review.googlesource.com/339454
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Ewell <ewell@google.com>
Reviewed-on: https://chromium-review.googlesource.com/341254
Reviewed-by: Ian Ewell <ewell@google.com>
|
|
9670b03e
|
2016-04-29T09:47:47
|
|
Revert "Finish NV12 support via streams."
Broke Windows Clang compilation, see https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Clang%20Builder%20%28dbg%29/builds/3583/steps/compile/logs/stdio and search for TextureStorage11.h
This reverts commit 9b8b359fa3615be7c7492239a48f61103b2e4fcc.
Change-Id: I6e54305eba02b40927a35577594df39e951adb32
Reviewed-on: https://chromium-review.googlesource.com/341430
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
|
|
9b8b359f
|
2016-04-18T17:25:54
|
|
Finish NV12 support via streams.
The main functionality for NV12 texture support through EGL streams has
been added. Updates to the compiler, texture code, and stream code were
added to support binding to external D3D11 NV12 textures. An end2end test
was also added to test sampling of YUV textures and converting to RGB.
There is also a new script to convert BMP files to an NV12 texture ready
to load into D3D11 for testing purposes.
BUG=angleproject:1332
Change-Id: I098940e6f25e113dcc4fc8d22ffed4b5a16fd860
Reviewed-on: https://chromium-review.googlesource.com/339454
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Ian Ewell <ewell@google.com>
|
|
e2509a39
|
2016-02-01T14:09:05
|
|
D3D11: Fix basic ReadPixels from 3D attachments.
Use the TextureHelper class to abstractly handle 2D and 3d textures.
Also refactor the Image11 copy methods to be a bit cleaner and not
use the copy conversion path when unnecessary.
This patch does not yet fix layer attachments - the fix for that will
come up in a subsequent patch.
BUG=angleproject:1290
Change-Id: If8b7aa8848ca4260e0dde690e7a99e115a97fabb
Reviewed-on: https://chromium-review.googlesource.com/323442
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
adff67b5
|
2015-10-14T10:34:45
|
|
Re-land "Implements more pack/unpack states."
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
Note that PBOs are not covered by this change.
Re-land with fix for test expectations.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: I71d8d3bd8fc1f2c75ca16ac2634d5eafcbd71f26
Reviewed-on: https://chromium-review.googlesource.com/305522
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c7473924
|
2015-10-14T14:33:19
|
|
Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels. Note that PBOs are not covered by this change."
Expectations still not correct. This removes suppressions for two
failing tests:
functional.texture.specification.teximage3d_depth_pbo.depth_component32f_2d_array
dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth32f_stencil8_2d_array
BUG=angleproject:512
BUG=angleproject:1095
This reverts commit 72e7013e68a24107b9082629fc52d59a78998eb2.
Change-Id: Id81b6e616e61535b8504890ce57591813e22af69
Reviewed-on: https://chromium-review.googlesource.com/305521
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
72e7013e
|
2015-10-01T17:19:45
|
|
Implements more pack/unpack states.
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
Note that PBOs are not covered by this change.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: Ia2fd7e52615d4aa08011dd615fcc20b79672d355
Reviewed-on: https://chromium-review.googlesource.com/304908
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
000b2f49
|
2015-10-09T15:33:14
|
|
Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels."
This is causing failures in dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth_component24_2d_array
First failing build on the bot:
http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/3635
Please fix the failure and re-land your CL with the fix.
BUG=angleproject:512
BUG=angleproject:1095
This reverts commit f1bb3f0569d5ef41b17f8ad0add7308f9d0f0de1.
Change-Id: I30f61db888b0adf73a1d98bbeeb2428068119627
Reviewed-on: https://chromium-review.googlesource.com/304990
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
f1bb3f05
|
2015-10-01T17:19:45
|
|
Implements more pack/unpack states.
Pack: row length, skip rows, skip pixels.
Unpack: image height, skip images, skip rows, skip pixels.
BUG=angleproject:512
BUG=angleproject:1095
Change-Id: I11e3bc05d23419b72c92b96aabd3f0bacd983626
Reviewed-on: https://chromium-review.googlesource.com/304370
Tryjob-Request: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
69cce580
|
2015-09-17T13:20:36
|
|
Split the SamplerState struct into SamplerState and TextureState.
SamplerState is now only the members that are overridden by a sampler
object, this makes it easy to update those specific members.
Opted for getters and setters for each member in Texture and Sampler
because it will be required to enable dirty bits for these states.
Added maxAnisotropy to the SamplerState instead of texture state. The
sampler objects extension mentions it should be there.
BUG=angleproject:1162
Change-Id: I5aa6d702bd5915ee9df1976afef3c8c1f69d27c8
Reviewed-on: https://chromium-review.googlesource.com/300490
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
362c0a79
|
2015-08-12T14:44:38
|
|
Implement EGL image classes for the D3D renderers.
BUG=angleproject:970
Change-Id: I24d393fcd75dd4ee510785e8475b093868701c77
Reviewed-on: https://chromium-review.googlesource.com/295152
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tryjob-Request: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
33d71f58
|
2015-08-18T09:31:59
|
|
Rename TextureD3D::setImage() to setImageImpl().
This makes it clear that this is not an attempted override of the
virtual base class's method rx::TextureImpl::setImage().
Do the same for TextureD3D::setCompressedImage().
No intended behavior change.
BUG=angleproject:1083
Change-Id: I874e4101e8138c7c5000f5966afed6a339523c02
Reviewed-on: https://chromium-review.googlesource.com/293865
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Nico Weber <thakis@chromium.org>
|
|
f4e794ec
|
2015-08-12T14:10:36
|
|
In TextureD3D_2D, don't call Image::redefine directly.
Call the TextureD3D_2D::redefine member which will not make unnecessary
modifications to the image and lets the member serve as a callback for
redefined images.
BUG=angleproject:970
Change-Id: I511310ebfd4d6133219bbef82c53747f9454aee0
Reviewed-on: https://chromium-review.googlesource.com/293904
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
87d3fe04
|
2015-08-18T14:38:43
|
|
Revert "In TextureD3D_2D, don't call Image::redefine directly."
Warnings in 64-bit.
This reverts commit a0633a7e4124473d67538053cba3ebdc44f71687.
Change-Id: I5b3f31b261b947cd295e9f4a9abbbdbc00740183
Reviewed-on: https://chromium-review.googlesource.com/293841
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a0633a7e
|
2015-08-12T14:10:36
|
|
In TextureD3D_2D, don't call Image::redefine directly.
Call the TextureD3D_2D::redefine member which will not make unnecessary
modifications to the image and lets the member serve as a callback for
redefined images.
BUG=angleproject:970
Change-Id: I280c18b993ef4dfac2efe1b28bf28c34aa4b6bcc
Reviewed-on: https://chromium-review.googlesource.com/293222
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4d61f7ed
|
2015-08-12T10:56:50
|
|
Reland Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'
Additional warnings found with more testing and added C4267 warning disable only for angle_libpng
BUG=angleproject:1120
Change-Id: Ic403dcff5a8018056fa51a8c408e64207f3362eb
Reviewed-on: https://chromium-review.googlesource.com/293028
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b195643c
|
2015-08-12T17:35:20
|
|
Revert "Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'"
Seems to have quite a few warnings in 64-bit on my machine.
BUG=angleproject:1120
This reverts commit c5cf9bc47d0ee028adbbf9e9f94ca567eec601dc.
Change-Id: I86768b900aeba52e7a2242d9ae8949f93f1a5ba9
Reviewed-on: https://chromium-review.googlesource.com/293280
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
c5cf9bc4
|
2015-08-06T10:46:48
|
|
Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'
BUG=angleproject:1120
Change-Id: I01ef10bea7f487c2b394d030c76628f38d2ea645
Reviewed-on: https://chromium-review.googlesource.com/292780
Tested-by: Cooper Partin <coopp@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a840617a
|
2015-07-21T16:53:39
|
|
Implement the egl and gl layers of EGL Image.
Add end2end tests and unittests.
BUG=angleproject:970
Change-Id: Ie8306971730a793f08dfd09ead1bfd6ff3e4623d
Reviewed-on: https://chromium-review.googlesource.com/291260
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
4274f7d2
|
2015-08-05T23:07:38
|
|
Revert "Implement the egl and gl layers of EGL Image."
This reverts commit 22a4f38c2ca9ca430b5f976fc7fc816d88918eba.
Change-Id: I07acbfe28d11675236de2ea7f6b050c25f80579a
Reviewed-on: https://chromium-review.googlesource.com/290960
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
22a4f38c
|
2015-07-21T16:53:39
|
|
Implement the egl and gl layers of EGL Image.
Add end2end tests and unittests.
BUG=angleproject:970
Change-Id: I13fc501b24c3f11bfedc810c1ff80fcf1318877c
Reviewed-on: https://chromium-review.googlesource.com/287343
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
bc4acb4e
|
2015-07-22T13:37:42
|
|
dEQP: Update dEQP-GLES3 test expectations.
Tests are all green on my local Nvidia configuration.
BUG=510822
BUG=angleproject:1071
Change-Id: I56d30089d574e795cfbd012ce7430896856d32ee
Reviewed-on: https://chromium-review.googlesource.com/287517
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
|
|
a455824c
|
2015-07-17T14:25:01
|
|
Remove GetAttachmentSerial.
Cascades to remove serials from many objects.
BUG=angleproject:970
Change-Id: I0a74a14519da3203cd5df7ae0fa19f83393951ce
Reviewed-on: https://chromium-review.googlesource.com/286554
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
2453dbcb
|
2015-07-14T11:35:42
|
|
Fix 2D array texture redefinition.
Only happens with texture formats that require initialization.
BUG=angleproject:1069
TEST=dEQP-GLES3.functional.texture.format.sized.2d_array.* all pass
Change-Id: I215d1262cddcde4ed218b6f023e67747cbc3eeaf
Reviewed-on: https://chromium-review.googlesource.com/285347
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@google.com>
|
|
8509d86e
|
2015-05-20T14:06:13
|
|
Pipe the imageSize parameter from the entry point to avoid recomputation.
BUG=angleproject:884
Change-Id: Ic4d5bdc5b65ebcb8c57b960e84708e945db0276a
Reviewed-on: https://chromium-review.googlesource.com/272422
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fb074dd8
|
2015-05-19T12:34:35
|
|
Revert "Clear image descs on Impl errors."
Didn't fix the crash, and the crash experiment is complete.
BUG=485543
This reverts commit 9674850737bd3e7f44fdc9d1ddc42fffd76f2997.
Change-Id: If7d97901b87506bf306ab5558575d0413c76cb68
Reviewed-on: https://chromium-review.googlesource.com/272150
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
96748507
|
2015-05-11T10:06:12
|
|
Clear image descs on Impl errors.
This is a speculative fix for a possible crash, when we could get
out-of-sync between the Impl and the GL state.
BUG=485543
Change-Id: Id26475f1aae7da05b5ffd802c4a7600e21b40315
Reviewed-on: https://chromium-review.googlesource.com/270194
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
8cf813c7
|
2015-05-04T12:55:18
|
|
Query attachment render targets from Impl class.
*re-land with fix for D3D9*
This allows us to eradicate the GetAttachmentRenderTarget methods.
This improves potential performance, at the cost of exposing a
Renderer-specific function at the API object level.
BUG=angleproject:963
Change-Id: Iee9f985ddaed668df0c622228004b348eb4d2ea8
Reviewed-on: https://chromium-review.googlesource.com/269006
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
e737b06c
|
2015-05-04T16:53:56
|
|
Revert "Query attachment render targets from Impl class."
D3D9 bug is causing failures in the WebGL depth texture test.
BUG=angleproject:963
This reverts commit 804e8436f91733e1d0f769ec10082e4741f2e549.
Change-Id: I660f05033360e97258794138cb50b604f5ac16b6
Reviewed-on: https://chromium-review.googlesource.com/269005
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
804e8436
|
2015-04-30T09:42:23
|
|
Query attachment render targets from Impl class.
This allows us to eradicate the GetAttachmentRenderTarget methods.
This improves potential performance, at the cost of exposing a
Renderer-specific function at the API object level.
BUG=angleproject:963
Change-Id: Ifc227b5f42e87bd4deb451d685618cf61fea39f1
Reviewed-on: https://chromium-review.googlesource.com/263491
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
752ce192
|
2015-04-14T11:11:12
|
|
D3D11: Use DX generateMips to generate mipmaps whenever possible.
BUG=angleproject:974
Change-Id: I95937fe7a0833de77c52f838ebb3ecba55dfbf8a
Reviewed-on: https://chromium-review.googlesource.com/265640
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
794e0009
|
2015-04-07T18:31:54
|
|
Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)
Change-Id: Id0e06d7d6600344d858f00dabc219d79289bbc82
Reviewed-on: https://chromium-review.googlesource.com/265020
Tested-by: Minmin Gong <mgong@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b3584fb4
|
2015-04-09T17:34:21
|
|
Revert "Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)"
Causing a build failure on Mac/Clang:
./Tokenizer.cpp:551:7: error: extra tokens at end of #else directive [-Werror,-Wextra-tokens]
#else if defined(_MSC_VER)
http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/29136
This reverts commit 3b26e231d99154814eb428f75a67bbe7a21adadc.
Change-Id: I2d11ddcc18130d908fd2ec3d6f5ab890cfccd5e7
Reviewed-on: https://chromium-review.googlesource.com/264983
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
3b26e231
|
2015-04-07T18:31:54
|
|
Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)
Change-Id: I73d9a2b9ad16f032be974b9c819de0dc1247c2ea
Reviewed-on: https://chromium-review.googlesource.com/264533
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
1aca922a
|
2015-03-19T12:02:50
|
|
Track more information at the egl::Surface level.
Many of the members of SurfaceImpl could be stored in egl::Surface
instead. This makes SurfaceImpl a pure interface and makes Surface
constructors much simpler.
BUG=angleproject:795
Change-Id: Ifa797b4bef84afe66f9fb3f3a6be260f726ca55c
Reviewed-on: https://chromium-review.googlesource.com/261358
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
f9c7a67b
|
2015-03-23T14:41:42
|
|
Fix copyTexImage2D failures on D3D11 9_3
Change-Id: I16453248c2cb0aaf53a748eb8d6e32c63fa73394
Reviewed-on: https://chromium-review.googlesource.com/261983
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
67102f01
|
2015-03-16T10:41:42
|
|
Add pass-through for new unpack store params.
Move the UNIMPLEMENTED checks to where they are used with non-default
values. This allows dEQP to pass the prerequisite tests like state
reset without throwing assertion failures in debug.
BUG=angleproject:901,angleproject:512
Change-Id: I3bd35f6dea61e7d80d1379ba4e8e13437e68431a
Reviewed-on: https://chromium-review.googlesource.com/257130
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
32334afe
|
2015-01-30T11:38:21
|
|
Implement the copy from a 3D texture to Image11.
Fixes the generation of 3D texture mipmaps.
BUG=angle:915
Change-Id: Icc0c91099f60713d511ebe1a2248a21b63efddaa
Reviewed-on: https://chromium-review.googlesource.com/244720
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
|
|
b0e83f46
|
2015-01-28T17:39:34
|
|
Catch errors in TextureStorage creation in TextureD3D::getNativeTexture.
BUG=450257
Change-Id: Iba75d9f0607177fff0bec7fcd2564a8d2e26da8e
Reviewed-on: https://chromium-review.googlesource.com/243882
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b8aee3bc
|
2015-01-27T14:42:36
|
|
Add UNPACK_ROW_LENGTH support to D3D11 renderer
Change-Id: I31ccffddcb04a45f19d3c3eb9a396c30e794b218
Reviewed-on: https://chromium-review.googlesource.com/243951
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Minmin Gong <mgong@microsoft.com>
|
|
9236b418
|
2015-02-02T16:51:52
|
|
Add generic Impl casting helper methods.
GetAs and GetImplAs are template helpers that can replace all of our
custom "makeTextureD3D", etc methods. This will help save code across
different back-ends.
Change-Id: Ib3215c005bfac5a819c5d8f7d60a73a725241332
Reviewed-on: https://chromium-review.googlesource.com/245390
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
846ca843
|
2015-01-29T10:29:54
|
|
Fix 2D tex array buffer unpacking.
In some cases, when an unpack buffer is enabled, we would use the
incorrect layer offset, because we would think the pixel pointer
was NULL. Use a new parameter instead of the double "null" meaning
to fix this.
This fixes several tests in the dEQP texture specification group.
(EG: dEQP-GLES3.functional.texture.specification.teximage3d_pbo)
BUG=angle:899
Change-Id: If96bba6987a04653301efc348d32de372a237aa1
Reviewed-on: https://chromium-review.googlesource.com/244092
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Zhenyao Mo <zmo@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>
|
|
3ae6465f
|
2015-01-26T15:51:39
|
|
Fix lots of variable shadowing in ANGLE
BUG=angle:877
Change-Id: I3df0fffb19f5ecbe439fbc2a8d6d239a5dc6b638
Reviewed-on: https://chromium-review.googlesource.com/243334
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
74cafab1
|
2015-01-23T23:17:32
|
|
Revert "Fix lots of variable shadowing in ANGLE"
Caused WebGL CTS failures on the texture-npot test:
https://www.khronos.org/registry/webgl/sdk/tests/conformance/textures/texture-npot.html
This reverts commit c67e6e9fade44ef8938724e82db11db725e9c8e5.
Change-Id: I089e99859231e0d657084ac3647257c650a9da92
Reviewed-on: https://chromium-review.googlesource.com/243041
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c67e6e9f
|
2015-01-21T16:01:07
|
|
Fix lots of variable shadowing in ANGLE
BUG=angle:877
Change-Id: I15168ae32605b26aee08274464ffe68adb5a7e87
Reviewed-on: https://chromium-review.googlesource.com/242351
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
|
|
62815bf4
|
2015-01-15T16:32:36
|
|
Improve D3D11 FL9_3 zero-LOD workaround (e.g. TextureCubes)
D3D11 Feature Level 9_3 can't disable mipmaps on a mipmapped
texture, and sample from level zero of it. A previous commit
added a workaround for this in ANGLE to Texture2Ds. This
commit fixes some minor issues in that commit, and extends
the workaround to apply to TextureCubes too.
Change-Id: Ic97321af6f8bbf7ad5d96e58655c342db3978a6a
Reviewed-on: https://chromium-review.googlesource.com/241944
Tested-by: Austin Kinross <aukinros@microsoft.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
c2e75afa
|
2015-01-05T14:26:24
|
|
Rename RenderTarget to RenderTargetD3D and move it into the d3d folder.
BUG=angle:681
Change-Id: I1946e01ce09d99405c318723c254fe300cc5ac53
Reviewed-on: https://chromium-review.googlesource.com/238471
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
b4dedf3e
|
2015-01-05T14:08:53
|
|
Merge the Image class into ImageD3D.
BUG=angle:681
Change-Id: I0c0d41fb3ff9592b08ede58a8c2ec2bd2d94a0b2
Reviewed-on: https://chromium-review.googlesource.com/238470
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
3c9db122
|
2015-01-15T16:36:55
|
|
Fix pixel unpack buffers for some formats.
The renderability test got flipped in 6cf8e1b906ebfc.
See dEQP test:
texture.specification.teximage2d_pbo.rgba8_snorm_2d
Note: this test still fails due to a bug in isMipmapComplete, which
has a fix in a subsequent patch.
Change-Id: Ied8ad7712bbb844132b6ac37426716780c9801c9
Reviewed-on: https://chromium-review.googlesource.com/240761
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
691e58cd
|
2014-12-19T17:03:25
|
|
Merge all gl::Texture* classes.
The validation for sampler completeness had a lot of duplicated code.
The special cases have been merged into the base class by checking mTarget.
BUG=angle:681
Change-Id: I11d94c1432f8fc70a1edaaf8228bbc43c3c8fff3
Reviewed-on: https://chromium-review.googlesource.com/236932
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8fed1f71
|
2015-01-09T11:09:33
|
|
Fix signed/unsigned missmatch on 32-bit builds.
BUG=angle:681
Change-Id: I6144359acd1611a13b0a582d3a31019138bb941c
Reviewed-on: https://chromium-review.googlesource.com/239844
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0a4f1e27
|
2014-12-17T12:33:26
|
|
Merge the Texture set*Image methods and use objects for sizes and offsets.
BUG=angle:681
Change-Id: If2e981c522ca5ba3eab4484594cb41aa23800ec4
Reviewed-on: https://chromium-review.googlesource.com/236261
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
d8a2258c
|
2014-12-17T15:28:23
|
|
Remove all uses of "actual" formats.
BUG=angle:861
Change-Id: I7cd2d1a56772fdf18bcf926456399322d13e7a4f
Reviewed-on: https://chromium-review.googlesource.com/236305
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8cb85c44
|
2015-01-07T13:23:26
|
|
Fix missing "!" in cube map render target serial check.
BUG=angle:849
Change-Id: I9e4cb31bdc82a1c556908571355387a9698c7528
Reviewed-on: https://chromium-review.googlesource.com/239230
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
049743a9
|
2014-12-23T13:05:11
|
|
Restrict depth buffer formats on D3D11 Feature Level 9_3
*_TYPELESS formats weren't supported in D3D10Level9 until
Windows 8. Some Win8 D3D9 drivers don't support them either.
To workaround this, we avoid _TYPELESS formats on D3D11 FL9_3.
BUG=angle:856
BUG=435726
Change-Id: I280dc7f87e3a2c737c14284ebb744188e7f10616
Reviewed-on: https://chromium-review.googlesource.com/237292
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Austin Kinross <aukinros@microsoft.com>
Tested-by: Jamie Madill <jmadill@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>
|
|
fb0580a6
|
2014-11-27T14:03:52
|
|
MANGLE egl::Surface.
This class has its fingers in a lot of other classes. In particular,
we will likely need to revisit the context lost handling methods when
we implement the robustness extensions on top of desktop GL. For now,
we can leave them tied pretty tightly to the D3D implementation.
BUG=angle:795
Change-Id: I9b3ac90dfd393f52c5b49bc2bd6b97fb5536ed91
Reviewed-on: https://chromium-review.googlesource.com/228916
Tested-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
2b5420c0
|
2014-11-19T14:20:15
|
|
Merge libGLESv2 and libEGL classes into libANGLE.
BUG=angle:733
Change-Id: Ic491c971411fe82c56cd97c5c8325ac14ec218df
Reviewed-on: https://chromium-review.googlesource.com/230830
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|