Revert "Fix SwANGLE DeviceType and OpenGL ES DeviceType checking."
This reverts commit 9bb02dbbc6
.
Reason for revert: breaking the Dawn roll into Chrome: https://ci.chromium.org/ui/p/chromium/builders/try/dawn-linux-x64-deps-rel/12478/overview
Original change's description:
> Fix SwANGLE DeviceType and OpenGL ES DeviceType checking.
>
> OpenGL ES drivers (like OpenGL drivers) have DeviceType::Unknown.
> We want to allow testing of unknown native GLES drivers,
> as we do for GL drivers, so add them to the conditional.
>
> NOTE: this change will enable the OpenGLES backend to run tests on
> the CQ and waterfall bots.
>
> Mark SwANGLE as a "CPU" adapter type, rather than unknown, since we
> don't want to test it by default.
>
> Bug:dawn:580 dawn:447 dawn:661
> Change-Id: I21577cb9d1fdec53704433a5db1fe2603bdbeb6d
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/39920
> Reviewed-by: Austin Eng <enga@chromium.org>
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Commit-Queue: Stephen White <senorblanco@chromium.org>
TBR=cwallez@chromium.org,senorblanco@chromium.org,enga@chromium.org
Change-Id: I7e454f1da23faa4cfa0cfe737c0d318ecca2bcd8
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: dawn:580 dawn:447 dawn:661
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/40240
Reviewed-by: Stephen White <senorblanco@chromium.org>
Commit-Queue: Stephen White <senorblanco@chromium.org>
This commit is contained in:
parent
9bb02dbbc6
commit
f2a003d4e9
|
@ -183,10 +183,6 @@ namespace dawn_native { namespace opengl {
|
||||||
mDriverDescription = std::string("OpenGL version ") +
|
mDriverDescription = std::string("OpenGL version ") +
|
||||||
reinterpret_cast<const char*>(mFunctions.GetString(GL_VERSION));
|
reinterpret_cast<const char*>(mFunctions.GetString(GL_VERSION));
|
||||||
|
|
||||||
if (mPCIInfo.name.find("SwiftShader") != std::string::npos) {
|
|
||||||
mAdapterType = wgpu::AdapterType::CPU;
|
|
||||||
}
|
|
||||||
|
|
||||||
InitializeSupportedExtensions();
|
InitializeSupportedExtensions();
|
||||||
|
|
||||||
return {};
|
return {};
|
||||||
|
|
|
@ -439,8 +439,7 @@ void DawnTestEnvironment::SelectPreferredAdapterProperties(const dawn_native::In
|
||||||
// If we ever have Swiftshader GL (unlikely), we could set the DeviceType properly.
|
// If we ever have Swiftshader GL (unlikely), we could set the DeviceType properly.
|
||||||
(preferredDeviceType != dawn_native::DeviceType::CPU &&
|
(preferredDeviceType != dawn_native::DeviceType::CPU &&
|
||||||
adapter.GetDeviceType() == dawn_native::DeviceType::Unknown &&
|
adapter.GetDeviceType() == dawn_native::DeviceType::Unknown &&
|
||||||
(properties.backendType == wgpu::BackendType::OpenGL ||
|
properties.backendType == wgpu::BackendType::OpenGL) ||
|
||||||
properties.backendType == wgpu::BackendType::OpenGLES)) ||
|
|
||||||
// Always select the Null backend. There are few tests on this backend, and they run
|
// Always select the Null backend. There are few tests on this backend, and they run
|
||||||
// quickly. This is temporary as to not lose coverage. We can group it with
|
// quickly. This is temporary as to not lose coverage. We can group it with
|
||||||
// Swiftshader as a CPU adapter when we have Swiftshader tests.
|
// Swiftshader as a CPU adapter when we have Swiftshader tests.
|
||||||
|
|
|
@ -980,9 +980,6 @@ TEST_P(BufferZeroInitTest, Copy2DArrayTextureToBuffer) {
|
||||||
// Test that the buffer will be lazy initialized correctly when its first use is to be bound as a
|
// Test that the buffer will be lazy initialized correctly when its first use is to be bound as a
|
||||||
// uniform buffer.
|
// uniform buffer.
|
||||||
TEST_P(BufferZeroInitTest, BoundAsUniformBuffer) {
|
TEST_P(BufferZeroInitTest, BoundAsUniformBuffer) {
|
||||||
// TODO(crbug.com/dawn/661): Diagnose and fix this backend validation failure on GLES.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
const char* computeShader = R"(
|
const char* computeShader = R"(
|
||||||
#version 450
|
#version 450
|
||||||
layout(set = 0, binding = 0, std140) uniform UBO {
|
layout(set = 0, binding = 0, std140) uniform UBO {
|
||||||
|
@ -1019,9 +1016,6 @@ TEST_P(BufferZeroInitTest, BoundAsUniformBuffer) {
|
||||||
// Test that the buffer will be lazy initialized correctly when its first use is to be bound as a
|
// Test that the buffer will be lazy initialized correctly when its first use is to be bound as a
|
||||||
// read-only storage buffer.
|
// read-only storage buffer.
|
||||||
TEST_P(BufferZeroInitTest, BoundAsReadonlyStorageBuffer) {
|
TEST_P(BufferZeroInitTest, BoundAsReadonlyStorageBuffer) {
|
||||||
// TODO(crbug.com/dawn/661): Diagnose and fix this backend validation failure on GLES.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
const char* computeShader = R"(
|
const char* computeShader = R"(
|
||||||
#version 450
|
#version 450
|
||||||
layout(set = 0, binding = 0, std140) readonly buffer SSBO {
|
layout(set = 0, binding = 0, std140) readonly buffer SSBO {
|
||||||
|
@ -1058,9 +1052,6 @@ TEST_P(BufferZeroInitTest, BoundAsReadonlyStorageBuffer) {
|
||||||
// Test that the buffer will be lazy initialized correctly when its first use is to be bound as a
|
// Test that the buffer will be lazy initialized correctly when its first use is to be bound as a
|
||||||
// storage buffer.
|
// storage buffer.
|
||||||
TEST_P(BufferZeroInitTest, BoundAsStorageBuffer) {
|
TEST_P(BufferZeroInitTest, BoundAsStorageBuffer) {
|
||||||
// TODO(crbug.com/dawn/661): Diagnose and fix this backend validation failure on GLES.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
// TODO(crbug.com/tint/375): Enable once barriers are implemented
|
// TODO(crbug.com/tint/375): Enable once barriers are implemented
|
||||||
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
|
DAWN_SKIP_TEST_IF(HasToggleEnabled("use_tint_generator"));
|
||||||
const char* computeShader = R"(
|
const char* computeShader = R"(
|
||||||
|
@ -1171,9 +1162,6 @@ TEST_P(BufferZeroInitTest, IndirectBufferForDrawIndexedIndirect) {
|
||||||
// Test the buffer will be lazily initialized correctly when its first use is an indirect buffer for
|
// Test the buffer will be lazily initialized correctly when its first use is an indirect buffer for
|
||||||
// DispatchIndirect.
|
// DispatchIndirect.
|
||||||
TEST_P(BufferZeroInitTest, IndirectBufferForDispatchIndirect) {
|
TEST_P(BufferZeroInitTest, IndirectBufferForDispatchIndirect) {
|
||||||
// TODO(crbug.com/dawn/661): Diagnose and fix this backend validation failure on GLES.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
// Bind the whole buffer as an indirect buffer.
|
// Bind the whole buffer as an indirect buffer.
|
||||||
{
|
{
|
||||||
constexpr uint64_t kOffset = 0u;
|
constexpr uint64_t kOffset = 0u;
|
||||||
|
|
|
@ -230,10 +230,6 @@ TEST_P(GpuMemorySyncTests, ComputePassToRenderPass) {
|
||||||
// Use an image as both sampled and readonly storage in a compute pass. This is a regression test
|
// Use an image as both sampled and readonly storage in a compute pass. This is a regression test
|
||||||
// for the Vulkan backend choosing different layouts for Sampled and ReadOnlyStorage.
|
// for the Vulkan backend choosing different layouts for Sampled and ReadOnlyStorage.
|
||||||
TEST_P(GpuMemorySyncTests, SampledAndROStorageTextureInComputePass) {
|
TEST_P(GpuMemorySyncTests, SampledAndROStorageTextureInComputePass) {
|
||||||
// TODO(crbug.com/dawn/646): diagnose and fix this OpenGL ES backend validation failure.
|
|
||||||
// "GL_INVALID_OPERATION error generated. Image variable update is not allowed."
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
// Create a storage + sampled texture of one texel initialized to 1
|
// Create a storage + sampled texture of one texel initialized to 1
|
||||||
wgpu::TextureDescriptor texDesc;
|
wgpu::TextureDescriptor texDesc;
|
||||||
texDesc.format = wgpu::TextureFormat::R32Uint;
|
texDesc.format = wgpu::TextureFormat::R32Uint;
|
||||||
|
|
|
@ -691,9 +691,6 @@ TEST_P(StorageTextureTests, BindGroupLayoutWithStorageTextureBindingType) {
|
||||||
|
|
||||||
// Test that read-only storage textures are supported in compute shader.
|
// Test that read-only storage textures are supported in compute shader.
|
||||||
TEST_P(StorageTextureTests, ReadonlyStorageTextureInComputeShader) {
|
TEST_P(StorageTextureTests, ReadonlyStorageTextureInComputeShader) {
|
||||||
// TODO(crbug.com/dawn/624): this test fails validation on GLES. Investigate why.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
|
for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
|
||||||
if (!utils::TextureFormatSupportsStorageTexture(format)) {
|
if (!utils::TextureFormatSupportsStorageTexture(format)) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -732,9 +729,6 @@ TEST_P(StorageTextureTests, ReadonlyStorageTextureInComputeShader) {
|
||||||
|
|
||||||
// Test that read-only storage textures are supported in vertex shader.
|
// Test that read-only storage textures are supported in vertex shader.
|
||||||
TEST_P(StorageTextureTests, ReadonlyStorageTextureInVertexShader) {
|
TEST_P(StorageTextureTests, ReadonlyStorageTextureInVertexShader) {
|
||||||
// TODO(crbug.com/dawn/624): this test fails validation on GLES. Investigate why.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
|
for (wgpu::TextureFormat format : utils::kAllTextureFormats) {
|
||||||
if (!utils::TextureFormatSupportsStorageTexture(format)) {
|
if (!utils::TextureFormatSupportsStorageTexture(format)) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -917,9 +911,6 @@ TEST_P(StorageTextureTests, WriteonlyStorageTextureInFragmentShader) {
|
||||||
|
|
||||||
// Verify 2D array read-only storage texture works correctly.
|
// Verify 2D array read-only storage texture works correctly.
|
||||||
TEST_P(StorageTextureTests, Readonly2DArrayStorageTexture) {
|
TEST_P(StorageTextureTests, Readonly2DArrayStorageTexture) {
|
||||||
// TODO(crbug.com/dawn/624): this test fails validation on GLES. Investigate why.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
constexpr uint32_t kArrayLayerCount = 3u;
|
constexpr uint32_t kArrayLayerCount = 3u;
|
||||||
|
|
||||||
constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint;
|
constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint;
|
||||||
|
@ -953,9 +944,6 @@ TEST_P(StorageTextureTests, Readonly2DArrayStorageTexture) {
|
||||||
|
|
||||||
// Verify 2D array write-only storage texture works correctly.
|
// Verify 2D array write-only storage texture works correctly.
|
||||||
TEST_P(StorageTextureTests, Writeonly2DArrayStorageTexture) {
|
TEST_P(StorageTextureTests, Writeonly2DArrayStorageTexture) {
|
||||||
// TODO(crbug.com/dawn/624): this test fails validation on GLES. Investigate why.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
constexpr uint32_t kArrayLayerCount = 3u;
|
constexpr uint32_t kArrayLayerCount = 3u;
|
||||||
|
|
||||||
constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint;
|
constexpr wgpu::TextureFormat kTextureFormat = wgpu::TextureFormat::R32Uint;
|
||||||
|
@ -1178,9 +1166,6 @@ fn doTest() -> bool {
|
||||||
// Verify that the texture is correctly cleared to 0 before its first usage as a read-only storage
|
// Verify that the texture is correctly cleared to 0 before its first usage as a read-only storage
|
||||||
// texture in a render pass.
|
// texture in a render pass.
|
||||||
TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInRenderPass) {
|
TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInRenderPass) {
|
||||||
// TODO(crbug.com/dawn/624): this test fails validation on GLES. Investigate why.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
wgpu::Texture readonlyStorageTexture =
|
wgpu::Texture readonlyStorageTexture =
|
||||||
CreateTexture(wgpu::TextureFormat::R32Uint, wgpu::TextureUsage::Storage);
|
CreateTexture(wgpu::TextureFormat::R32Uint, wgpu::TextureUsage::Storage);
|
||||||
|
|
||||||
|
@ -1205,9 +1190,6 @@ TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInRenderPa
|
||||||
// Verify that the texture is correctly cleared to 0 before its first usage as a read-only storage
|
// Verify that the texture is correctly cleared to 0 before its first usage as a read-only storage
|
||||||
// texture in a compute pass.
|
// texture in a compute pass.
|
||||||
TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInComputePass) {
|
TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInComputePass) {
|
||||||
// TODO(crbug.com/dawn/624): this test fails validation on GLES. Investigate why.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
wgpu::Texture readonlyStorageTexture =
|
wgpu::Texture readonlyStorageTexture =
|
||||||
CreateTexture(wgpu::TextureFormat::R32Uint, wgpu::TextureUsage::Storage);
|
CreateTexture(wgpu::TextureFormat::R32Uint, wgpu::TextureUsage::Storage);
|
||||||
|
|
||||||
|
@ -1235,9 +1217,6 @@ TEST_P(StorageTextureZeroInitTests, ReadonlyStorageTextureClearsToZeroInComputeP
|
||||||
// Verify that the texture is correctly cleared to 0 before its first usage as a write-only storage
|
// Verify that the texture is correctly cleared to 0 before its first usage as a write-only storage
|
||||||
// storage texture in a render pass.
|
// storage texture in a render pass.
|
||||||
TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInRenderPass) {
|
TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInRenderPass) {
|
||||||
// TODO(crbug.com/dawn/624): this test fails validation on GLES. Investigate why.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
// Prepare the write-only storage texture.
|
// Prepare the write-only storage texture.
|
||||||
constexpr uint32_t kTexelSizeR32Uint = 4u;
|
constexpr uint32_t kTexelSizeR32Uint = 4u;
|
||||||
wgpu::Texture writeonlyStorageTexture = CreateTexture(
|
wgpu::Texture writeonlyStorageTexture = CreateTexture(
|
||||||
|
@ -1251,9 +1230,6 @@ TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInRenderP
|
||||||
// Verify that the texture is correctly cleared to 0 before its first usage as a write-only storage
|
// Verify that the texture is correctly cleared to 0 before its first usage as a write-only storage
|
||||||
// texture in a compute pass.
|
// texture in a compute pass.
|
||||||
TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInComputePass) {
|
TEST_P(StorageTextureZeroInitTests, WriteonlyStorageTextureClearsToZeroInComputePass) {
|
||||||
// TODO(crbug.com/dawn/624): this test fails validation on GLES. Investigate why.
|
|
||||||
DAWN_SKIP_TEST_IF(IsOpenGLES() && IsBackendValidationEnabled());
|
|
||||||
|
|
||||||
// Prepare the write-only storage texture.
|
// Prepare the write-only storage texture.
|
||||||
constexpr uint32_t kTexelSizeR32Uint = 4u;
|
constexpr uint32_t kTexelSizeR32Uint = 4u;
|
||||||
wgpu::Texture writeonlyStorageTexture = CreateTexture(
|
wgpu::Texture writeonlyStorageTexture = CreateTexture(
|
||||||
|
|
Loading…
Reference in New Issue