|
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>
|
|
e8f47137
|
2015-09-09T12:17:43
|
|
Work around depth texture sampling differences in GL versions.
ES3 requires that only the red channel has data when sampling from depth
textures while desktop GL treats them as luminance textures. Set the
swizzle state of the texture to sample 0 from the blue and green channels
in TextureGL.
Passes 75 new tests in dEQP-GLES3.functional.texture.format and
dEQP-GLES3.functional.texture.specification.
BUG=angleproject:884
Change-Id: I863472961dcbbf8af864f5e1d85a4aea41f47bda
Reviewed-on: https://chromium-review.googlesource.com/298481
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
a6c95fc6
|
2015-09-09T13:02:52
|
|
Pass the texture unit to TextureGL::syncSamplerState.
When syncing the texture's sampler state, make sure the correct texture
unit is active. When StateManagerGL syncs the textures, it may not set
the active texture if the texture ID has not changed.
BUG=angleproject:884
BUG=angleproject:883
BUG=angleproject:1051
Change-Id: Ib22874c22a12b1b9bd68887ac5a449c507e7bdc6
Reviewed-on: https://chromium-review.googlesource.com/298482
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
53b8aec0
|
2015-08-24T10:33:25
|
|
Work around deprecated LUMA formats in the core profile.
Use R and RG textures with swizzle states to emulate them. A manual blit is
required when calling CopyTex[Sub]Image from a RGB[A] framebuffer to an
emulated L[A] texture so that the alpha channel ends up in the correct channel
of the destination texture.
Fixes the following tests when using the core profile:
* conformance/extensions/oes-texture-float.html
* conformance/extensions/oes-texture-half-float.html
* conformance/textures/misc/tex-sub-image-2d.html
* conformance/textures/misc/texture-formats-test.html
* conformance/textures/misc/texture-npot.html
BUG=angleproject:1113
Change-Id: If5540e66d9017596bd83d95ec3ede043cbcfe0d2
Reviewed-on: https://chromium-review.googlesource.com/293905
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
70022972
|
2015-08-18T17:53:00
|
|
Revert "Work around deprecated LUMA formats in the core profile."
Caused failures in the WebglConformance.conformance_textures_misc_copy_tex_image_2d_formats test on the ATI FYI waterfall bot.
This reverts commit 61f51dc1b7d383bcb3632218cd2434f65cac4b7a.
Change-Id: Iddea03d53ae2a9b639e36931f01c1e889e550af4
Reviewed-on: https://chromium-review.googlesource.com/294262
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
61f51dc1
|
2015-08-13T16:16:56
|
|
Work around deprecated LUMA formats in the core profile.
Use R and RG textures with swizzle states to emulate them.
Fixes the following tests when using the core profile:
* conformance/extensions/oes-texture-float.html
* conformance/extensions/oes-texture-half-float.html
* conformance/textures/misc/tex-sub-image-2d.html
* conformance/textures/misc/texture-formats-test.html
* conformance/textures/misc/texture-npot.html
* conformance/more/functions/copyTexImage2D.html
* conformance/more/functions/copyTexSubImage2D.html
BUG=angleproject:1113
Change-Id: Iaf4b7b2b0000052b1747f46d90ad45d4cb1f6b50
Reviewed-on: https://chromium-review.googlesource.com/293530
Reviewed-by: Kenneth Russell <kbr@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>
|
|
1b94d432
|
2015-08-07T13:23:23
|
|
Implement dirty bits for RendererGL's basic state.
BUG=angleproject:1040
TEST=angle_end2end_tests,angle_perftests,WebGL
Change-Id: I72beaf7e178e042440337fbb8b9669638c5ad016
Reviewed-on: https://chromium-review.googlesource.com/289558
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-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>
|
|
23a2ae0c
|
2015-07-28T12:42:52
|
|
Centralize GL format workarounds.
Instead of trying to encapsulate the GL texture format workarounds into
tables, use functions that do manual checks for specific cases. Simplifies
the logic.
Fixes:
* conformance/extensions/ext-sRGB.html
* conformance/extensions/oes-texture-half-float.html
* conformance/extensions/oes-texture-half-float-with-canvas.html
* conformance/extensions/oes-texture-half-float-with-image.htm
* conformance/extensions/oes-texture-half-float-with-video.html
BUG=angleproject:884
Change-Id: Ifb719fff908680fddc7c53a544e2284a42a58356
Reviewed-on: https://chromium-review.googlesource.com/289082
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
14389ccf
|
2015-07-23T10:57:20
|
|
Always use sized internal formats for textures in TextureGL.
On desktop GL, using an internal format of GL_RGBA produces GL_RGBA8
textures even if format is set to GL_FLOAT. Use sized internal formats
whenever possible to ensure that the internal format of the texture is
the expected format.
Work around issues with Intel and AMD drivers that always round up when
writing to a 1-bit alpha framebuffer format.
Fixes:
* conformance/extensions/oes-texture-float-with-image-data.htm
* conformance/extensions/oes-texture-float-with-image.html
* conformance/extensions/oes-texture-float.html
* conformance/extensions/oes-texture-half-float-linear.html
* conformance/extensions/oes-texture-half-float-with-image-data.html
* conformance/extensions/oes-texture-half-float-with-image.html
* conformance/extensions/oes-texture-half-float.html
Reland of https://chromium-review.googlesource.com/#/c/288350/
BUG=angleproject:884
Change-Id: Ia2f9251d12dd3bbc7b6918d46e61623d0abedfac
Reviewed-on: https://chromium-review.googlesource.com/288584
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5e7f5c92
|
2015-07-25T13:52:51
|
|
Revert "Always use sized internal formats for textures in TextureGL."
Causing failures on the Intel and AMD bot.
This reverts commit 8d8044f7e39839a5dfbf09553f77fd4325e64d4c.
Change-Id: I7dc6634eaf6f57ad84c315d74aa74d3ef2d4016f
Reviewed-on: https://chromium-review.googlesource.com/288325
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
8d8044f7
|
2015-07-23T10:57:20
|
|
Always use sized internal formats for textures in TextureGL.
On desktop GL, using an internal format of GL_RGBA produces GL_RGBA8
textures even if format is set to GL_FLOAT. Use sized internal formats
whenever possible to ensure that the internal format of the texture is
the expected format.
Fixes:
* conformance/extensions/oes-texture-float-with-image-data.htm
* conformance/extensions/oes-texture-float-with-image.html
* conformance/extensions/oes-texture-float.html
* conformance/extensions/oes-texture-half-float-linear.html
* conformance/extensions/oes-texture-half-float-with-image-data.html
* conformance/extensions/oes-texture-half-float-with-image.html
* conformance/extensions/oes-texture-half-float.html
BUG=angleproject:884
Change-Id: I48f220a4da518fff5831155a45c04cafcdffd33b
Reviewed-on: https://chromium-review.googlesource.com/288350
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
589a0bad
|
2015-07-24T17:55:54
|
|
Revert "Always use sized internal formats for textures in TextureGL."
Causing failures on the Intel and AMD bots which seem to have incorrect rounding for 1-bit alpha formats.
This reverts commit 0bcb68f32f5790b0c10913351259fdf4bfed0c28.
Change-Id: I00d333b5c10ba3f41d54bec95769f4baf07b0771
Reviewed-on: https://chromium-review.googlesource.com/288206
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
0bcb68f3
|
2015-07-23T10:57:20
|
|
Always use sized internal formats for textures in TextureGL.
On desktop GL, using an internal format of GL_RGBA produces GL_RGBA8
textures even if format is set to GL_FLOAT. Use sized internal formats
whenever possible to ensure that the internal format of the texture is
the expected format.
Fixes:
* conformance/extensions/oes-texture-float-with-image-data.htm
* conformance/extensions/oes-texture-float-with-image.html
* conformance/extensions/oes-texture-float.html
* conformance/extensions/oes-texture-half-float-linear.html
* conformance/extensions/oes-texture-half-float-with-image-data.html
* conformance/extensions/oes-texture-half-float-with-image.html
* conformance/extensions/oes-texture-half-float.html
BUG=angleproject:884
Change-Id: I227e782fe9aae7b2e66df67c7a4519cfc79890b9
Reviewed-on: https://chromium-review.googlesource.com/287529
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
5ec53c82
|
2015-06-05T16:32:14
|
|
Handle the remaining pixel unpack parameters in TextureGL.
BUG=angleproject:884
Change-Id: I9e248e623f3b342f878bf65c9686768b90cf5ed8
Reviewed-on: https://chromium-review.googlesource.com/275692
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
|
|
fd216c41
|
2015-05-27T16:12:30
|
|
Support BGRA texture by remapping the internal format to RGBA.
The format is still passed as BGRA to the driver so that the data can be
properly unpacked.
BUG=angleproject:884
Change-Id: I767626c818ce1a3c5a4739f07aa623bf8a9ae377
Reviewed-on: https://chromium-review.googlesource.com/273162
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
90d98afa
|
2015-05-26T16:41:38
|
|
Bind a texture after creation so that it has a type.
If a texture is bound to a framebuffer before any data is set on it, the
texture does not have a type because it has never been bound. This
generates an INVALID_OPERATION because the attachment type cannot be
validated.
Fixes:
* Many generated GL_INVALID_OPERATIONs in chromium
BUG=angleproject:884
Change-Id: I4f36f80fecc5a772b6522f8f82e0be9d3758e524
Reviewed-on: https://chromium-review.googlesource.com/273324
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
42c98f6b
|
2015-05-20T14:09:25
|
|
Handle compressed texture formats in the emulated TextureStorage for TextureGL.
BUG=angleproject:884
Change-Id: Id54d9ff2845af52807161e0b589d8b76cfba412d
Reviewed-on: https://chromium-review.googlesource.com/272424
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
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>
|
|
1eb708e1
|
2015-05-04T14:58:23
|
|
Clear cached state when deleting GL objects.
Change-Id: I84eac9b3796858e5e19e26851ad83baa1f9b6af2
Reviewed-on: https://chromium-review.googlesource.com/269142
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@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>
|
|
0305320f
|
2015-04-09T11:21:13
|
|
WGL Pbuffer implementation.
BUG:angleproject:890
Change-Id: Id6e04117ddf7bde3ffb0d9e4cef6db3d07039a54
Reviewed-on: https://chromium-review.googlesource.com/261410
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@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>
|
|
fbfa47c4
|
2015-03-31T11:26:00
|
|
Implement copyImage and copySubImage in TextureGL.
BUG=angleproject:885
BUG=angleproject:884
Change-Id: I083b72059c55157e2a3ee00ec778f819a100be7b
Reviewed-on: https://chromium-review.googlesource.com/263179
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
1c0ad625
|
2015-03-24T10:27:45
|
|
Emulate TextureStorage when it is not available.
BUG=angleproject:884
Change-Id: Ie6e809477253502d88f599172eaed17638e58dd3
Reviewed-on: https://chromium-review.googlesource.com/262112
Reviewed-by: Brandon Jones <bajones@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
fb2a5597
|
2015-03-20T11:25:37
|
|
Fix incorrect assertion.
BUG=angleproject:884
Change-Id: I3406eec99609b85c407797c50b71611b445a6ca5
Reviewed-on: https://chromium-review.googlesource.com/261462
Tested-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
968992e3
|
2015-03-17T18:01:49
|
|
Fix unreferenced function warning.
Change-Id: I66b1821e5effcb761a5a0268f7f375289aa3a621
Reviewed-on: https://chromium-review.googlesource.com/260632
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|
|
c05f7065
|
2015-03-10T09:50:57
|
|
TextureGL implementation.
BUG=angleproject:884
Change-Id: I877c0a9f753dacff96bbb82486bee71d1996ecb7
Reviewed-on: https://chromium-review.googlesource.com/252982
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Tested-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>
|
|
f9a6f084
|
2015-01-22T13:32:49
|
|
Add GL and WGL renderer stubs.
BUG=angle:890
Change-Id: I64f2a72b4a350f95acc2ca7080fea1a308422ca4
Reviewed-on: https://chromium-review.googlesource.com/242573
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Brandon Jones <bajones@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
|