src/tests/gl_tests/CopyTextureTest.cpp


Log

Author Commit Date CI Message
Brandon Jones 2878379d 2018-03-05T09:37:32 Add NPOT validation to copyTextureCHROMIUM copyTextureCHROMIUM should generate INVALID_VALUE when using a NPOT texture and level not equal to zero, so we should add validation to catch this case. BUG=angleproject:2380 Change-Id: I7ca2e657287c11d560db0ad296f8e87ed0c19798 Reviewed-on: https://chromium-review.googlesource.com/956018 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov e3688d27 2018-03-07T22:14:54 Revert "Add NPOT validation to copyTextureCHROMIUM" This reverts commit 2202680c6a5d08ba74d57ce675af2266dddb205c. Reason for revert: ASAN found error https://ci.chromium.org/buildbot/chromium.gpu.fyi/Mac%20FYI%20GPU%20ASAN%20Release/210 Original change's description: > Add NPOT validation to copyTextureCHROMIUM > > copyTextureCHROMIUM should generate INVALID_VALUE when using a NPOT > texture and level not equal to zero, so we should add > validation to catch this case. > > BUG=angleproject:2380 > > Change-Id: I0ea50a981e4d8f10f5913969f6b629617b57aa15 > Reviewed-on: https://chromium-review.googlesource.com/951713 > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Reviewed-by: Geoff Lang <geofflang@chromium.org> TBR=geofflang@chromium.org,jmadill@chromium.org,brandon1.jones@intel.com Change-Id: I04dcbd5e1d97b1bd968b26a06e4d3e4d175be0d8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: angleproject:2380 Reviewed-on: https://chromium-review.googlesource.com/953343 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Brandon Jones 2202680c 2018-03-05T09:37:32 Add NPOT validation to copyTextureCHROMIUM copyTextureCHROMIUM should generate INVALID_VALUE when using a NPOT texture and level not equal to zero, so we should add validation to catch this case. BUG=angleproject:2380 Change-Id: I0ea50a981e4d8f10f5913969f6b629617b57aa15 Reviewed-on: https://chromium-review.googlesource.com/951713 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Geoff Lang f81d17c2 2018-02-02T15:10:37 D3D11: Downsample when copying to emulated 16-bit texture formats. BUG=angleproject:2313 Change-Id: Ic1e679164d82f3024bb6842c9af2716aa10feb76 Reviewed-on: https://chromium-review.googlesource.com/900042 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yunchao He 9550c603 2018-02-13T14:47:05 Code refactoring for end2end tests. This change: 1) uses the new style ANGLE_SKIP_TEST_IF to skip tests. 2) replaces compile-time definition for OSX to skip tests by run-time function IsOSX() to skip tests, in order to align with ANGLE_SKIP_TEST_IF. 3) fixes a couple of typos. BUG=angleproject:2005 Change-Id: I5af77d82257536b9eb79e26afa502f5b91ff6d31 Reviewed-on: https://chromium-review.googlesource.com/915861 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Brandon Jones 92a1459f 2017-11-16T10:01:08 Add Regression Test for D3D11 Alpha Passthrough As a follow up to commit "8d6af08 Use dedicated ALPHA passthrough shader", this change adds a regression test that verifies RGB channels are set to zero when performing an ALPHA copy. BUG=angleproject:2239 Change-Id: Icc08deb523c388a0f2cbdcadd1eec69a97fbe136 Reviewed-on: https://chromium-review.googlesource.com/774579 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 63458a3e 2017-10-30T15:16:53 CopyTextureCHROMIUM: Validate the texture target enums first. INVALID_ENUM should be generated before any INVALID_VALUE errors based on the texture state. BUG=angleproject:1932 Change-Id: If74440602d56b1a86fa24ff87c38d2b0dec2bfb2 Reviewed-on: https://chromium-review.googlesource.com/744448 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Corentin Wallez <cwallez@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>
Jamie Madill 3dfaf265 2017-08-18T12:32:14 Add a Linux/Intel suppression for CopyTextureTestES3.ES3UintFormats. BUG=chromium:756087 Change-Id: If7d318d58ce46b52a810b1a96fcdbff57a787f86 Reviewed-on: https://chromium-review.googlesource.com/621408 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill e59000c3 2017-08-16T11:13:49 Skip CopyTextureTestES3.ES3FloatFormats in Win/Intel/OpenGL. Possibly due to a driver bug. BUG=angleproject:1932 Change-Id: I8b10457681c5635b89f898aab09fa244b3bf7d9c Reviewed-on: https://chromium-review.googlesource.com/616817 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Geoff Lang aadc8f37 2017-08-11T17:34:44 Implement the CPU fallback for CopyTextureCHROMIUM on OpenGL. BUG=angleproject:1932 Change-Id: Iabc1a3e361d66313dc16bf19b392402b7836f8a5 Reviewed-on: https://chromium-review.googlesource.com/612562 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Geoff Lang 47bb4933 2017-08-03T11:52:13 Implement CopyTexture functions for uint texture formats. BUG=angleproject:1932 Change-Id: I6474237cbb82b59a0bd40c1b9b9e2455952d3755 Reviewed-on: https://chromium-review.googlesource.com/600510 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Brandon Jones 340b7b8b 2017-06-26T13:02:31 Add support for new internalformats in copyTextureCHROMIUM This adds support in blit11::copyTexture for LUMA, LUMA_ALPHA, and ALPHA formats as destinations. Added is handling for each case to match up the corresponding shader. This required new premultiply and unmultiply D3D11 shaders for some cases. Changed copyTextureCHROMIUM validation to allow new formats. Tests have been created to demonstrate using copyTextureCHROMIUM with the new formats with default parameters, as well as with the unpackPremultiply and unpackUnmultiply parameters. BUG=:angleproject:2101 Change-Id: Id8cd303a46fe70710bc18172fc938552a6e4cfaf
Geoff Lang 88318b44 2017-07-05T14:39:01 Fall back to CPU copies for srgb textures in copy_texture_CHROMIUM. The copied data is not supposed to have sRGB conversions applied to it when written to the destination texture but an sRGB SRV is used by Blit11. Instead of creating multiple sRGB and non-sRGB SRVs for textures, simply fall back to the CPU copy path for this format for now. Clip color channels that should not exist in the destination texture formats in Image11::CopyImage. This works around issues with texture formats with emulated channels. TEST=conformance2/textures/image_bitmap_from_canvas/tex-2d-srgb8-rgb-unsigned_byte TEST=conformance2/textures/image_bitmap_from_canvas/tex-2d-srgb8_alpha8-rgba-unsigned_byte BUG=angleproject:1932 Change-Id: Ieeda3569f80d016fda781e7eb498acd3b97568d0 Reviewed-on: https://chromium-review.googlesource.com/559857 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 165dcf15 2017-06-07T15:05:14 Allow CHROMIUM_copy_texture to copy to non-zero mips. Fix some errors in the GL backend related to source and destination mipmap targets. BUG=angleproject:1356 Change-Id: I030529c8626f3bc30dbb4f7f859a02ba56e315e3 Reviewed-on: https://chromium-review.googlesource.com/527653 Reviewed-by: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Geoff Lang 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>
Geoff Lang 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>
Geoff Lang 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>
Corentin Wallez 133a2ecb 2016-11-17T16:28:03 Implement CHROMIUM_copy_texture for OpenGL. This also makes BlitGL work correctly on OpenGL ES (provided vertex arrays are available) BUG=angleproject:1356 Change-Id: Icb7cef35bebfe6672220aa0b312ab89187dbf585 Reviewed-on: https://chromium-review.googlesource.com/412452 Commit-Queue: Corentin Wallez <cwallez@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Geoff Lang 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>