mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-17 17:05:31 +00:00
OpenGL: Support B2T and T2T copies with BC formats
This patch implements the creation, buffer-to-texture copies and texture-to-texture copies with BC formats on OpenGL backend. Note that OpenGL SPEC also has the same issue about texture-to-texture copies with compressed textures as Vulkan SPEC, so we have to skip the related case. The texture-to-buffer copies with BC formats and related end2end tests will be supported in the following patches. BUG=dawn:42 TEST=dawn_end2end_tests Change-Id: I76b16862259cb2df77f202ed7ed433d41aa3cd47 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/10220 Commit-Queue: Jiawei Shao <jiawei.shao@intel.com> Reviewed-by: Austin Eng <enga@chromium.org>
This commit is contained in:
committed by
Commit Bot service account
parent
23edf95528
commit
9d9d76c590
@@ -455,6 +455,9 @@ TEST_P(CompressedTextureBCFormatTest, Basic) {
|
||||
// bots.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
|
||||
|
||||
CopyConfig config;
|
||||
@@ -497,6 +500,9 @@ TEST_P(CompressedTextureBCFormatTest, CopyWithZeroRowPitch) {
|
||||
// bots.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
|
||||
|
||||
CopyConfig config;
|
||||
@@ -522,6 +528,9 @@ TEST_P(CompressedTextureBCFormatTest, CopyIntoNonZeroArrayLayer) {
|
||||
// bots.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
|
||||
|
||||
CopyConfig config;
|
||||
@@ -545,6 +554,9 @@ TEST_P(CompressedTextureBCFormatTest, CopyBufferIntoNonZeroMipmapLevel) {
|
||||
// bots.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
|
||||
|
||||
CopyConfig config;
|
||||
@@ -582,6 +594,9 @@ TEST_P(CompressedTextureBCFormatTest, CopyWholeTextureSubResourceIntoNonZeroMipm
|
||||
// bots.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
|
||||
|
||||
// TODO(cwallez@chromium.org): This consistently fails on with the 12th pixel being opaque black
|
||||
@@ -635,9 +650,9 @@ TEST_P(CompressedTextureBCFormatTest, CopyPartofTextureSubResourceIntoNonZeroMip
|
||||
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): add workaround on the T2T copies where Extent3D fits in one
|
||||
// subresource and does not fit in another one on Vulkan. Currently this test causes an error if
|
||||
// Vulkan validation layer is enabled.
|
||||
DAWN_SKIP_TEST_IF(IsVulkan());
|
||||
// subresource and does not fit in another one on Vulkan and OpenGL. Currently this test causes
|
||||
// an error if Vulkan validation layer is enabled.
|
||||
DAWN_SKIP_TEST_IF(IsVulkan() || IsOpenGL());
|
||||
|
||||
CopyConfig srcConfig;
|
||||
srcConfig.textureDescriptor.size = {60, 60, 1};
|
||||
@@ -697,6 +712,9 @@ TEST_P(CompressedTextureBCFormatTest, BufferOffsetAndExtentFitRowPitch) {
|
||||
// bots.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
|
||||
|
||||
CopyConfig config;
|
||||
@@ -727,6 +745,9 @@ TEST_P(CompressedTextureBCFormatTest, BufferOffsetExceedsSlicePitch) {
|
||||
// bots.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
|
||||
|
||||
CopyConfig config;
|
||||
@@ -759,6 +780,9 @@ TEST_P(CompressedTextureBCFormatTest, CopyWithBufferOffsetAndExtentExceedRowPitc
|
||||
// bots.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
|
||||
|
||||
CopyConfig config;
|
||||
@@ -821,6 +845,9 @@ TEST_P(CompressedTextureBCFormatTest, LargeImageHeight) {
|
||||
// bots.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
|
||||
|
||||
CopyConfig config;
|
||||
@@ -843,6 +870,9 @@ TEST_P(CompressedTextureBCFormatTest, LargeImageHeightAndClampedCopyExtent) {
|
||||
// bots.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsVulkan() && IsWindows() && UsesWire());
|
||||
|
||||
// TODO(jiawei.shao@intel.com): find out why this test fails on Windows Intel OpenGL drivers.
|
||||
DAWN_SKIP_TEST_IF(IsIntel() && IsOpenGL() && IsWindows());
|
||||
|
||||
DAWN_SKIP_TEST_IF(!IsBCFormatSupported());
|
||||
|
||||
CopyConfig config;
|
||||
|
||||
Reference in New Issue
Block a user