src/libANGLE/renderer/gl/formatutilsgl.cpp


Log

Author Commit Date CI Message
Jamie Madill acf2f3ad 2017-11-21T19:22:44 Apply Chromium style fixes. This addresses several minor code quality issues that are validated in Chromium, but not yet applied to ANGLE: * constructors and destructors must be defined out-of-line * auto is not allowed for simple pointer types * use override everywhere instead of virtual * virtual functions must also be defined out-of-line Slightly reduces binary size for me (~2k on Win, 150k on Linux). Bug: angleproject:1569 Change-Id: I073ca3365188caf5f29fb28d9eb207903c1843e6 Reviewed-on: https://chromium-review.googlesource.com/779959 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 225bfa95 2017-11-10T10:53:57 Always update HALF_FLOAT_OES type to HALF_FLOAT on Desktop GL. TEST=webgl_conformance_gl_passthrough_tests on Linux/Windows BUG=angleproject:2231 Change-Id: I17c7d693e2b75726e2478925e0f22963de6ab819 Reviewed-on: https://chromium-review.googlesource.com/763987 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Jeff Gilbert 9e888a46 2017-11-06T21:34:22 Fix HALF_FLOAT/HALF_FLOAT_OES selection with the ES3 backend. Found via TextureUploadFormatTest. BUG=angleproject:2231 Change-Id: I8f214c4cfe3d8fead9226db20e57f6e6039b5b44 Reviewed-on: https://chromium-review.googlesource.com/756642 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 3590555d 2017-11-01T10:27:09 Revert BGRA renderability change for ES drivers. While these should be supported on ES drivers, ANGLE's texture format caps generation does not correctly differentiate between renderbuffer and framebuffer attachment formats and leads to assertion failures. BUG=779346 BUG=angleproject:1523 Change-Id: I9a49abdf52ae8b1ef91f88a4434ff8c3f95b025b Reviewed-on: https://chromium-review.googlesource.com/748888 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Bryan Bernhart (Intel Americas Inc) 2a35741b 2017-09-05T10:42:47 WebGLCompatibility: Disable ES format extensions by default. Prevents format validation errors with WebGL context. BUG=angleproject:1523 Change-Id: Iddc525eeb467de0139e166dad0893f3bea3ef35f Reviewed-on: https://chromium-review.googlesource.com/650807 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Olli Etuaho 50c562de 2017-06-06T14:43:30 Re-land: Don't expose non-conformant multisampling modes on GL Re-landing with a fallback for failed internal format queries to work around issue seen on Shield TV. Also fixed wrong handling of integer RG formats in isRequiredRenderbufferFormat. Some NVIDIA GL drivers expose non-conformant multisampling modes. The conformance of multisampling modes can be queried using the extension NV_internalformat_sample_query. Use it to filter out the non-conformant modes from the modes that are exposed by ANGLE. The MAX_SAMPLES value and other similar values stored in caps also need to be lowered to match the maximum number of samples exposed for required formats. There seems to be an NVIDIA driver bug related to querying STENCIL_INDEX8 multisample format. Work around this by querying DEPTH24_STENCIL8 instead. There's also some confusion around whether RGB9_E5 should be renderable. Once the floating point texture extensions got rolled into the core GL spec, it was eventually made clear that RGB9_E5 is intended not to be renderable. The extension specs that predate float textures in the core spec do suggest that it would be renderable, but in practice drivers that advertise the extension strings don't reliably implement RGB9_E5 as renderable. Solve this by disabling it as a renderable format and adding an explanatory comment. BUG=chromium:682815 TEST=angle_end2end_tests, dEQP-GLES31.functional.state_query.internal_format.renderbuffer.* Change-Id: I727f03045a1534d6764b571e6d839243705d25b3 Reviewed-on: https://chromium-review.googlesource.com/551957 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Yuly Novikov c8a8b843 2017-06-28T01:16:41 Revert "Don't expose non-conformant multisampling modes on GL" This reverts commit 3cd0dd370f08e7126fe19b761206280c64f80cd1. Reason for revert: crashes on NVIDIA Shield TV https://build.chromium.org/p/chromium.gpu.fyi/builders/Android%20Release%20%28NVIDIA%20Shield%20TV%29/builds/1816 Original change's description: > Don't expose non-conformant multisampling modes on GL > > Some NVIDIA GL drivers expose non-conformant multisampling modes. The > conformance of multisampling modes can be queried using the extension > NV_internalformat_sample_query. Use it to filter out the > non-conformant modes from the modes that are exposed by ANGLE. > > The MAX_SAMPLES value and other similar values stored in caps also > need to be lowered to match the maximum number of samples exposed > for required formats. > > There seems to be an NVIDIA driver bug related to querying > STENCIL_INDEX8 multisample format. Work around this by querying > DEPTH24_STENCIL8 instead. > > There's also some confusion around whether RGB9_E5 should be > renderable. Once the floating point texture extensions got rolled > into the core GL spec, it was eventually made clear that RGB9_E5 > is intended not to be renderable. The extension specs that predate > float textures in the core spec do suggest that it would be > renderable, but in practice drivers that advertise the extension > strings don't reliably implement RGB9_E5 as renderable. Solve this > by disabling it as a renderable format and adding an explanatory > comment. > > BUG=chromium:682815 > TEST=angle_end2end_tests, > dEQP-GLES31.functional.state_query.internal_format.renderbuffer.* > > Change-Id: I2218e3a23ea7b48a0615fea77a91897dc7d5fe9e > Reviewed-on: https://chromium-review.googlesource.com/525515 > Reviewed-by: Geoff Lang <geofflang@chromium.org> > Commit-Queue: Olli Etuaho <oetuaho@nvidia.com> TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,oetuaho@nvidia.com # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:682815 Change-Id: I1ebdf52c3fab1526f5a561ac4c8555e305ef2243 Reviewed-on: https://chromium-review.googlesource.com/551164 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Olli Etuaho 3cd0dd37 2017-06-06T14:43:30 Don't expose non-conformant multisampling modes on GL Some NVIDIA GL drivers expose non-conformant multisampling modes. The conformance of multisampling modes can be queried using the extension NV_internalformat_sample_query. Use it to filter out the non-conformant modes from the modes that are exposed by ANGLE. The MAX_SAMPLES value and other similar values stored in caps also need to be lowered to match the maximum number of samples exposed for required formats. There seems to be an NVIDIA driver bug related to querying STENCIL_INDEX8 multisample format. Work around this by querying DEPTH24_STENCIL8 instead. There's also some confusion around whether RGB9_E5 should be renderable. Once the floating point texture extensions got rolled into the core GL spec, it was eventually made clear that RGB9_E5 is intended not to be renderable. The extension specs that predate float textures in the core spec do suggest that it would be renderable, but in practice drivers that advertise the extension strings don't reliably implement RGB9_E5 as renderable. Solve this by disabling it as a renderable format and adding an explanatory comment. BUG=chromium:682815 TEST=angle_end2end_tests, dEQP-GLES31.functional.state_query.internal_format.renderbuffer.* Change-Id: I2218e3a23ea7b48a0615fea77a91897dc7d5fe9e Reviewed-on: https://chromium-review.googlesource.com/525515 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang f607c60a 2016-09-21T11:46:48 Fix validation of ReadPixels format and type. The validation for ReadPixels allows for two combations of format/type: 1. Based on the current framebuffer's component type. * GL_RGBA/GL_UNSIGNED_BYTE if the framebuffer is a normalized (signed or unsigned). * GL_RGBA_INTEGER/GL_INTEGER if the framebuffer is an integer format. * GL_RGBA_INTEGER/GL_UNSIGNED_INTEGER if the framebuffer is an unsigned integer format. * GL_RGBA/GL_FLOAT if the framebuffer is any type of float framebuffer (added in EXT_color_buffer_float). * These combations are detailed in the ES2 spec on pg 105 or ES3 on pg 193. 2. The implementation read format/type returned from glGetIntegerv. * These formats are added by specs, OES_texture_float, EXT_texture_rg, EXT_read_format_bgra, etc. Update the GL and D3D backends to perform the conversion from GL_HALF_FLOAT to GL_HALF_FLOAT_OES. Continue allowing reading as BGRA_EXT to support Skia. Should be removed in the future. BUG=607283 BUG=angleproject:1478 Change-Id: I0312cad4d5f138ab036f383d221f8ccd19a77f6d Reviewed-on: https://chromium-review.googlesource.com/346232 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Jamie Madill 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>
Frank Henigman aa57aa4c 2016-01-27T00:02:13 Correct GLES depth 32 format. GL_OES_depth32 is required for DEPTH_COMPONENT32_OES render buffers. This stops Mesa from complaining when using GLES in the back end. BUG=angleproject:1301 Change-Id: I8c6ce6a5ce0cb5bf26157e3bb414f391a41d15c4 Reviewed-on: https://chromium-review.googlesource.com/331359 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Frank Henigman 9a7e8cab 2016-01-27T00:02:13 Disallow GLES BGRA render buffers. This stops Mesa from complaining when using GLES in the back end. BUG=angleproject:1301 Change-Id: I0b8cb78efea97c1ea0d21cd6b9f656e53b9b6cc2 Reviewed-on: https://chromium-review.googlesource.com/331395 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
Frank Henigman 8322cb91 2016-01-27T00:02:13 Corrections to GLES sRGB formats. This stops Mesa from complaining when using GLES 3.0 in the back end. BUG=angleproject:1301 Change-Id: Ib9c0397586a11c407c6aa9ad1544e12b43dd08a7 Reviewed-on: https://chromium-review.googlesource.com/324031 Tryjob-Request: Frank Henigman <fjhenigman@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang a8e3494e 2016-01-20T10:51:40 Don't force using sized internal texture formats for OpenGL ES. * LUMA formats don't have sized versions without specific extensions. * This allows a more direct translation, the driver should do the right thing. BUG=angleproject:884 BUG=angleproject:1145 Change-Id: I2ad13db7216eb7c715621a237b13ae9e3035310a Reviewed-on: https://chromium-review.googlesource.com/322694 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 07651e24 2016-01-20T10:45:08 Fix OpenGL ES extension checks for floating point textures. BUG=angleproject:1145 BUG=angleproject:884 Change-Id: I1ab16a187155573989f0605dbdd06f73ad8c8c58 Reviewed-on: https://chromium-review.googlesource.com/322691 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 6ea6f942 2015-09-11T13:11:22 Support GL_ETC1_RGB8_OES. Passes all dEQP tests related to etc1. Reland: Updated to work with the D3D11 renderer and re-tested with chromium's gles2_conform_test. Change-Id: Id2ce1b0eb58129152f67016ce2dc3ab19208269c Reviewed-on: https://chromium-review.googlesource.com/299770 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 1d91a7b1 2015-09-11T11:16:26 Formatutilsgl: Make floating point formats renderable on core GL 3.0 Previously they were listed as requiring ARB_color_buffer_float in all cases even if the extension has been merged in Desktop GL 3.0. Make it require Desktop GL 3.0 _or_ the extension. This fixes the PackUnpackTest and BlendMinMaxTest on Mac BUG=angleproject:891 Change-Id: I504d9ed3ed9f1d908964181a6c21b79f1faee9b1 Reviewed-on: https://chromium-review.googlesource.com/298862 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tryjob-Request: Corentin Wallez <cwallez@chromium.org> Tryjob-Request: Jamie Madill <jmadill@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Zhenyao Mo 1170e474 2015-09-11T21:48:20 Revert "Support GL_ETC1_RGB8_OES in the OpenGL renderer." This reverts commit 20bf7034533fbd9ff57296c5f9a5b1b9e06059db. Broke GL2ExtensionTests_compressed_etc1_rgb8_texture_input_run on win bots Change-Id: I2b48aac1512d916671d41e03f0409c404d6d7c88 Reviewed-on: https://chromium-review.googlesource.com/299429 Reviewed-by: Zhenyao Mo <zmo@chromium.org> Tested-by: Zhenyao Mo <zmo@chromium.org>
Geoff Lang 20bf7034 2015-09-11T13:11:22 Support GL_ETC1_RGB8_OES in the OpenGL renderer. Passes all dEQP tests related to etc1. Change-Id: I33f37c44396899d87e9ef19bd7a6e2b2482d232a Reviewed-on: https://chromium-review.googlesource.com/299342 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 1024f382 2015-09-11T19:42:02 Revert "Support GL_ETC1_RGB8_OES in the OpenGL renderer." Failing some ES2 dEQP tests. This reverts commit 4aba0b90ec3d2dcd550ed4111f5739191f022028. Change-Id: Ie39055872d25bce0f387e9e983ebab648c0493f0 Reviewed-on: https://chromium-review.googlesource.com/298972 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 4aba0b90 2015-09-11T13:11:22 Support GL_ETC1_RGB8_OES in the OpenGL renderer. Passes all dEQP tests related to etc1. Change-Id: I3ab2d51b7664cb2411fdc3247ff65a9e3258185a Reviewed-on: https://chromium-review.googlesource.com/299340 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 0d8b7247 2015-09-09T14:56:53 Support ETC2 texture formats with RendererGL. 400 tests in dEQP-GLES3.functional.texture go from unsupported to passing. BUG=angleproject:884 Change-Id: I51927dffbc5931c7d1b80e72f55c620197736724 Reviewed-on: https://chromium-review.googlesource.com/298484 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang df2572c3 2015-09-09T14:55:27 Add LUMA format entries into the tables in formatutilsgl. BUG=angleproject:884 Change-Id: Ie4f378bc18cda57a91c16832c33f0ddc81f9c105 Reviewed-on: https://chromium-review.googlesource.com/298483 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 9bbad18e 2015-09-04T11:07:29 Mark GL_RGB10_A2UI as a renderable format. dEQP-GLES3.functional.fbo.color.tex3d.rgb10_a2ui was already failing but because the framebuffer was marked as unsupported, dEQP considers the test to be passing. BUG=angleproject:1149 BUG=angleproject:1097 Change-Id: I82223e8e927d1fd6d66f75b5fdea7989c92d706d Reviewed-on: https://chromium-review.googlesource.com/298031 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Jamie Madill 47f730fa 2015-09-08T14:29:37 Revert "Mark GL_RGB10_A2UI as a renderable format." Fails the dEQP test: dEQP-GLES3.functional.fbo.color.tex3d.rgb10_a2ui BUG=angleproject:1149 This reverts commit d0f9fdc772d0b286a50978f4a16c94e2af3dfee7. Change-Id: I5b76255be3fc1f0734395dac609e2949fc8c8185 Reviewed-on: https://chromium-review.googlesource.com/298010 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang d0f9fdc7 2015-09-04T11:07:29 Mark GL_RGB10_A2UI as a renderable format. BUG=angleproject:1149 Change-Id: Ia808c0d411133d135eef8e90485ba346086f012c Reviewed-on: https://chromium-review.googlesource.com/296964 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang aadf5117 2015-07-29T01:21:20 Fix incorrect extension check. BUG=angleproject:884 Change-Id: Ia201ac60e337fd45ef72cc254bcb36d333418613 Reviewed-on: https://chromium-review.googlesource.com/289333 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 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>
Geoff Lang 8442a612 2015-06-05T16:43:27 Fix texture formats that only require extensions failing requirements checks. Unset version requirements equate to UINT_MAX causing requirements checks for fail for formats that only need extensions such as DXT formats. Fixes tests that require compressed formats. Passes conformance/extensions/webgl-compressed-texture-s3tc.html BUG=angleproject:884 Change-Id: Id810c477a359bf9d35a886c60735a91b51d1e931 Reviewed-on: https://chromium-review.googlesource.com/275693 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang aef1663f 2015-06-05T16:09:55 Add missing GL_STENCIL_INDEX8 format to the formatutilsgl table. Fixes conformance/renderbuffers/framebuffer-object-attachment.html BUG=angleproject:884 Change-Id: I421b563fa8549eb2edc42a9ac1c798fc457256ee Reviewed-on: https://chromium-review.googlesource.com/275690 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Corentin Wallez 322653bf 2015-06-17T18:33:56 Fix Chromium build of angle_end2end_tests BUG=angleproject:892 Change-Id: I9922046fc9e4d82d7034405f5952263f982c6529 Reviewed-on: https://chromium-review.googlesource.com/278159 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Tested-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 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>
Geoff Lang 6683032d 2015-05-27T16:11:32 Add remaining unsized formats to the GL format tables. BUG=angleproject:884 Change-Id: I53e7ff9e35b820573691df0d23b41ef45e2a07d0 Reviewed-on: https://chromium-review.googlesource.com/273590 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Geoff Lang 08dcfed6 2015-05-25T13:38:42 Encapsulate GL version and standard into a struct and enum. Change-Id: I9f51971c1bfd51424605b2687b5fd107d58c9a67 Reviewed-on: https://chromium-review.googlesource.com/273139 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/273572 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 51d4f044 2015-05-27T21:10:42 Revert "Encapsulate GL version and standard into a struct and enum." Linux didn't like compiling this. This reverts commit 03f589122ed796060f1345f9ccfc64455c547fef. Change-Id: Ifd0824caeb02791b4acc5e4bca330ecdc8164b11 Reviewed-on: https://chromium-review.googlesource.com/273583 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 03f58912 2015-05-25T13:38:42 Encapsulate GL version and standard into a struct and enum. Change-Id: Ib3c37627298976040d5a333f4c845a7b2620dd30 Reviewed-on: https://chromium-review.googlesource.com/273139 Reviewed-by: Jamie Madill <jmadill@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f34d1db9 2015-05-20T14:10:46 Add table entries for almost all the remaining GL texture formats. BUG=angleproject:884 BUG=angleproject:967 Change-Id: I113757dd9e1fae8fe0241a7286be979a90891b53 Reviewed-on: https://chromium-review.googlesource.com/270275 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/273135
Geoff Lang 859dcb88 2015-05-25T15:12:54 Revert "Add table entries for almost all the remaining GL texture formats." Missing include of <limits> for linux. This reverts commit aa3a5fadebb2bad0be07eb2963a9d23f901c4c49. Change-Id: Iafebfbc6154b4fe3a94e3f8b91b5ff496631c1f1 Reviewed-on: https://chromium-review.googlesource.com/273134 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang aa3a5fad 2015-05-20T14:10:46 Add table entries for almost all the remaining GL texture formats. BUG=angleproject:884 BUG=angleproject:967 Change-Id: I0b05841272f4410c33ee4e4c3654846f07b7c39b Reviewed-on: https://chromium-review.googlesource.com/270275 Reviewed-by: Brandon Jones <bajones@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang dab84368 2015-03-02T15:43:57 Add texture format utilities for GL and generate GL texture caps. BUG=angleproject:884 Change-Id: Ib1b13f59a6b21399c4b35695c704c369f572914e Reviewed-on: https://chromium-review.googlesource.com/264399 Tested-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang d16daa29 2015-04-07T19:27:57 Revert "Add texture format utilities for GL and generate GL texture caps." This reverts commit 69bde01adf1f9d94cb1ea91c2902267ef3340f02. Change-Id: If21c22e91cf5d72364839bbcc21cb83901a3f2cd Reviewed-on: https://chromium-review.googlesource.com/264418 Reviewed-by: Geoff Lang <geofflang@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang 69bde01a 2015-03-02T15:43:57 Add texture format utilities for GL and generate GL texture caps. BUG=angleproject:884 Change-Id: Iba0108b22e6a404842ec1013d22c00d206c865d3 Reviewed-on: https://chromium-review.googlesource.com/255512 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Brandon Jones <bajones@chromium.org> Tested-by: Geoff Lang <geofflang@chromium.org>