Commit cd61f872 authored by Alexey Baskakov's avatar Alexey Baskakov Committed by Commit Bot

Revert "Set use_dawn=true on Linux"

This reverts commit 290037a8.

Reason for revert: Breaks compilation on lacros
https://ci.chromium.org/p/chromium/builders/ci/chromeos-amd64-generic-lacros-dbg/1132

Original change's description:
> Set use_dawn=true on Linux
>
> This enables WebGPU on Linux behind --enable-unsafe-webgpu
> and --enable-features=Vulkan. Shared image support requires
> SkiaRenderer (default on Linux) and Vulkan to be enabled.
>
> Bug: 976495
> Change-Id: I97065f2ac6aadd110971254bfe3526d366318b83
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2368534
> Commit-Queue: Austin Eng <enga@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>
> Reviewed-by: Kai Ninomiya <kainino@chromium.org>
> Reviewed-by: Corentin Wallez <cwallez@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#817266}

TBR=kbr@chromium.org,cwallez@chromium.org,kainino@chromium.org,enga@chromium.org

Change-Id: I050e90c36094f047d4e311d467c603b47d2abf82
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 976495
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2473858Reviewed-by: default avatarAlexey Baskakov <loyso@chromium.org>
Commit-Queue: Alexey Baskakov <loyso@chromium.org>
Cr-Commit-Position: refs/heads/master@{#817308}
parent 98c9b243
...@@ -359,8 +359,7 @@ test("gl_tests") { ...@@ -359,8 +359,7 @@ test("gl_tests") {
sources += [ "command_buffer/tests/gl_unittests_android.cc" ] sources += [ "command_buffer/tests/gl_unittests_android.cc" ]
} }
# Simply loading the Vulkan driver leaks crbug.com/1134681 if (use_dawn) {
if (use_dawn && !is_lsan) {
sources += [ sources += [
"command_buffer/service/webgpu_decoder_unittest.cc", "command_buffer/service/webgpu_decoder_unittest.cc",
"command_buffer/tests/shared_image_gl_backing_produce_dawn_unittest.cc", "command_buffer/tests/shared_image_gl_backing_produce_dawn_unittest.cc",
......
...@@ -484,18 +484,9 @@ void WebGPUImplementation::OnGpuControlReturnData( ...@@ -484,18 +484,9 @@ void WebGPUImplementation::OnGpuControlReturnData(
const volatile char* deserialized_buffer = const volatile char* deserialized_buffer =
reinterpret_cast<const volatile char*>( reinterpret_cast<const volatile char*>(
returned_adapter_info->deserialized_buffer); returned_adapter_info->deserialized_buffer);
if (returned_adapter_info->adapter_properties_size > 0) { dawn_wire::DeserializeWGPUDeviceProperties(&adapter_properties,
dawn_wire::DeserializeWGPUDeviceProperties(&adapter_properties, deserialized_buffer);
deserialized_buffer); std::move(request_callback).Run(adapter_service_id, adapter_properties);
}
const char* error_message =
returned_adapter_info->deserialized_buffer +
returned_adapter_info->adapter_properties_size;
if (strlen(error_message) == 0) {
error_message = nullptr;
}
std::move(request_callback)
.Run(adapter_service_id, adapter_properties, error_message);
request_adapter_callback_map_.erase(request_callback_iter); request_adapter_callback_map_.erase(request_callback_iter);
} break; } break;
case DawnReturnDataType::kRequestedDeviceReturnInfo: { case DawnReturnDataType::kRequestedDeviceReturnInfo: {
...@@ -672,7 +663,7 @@ DawnRequestAdapterSerial WebGPUImplementation::NextRequestAdapterSerial() { ...@@ -672,7 +663,7 @@ DawnRequestAdapterSerial WebGPUImplementation::NextRequestAdapterSerial() {
bool WebGPUImplementation::RequestAdapterAsync( bool WebGPUImplementation::RequestAdapterAsync(
PowerPreference power_preference, PowerPreference power_preference,
base::OnceCallback<void(int32_t, const WGPUDeviceProperties&, const char*)> base::OnceCallback<void(int32_t, const WGPUDeviceProperties&)>
request_adapter_callback) { request_adapter_callback) {
if (lost_) { if (lost_) {
return false; return false;
......
...@@ -167,9 +167,8 @@ class WEBGPU_EXPORT WebGPUImplementation final : public WebGPUInterface, ...@@ -167,9 +167,8 @@ class WEBGPU_EXPORT WebGPUImplementation final : public WebGPUInterface,
ReservedTexture ReserveTexture(DawnDeviceClientID device_client_id) override; ReservedTexture ReserveTexture(DawnDeviceClientID device_client_id) override;
bool RequestAdapterAsync( bool RequestAdapterAsync(
PowerPreference power_preference, PowerPreference power_preference,
base::OnceCallback<void(int32_t, base::OnceCallback<void(int32_t, const WGPUDeviceProperties&)>
const WGPUDeviceProperties&, request_adapter_callback) override;
const char*)> request_adapter_callback) override;
bool RequestDeviceAsync( bool RequestDeviceAsync(
uint32_t requested_adapter_id, uint32_t requested_adapter_id,
const WGPUDeviceProperties& requested_device_properties, const WGPUDeviceProperties& requested_device_properties,
...@@ -200,8 +199,7 @@ class WEBGPU_EXPORT WebGPUImplementation final : public WebGPUInterface, ...@@ -200,8 +199,7 @@ class WEBGPU_EXPORT WebGPUImplementation final : public WebGPUInterface,
LogSettings log_settings_; LogSettings log_settings_;
base::flat_map<DawnRequestAdapterSerial, base::flat_map<DawnRequestAdapterSerial,
base::OnceCallback< base::OnceCallback<void(int32_t, const WGPUDeviceProperties&)>>
void(int32_t, const WGPUDeviceProperties&, const char*)>>
request_adapter_callback_map_; request_adapter_callback_map_;
DawnRequestAdapterSerial request_adapter_serial_ = 0; DawnRequestAdapterSerial request_adapter_serial_ = 0;
......
...@@ -51,9 +51,8 @@ class WebGPUInterface : public InterfaceBase { ...@@ -51,9 +51,8 @@ class WebGPUInterface : public InterfaceBase {
DawnDeviceClientID device_client_id) = 0; DawnDeviceClientID device_client_id) = 0;
virtual bool RequestAdapterAsync( virtual bool RequestAdapterAsync(
PowerPreference power_preference, PowerPreference power_preference,
base::OnceCallback<void(int32_t, base::OnceCallback<void(int32_t, const WGPUDeviceProperties&)>
const WGPUDeviceProperties&, request_adapter_callback) = 0;
const char*)> request_adapter_callback) = 0;
virtual bool RequestDeviceAsync( virtual bool RequestDeviceAsync(
uint32_t adapter_service_id, uint32_t adapter_service_id,
const WGPUDeviceProperties& requested_device_properties, const WGPUDeviceProperties& requested_device_properties,
......
...@@ -38,7 +38,7 @@ ReservedTexture WebGPUInterfaceStub::ReserveTexture( ...@@ -38,7 +38,7 @@ ReservedTexture WebGPUInterfaceStub::ReserveTexture(
} }
bool WebGPUInterfaceStub::RequestAdapterAsync( bool WebGPUInterfaceStub::RequestAdapterAsync(
PowerPreference power_preference, PowerPreference power_preference,
base::OnceCallback<void(int32_t, const WGPUDeviceProperties&, const char*)> base::OnceCallback<void(int32_t, const WGPUDeviceProperties&)>
request_adapter_callback) { request_adapter_callback) {
return false; return false;
} }
......
...@@ -33,9 +33,8 @@ class WebGPUInterfaceStub : public WebGPUInterface { ...@@ -33,9 +33,8 @@ class WebGPUInterfaceStub : public WebGPUInterface {
ReservedTexture ReserveTexture(DawnDeviceClientID device_client_id) override; ReservedTexture ReserveTexture(DawnDeviceClientID device_client_id) override;
bool RequestAdapterAsync( bool RequestAdapterAsync(
PowerPreference power_preference, PowerPreference power_preference,
base::OnceCallback<void(int32_t, base::OnceCallback<void(int32_t, const WGPUDeviceProperties&)>
const WGPUDeviceProperties&, request_adapter_callback) override;
const char*)> request_adapter_callback) override;
bool RequestDeviceAsync( bool RequestDeviceAsync(
uint32_t adapter_service_id, uint32_t adapter_service_id,
const WGPUDeviceProperties& requested_device_properties, const WGPUDeviceProperties& requested_device_properties,
......
...@@ -53,11 +53,6 @@ static_assert(offsetof(DawnReturnAdapterInfoHeader, return_data_header) == 0, ...@@ -53,11 +53,6 @@ static_assert(offsetof(DawnReturnAdapterInfoHeader, return_data_header) == 0,
struct DawnReturnAdapterInfo { struct DawnReturnAdapterInfo {
DawnReturnAdapterInfoHeader header; DawnReturnAdapterInfoHeader header;
uint32_t adapter_properties_size;
// |deserialized_buffer| contains the serialized adapter properties if
// |adapter_properties_size > 0|. Following it is an optional null-terminated
// error message.
alignas(GPU_DAWN_RETURN_DATA_ALIGNMENT) char deserialized_buffer[]; alignas(GPU_DAWN_RETURN_DATA_ALIGNMENT) char deserialized_buffer[];
}; };
......
...@@ -552,13 +552,10 @@ class WebGPUDecoderImpl final : public WebGPUDecoder { ...@@ -552,13 +552,10 @@ class WebGPUDecoderImpl final : public WebGPUDecoder {
void SendAdapterProperties(DawnRequestAdapterSerial request_adapter_serial, void SendAdapterProperties(DawnRequestAdapterSerial request_adapter_serial,
int32_t adapter_service_id, int32_t adapter_service_id,
const dawn_native::Adapter& adapter, const dawn_native::Adapter& adapter);
const char* error_message = nullptr);
void SendRequestedDeviceInfo(DawnDeviceClientID device_client_id, void SendRequestedDeviceInfo(DawnDeviceClientID device_client_id,
bool is_request_device_success); bool is_request_device_success);
const GrContextType gr_context_type_;
std::unique_ptr<SharedImageRepresentationFactory> std::unique_ptr<SharedImageRepresentationFactory>
shared_image_representation_factory_; shared_image_representation_factory_;
...@@ -605,7 +602,6 @@ WebGPUDecoderImpl::WebGPUDecoderImpl( ...@@ -605,7 +602,6 @@ WebGPUDecoderImpl::WebGPUDecoderImpl(
gles2::Outputter* outputter, gles2::Outputter* outputter,
const GpuPreferences& gpu_preferences) const GpuPreferences& gpu_preferences)
: WebGPUDecoder(client, command_buffer_service, outputter), : WebGPUDecoder(client, command_buffer_service, outputter),
gr_context_type_(gpu_preferences.gr_context_type),
shared_image_representation_factory_( shared_image_representation_factory_(
std::make_unique<SharedImageRepresentationFactory>( std::make_unique<SharedImageRepresentationFactory>(
shared_image_manager, shared_image_manager,
...@@ -822,28 +818,20 @@ error::Error WebGPUDecoderImpl::DoCommands(unsigned int num_commands, ...@@ -822,28 +818,20 @@ error::Error WebGPUDecoderImpl::DoCommands(unsigned int num_commands,
void WebGPUDecoderImpl::SendAdapterProperties( void WebGPUDecoderImpl::SendAdapterProperties(
DawnRequestAdapterSerial request_adapter_serial, DawnRequestAdapterSerial request_adapter_serial,
int32_t adapter_service_id, int32_t adapter_service_id,
const dawn_native::Adapter& adapter, const dawn_native::Adapter& adapter) {
const char* error_message) { WGPUDeviceProperties adapter_properties =
WGPUDeviceProperties adapter_properties; (adapter) ? adapter.GetAdapterProperties() : WGPUDeviceProperties{};
size_t serialized_adapter_properties_size = 0;
if (!adapter) {
if (adapter) {
adapter_properties = adapter.GetAdapterProperties();
serialized_adapter_properties_size =
dawn_wire::SerializedWGPUDevicePropertiesSize(&adapter_properties);
} else {
// If there's no adapter, the adapter_service_id should be -1 // If there's no adapter, the adapter_service_id should be -1
DCHECK_EQ(adapter_service_id, -1); DCHECK_EQ(adapter_service_id, -1);
} }
size_t error_message_size = size_t serialized_adapter_properties_size =
error_message == nullptr ? 0 : strlen(error_message); dawn_wire::SerializedWGPUDevicePropertiesSize(&adapter_properties);
// Get serialization space for the return struct and variable-length data:
// The serialized adapter properties, the error message, and null-terminator.
std::vector<char> serialized_buffer( std::vector<char> serialized_buffer(
offsetof(cmds::DawnReturnAdapterInfo, deserialized_buffer) + offsetof(cmds::DawnReturnAdapterInfo, deserialized_buffer) +
serialized_adapter_properties_size + error_message_size + 1); serialized_adapter_properties_size);
cmds::DawnReturnAdapterInfo* return_adapter_info = cmds::DawnReturnAdapterInfo* return_adapter_info =
reinterpret_cast<cmds::DawnReturnAdapterInfo*>(serialized_buffer.data()); reinterpret_cast<cmds::DawnReturnAdapterInfo*>(serialized_buffer.data());
...@@ -855,28 +843,9 @@ void WebGPUDecoderImpl::SendAdapterProperties( ...@@ -855,28 +843,9 @@ void WebGPUDecoderImpl::SendAdapterProperties(
return_adapter_info->header.request_adapter_serial = request_adapter_serial; return_adapter_info->header.request_adapter_serial = request_adapter_serial;
return_adapter_info->header.adapter_service_id = adapter_service_id; return_adapter_info->header.adapter_service_id = adapter_service_id;
DCHECK(serialized_adapter_properties_size <= // Set serialized adapter properties
std::numeric_limits<uint32_t>::max()); dawn_wire::SerializeWGPUDeviceProperties(
&adapter_properties, return_adapter_info->deserialized_buffer);
return_adapter_info->adapter_properties_size =
static_cast<uint32_t>(serialized_adapter_properties_size);
if (adapter) {
// Set serialized adapter properties
dawn_wire::SerializeWGPUDeviceProperties(
&adapter_properties, return_adapter_info->deserialized_buffer);
}
// Copy the error message
memcpy(return_adapter_info->deserialized_buffer +
serialized_adapter_properties_size,
error_message, error_message_size);
// Write the null-terminator.
// We don't copy (error_message_size + 1) above because |error_message| may
// be nullptr instead of zero-length.
return_adapter_info->deserialized_buffer[serialized_adapter_properties_size +
error_message_size] = '\0';
client()->HandleReturnData(base::make_span( client()->HandleReturnData(base::make_span(
reinterpret_cast<const uint8_t*>(serialized_buffer.data()), reinterpret_cast<const uint8_t*>(serialized_buffer.data()),
...@@ -908,15 +877,6 @@ error::Error WebGPUDecoderImpl::HandleRequestAdapter( ...@@ -908,15 +877,6 @@ error::Error WebGPUDecoderImpl::HandleRequestAdapter(
DawnRequestAdapterSerial request_adapter_serial = DawnRequestAdapterSerial request_adapter_serial =
static_cast<DawnRequestAdapterSerial>(c.request_adapter_serial); static_cast<DawnRequestAdapterSerial>(c.request_adapter_serial);
if (gr_context_type_ != GrContextType::kVulkan) {
#if defined(OS_LINUX)
SendAdapterProperties(request_adapter_serial, -1, nullptr,
"WebGPU on Linux requires command-line flag "
"--enable-features=Vulkan,UseSkiaRenderer");
return error::kNoError;
#endif // defined(OS_LINUX)
}
int32_t requested_adapter_index = GetPreferredAdapterIndex(power_preference); int32_t requested_adapter_index = GetPreferredAdapterIndex(power_preference);
if (requested_adapter_index < 0) { if (requested_adapter_index < 0) {
// There are no adapters to return since webgpu is not supported here // There are no adapters to return since webgpu is not supported here
......
...@@ -24,8 +24,7 @@ namespace gpu { ...@@ -24,8 +24,7 @@ namespace gpu {
namespace { namespace {
void OnRequestAdapterCallback(int32_t adapter_service_id, void OnRequestAdapterCallback(int32_t adapter_service_id,
const WGPUDeviceProperties& properties, const WGPUDeviceProperties& properties) {}
const char* error_message) {}
void CountCallback(int* count) { void CountCallback(int* count) {
(*count)++; (*count)++;
......
...@@ -196,7 +196,7 @@ ...@@ -196,7 +196,7 @@
"--order=natural", "--order=natural",
"--additional-driver-flag=--use-gpu-in-tests", "--additional-driver-flag=--use-gpu-in-tests",
"--no-xvfb", "--no-xvfb",
"--additional-driver-flag=--enable-features=UseSkiaRenderer,Vulkan" "--additional-driver-flag=--use-vulkan=native"
], ],
"isolate_name": "webgpu_blink_web_tests", "isolate_name": "webgpu_blink_web_tests",
"merge": { "merge": {
...@@ -230,7 +230,7 @@ ...@@ -230,7 +230,7 @@
"--additional-driver-flag=--enable-dawn-backend-validation", "--additional-driver-flag=--enable-dawn-backend-validation",
"--additional-driver-flag=--use-gpu-in-tests", "--additional-driver-flag=--use-gpu-in-tests",
"--no-xvfb", "--no-xvfb",
"--additional-driver-flag=--enable-features=UseSkiaRenderer,Vulkan" "--additional-driver-flag=--use-vulkan=native"
], ],
"isolate_name": "webgpu_blink_web_tests", "isolate_name": "webgpu_blink_web_tests",
"merge": { "merge": {
...@@ -451,7 +451,7 @@ ...@@ -451,7 +451,7 @@
"--order=natural", "--order=natural",
"--additional-driver-flag=--use-gpu-in-tests", "--additional-driver-flag=--use-gpu-in-tests",
"--no-xvfb", "--no-xvfb",
"--additional-driver-flag=--enable-features=UseSkiaRenderer,Vulkan" "--additional-driver-flag=--use-vulkan=native"
], ],
"isolate_name": "webgpu_blink_web_tests", "isolate_name": "webgpu_blink_web_tests",
"merge": { "merge": {
...@@ -485,7 +485,7 @@ ...@@ -485,7 +485,7 @@
"--additional-driver-flag=--enable-dawn-backend-validation", "--additional-driver-flag=--enable-dawn-backend-validation",
"--additional-driver-flag=--use-gpu-in-tests", "--additional-driver-flag=--use-gpu-in-tests",
"--no-xvfb", "--no-xvfb",
"--additional-driver-flag=--enable-features=UseSkiaRenderer,Vulkan" "--additional-driver-flag=--use-vulkan=native"
], ],
"isolate_name": "webgpu_blink_web_tests", "isolate_name": "webgpu_blink_web_tests",
"merge": { "merge": {
...@@ -706,7 +706,7 @@ ...@@ -706,7 +706,7 @@
"--order=natural", "--order=natural",
"--additional-driver-flag=--use-gpu-in-tests", "--additional-driver-flag=--use-gpu-in-tests",
"--no-xvfb", "--no-xvfb",
"--additional-driver-flag=--enable-features=UseSkiaRenderer,Vulkan" "--additional-driver-flag=--use-vulkan=native"
], ],
"isolate_name": "webgpu_blink_web_tests", "isolate_name": "webgpu_blink_web_tests",
"merge": { "merge": {
...@@ -740,7 +740,7 @@ ...@@ -740,7 +740,7 @@
"--additional-driver-flag=--enable-dawn-backend-validation", "--additional-driver-flag=--enable-dawn-backend-validation",
"--additional-driver-flag=--use-gpu-in-tests", "--additional-driver-flag=--use-gpu-in-tests",
"--no-xvfb", "--no-xvfb",
"--additional-driver-flag=--enable-features=UseSkiaRenderer,Vulkan" "--additional-driver-flag=--use-vulkan=native"
], ],
"isolate_name": "webgpu_blink_web_tests", "isolate_name": "webgpu_blink_web_tests",
"merge": { "merge": {
...@@ -961,7 +961,7 @@ ...@@ -961,7 +961,7 @@
"--order=natural", "--order=natural",
"--additional-driver-flag=--use-gpu-in-tests", "--additional-driver-flag=--use-gpu-in-tests",
"--no-xvfb", "--no-xvfb",
"--additional-driver-flag=--enable-features=UseSkiaRenderer,Vulkan" "--additional-driver-flag=--use-vulkan=native"
], ],
"isolate_name": "webgpu_blink_web_tests", "isolate_name": "webgpu_blink_web_tests",
"merge": { "merge": {
...@@ -995,7 +995,7 @@ ...@@ -995,7 +995,7 @@
"--additional-driver-flag=--enable-dawn-backend-validation", "--additional-driver-flag=--enable-dawn-backend-validation",
"--additional-driver-flag=--use-gpu-in-tests", "--additional-driver-flag=--use-gpu-in-tests",
"--no-xvfb", "--no-xvfb",
"--additional-driver-flag=--enable-features=UseSkiaRenderer,Vulkan" "--additional-driver-flag=--use-vulkan=native"
], ],
"isolate_name": "webgpu_blink_web_tests", "isolate_name": "webgpu_blink_web_tests",
"merge": { "merge": {
......
...@@ -3166,7 +3166,7 @@ ...@@ -3166,7 +3166,7 @@
], ],
'linux_args': [ 'linux_args': [
'--no-xvfb', '--no-xvfb',
'--additional-driver-flag=--enable-features=UseSkiaRenderer,Vulkan', '--additional-driver-flag=--use-vulkan=native',
], ],
'merge': { 'merge': {
'args': [ 'args': [
...@@ -3206,7 +3206,7 @@ ...@@ -3206,7 +3206,7 @@
], ],
'linux_args': [ 'linux_args': [
'--no-xvfb', '--no-xvfb',
'--additional-driver-flag=--enable-features=UseSkiaRenderer,Vulkan', '--additional-driver-flag=--use-vulkan=native',
], ],
'merge': { 'merge': {
'args': [ 'args': [
......
...@@ -106,20 +106,12 @@ void GPU::OnRequestAdapterCallback(ScriptState* script_state, ...@@ -106,20 +106,12 @@ void GPU::OnRequestAdapterCallback(ScriptState* script_state,
const GPURequestAdapterOptions* options, const GPURequestAdapterOptions* options,
ScriptPromiseResolver* resolver, ScriptPromiseResolver* resolver,
int32_t adapter_server_id, int32_t adapter_server_id,
const WGPUDeviceProperties& properties, const WGPUDeviceProperties& properties) {
const char* error_message) {
GPUAdapter* adapter = nullptr; GPUAdapter* adapter = nullptr;
if (adapter_server_id >= 0) { if (adapter_server_id >= 0) {
adapter = MakeGarbageCollected<GPUAdapter>( adapter = MakeGarbageCollected<GPUAdapter>(
"Default", adapter_server_id, properties, dawn_control_client_); "Default", adapter_server_id, properties, dawn_control_client_);
} }
if (error_message) {
ExecutionContext* execution_context = ExecutionContext::From(script_state);
auto* console_message = MakeGarbageCollected<ConsoleMessage>(
mojom::blink::ConsoleMessageSource::kRendering,
mojom::blink::ConsoleMessageLevel::kWarning, error_message);
execution_context->AddConsoleMessage(console_message);
}
RecordAdapterForIdentifiability(script_state, options, adapter); RecordAdapterForIdentifiability(script_state, options, adapter);
resolver->Resolve(adapter); resolver->Resolve(adapter);
} }
......
...@@ -45,8 +45,7 @@ class GPU final : public ScriptWrappable, ...@@ -45,8 +45,7 @@ class GPU final : public ScriptWrappable,
const GPURequestAdapterOptions* options, const GPURequestAdapterOptions* options,
ScriptPromiseResolver* resolver, ScriptPromiseResolver* resolver,
int32_t adapter_server_id, int32_t adapter_server_id,
const WGPUDeviceProperties& properties, const WGPUDeviceProperties& properties);
const char* error_message);
void RecordAdapterForIdentifiability(ScriptState* script_state, void RecordAdapterForIdentifiability(ScriptState* script_state,
const GPURequestAdapterOptions* options, const GPURequestAdapterOptions* options,
......
...@@ -9,12 +9,11 @@ declare_args() { ...@@ -9,12 +9,11 @@ declare_args() {
# Should EGL support be compiled? # Should EGL support be compiled?
# Can be overriden to test during bring up of EGL support on other platforms. # Can be overriden to test during bring up of EGL support on other platforms.
use_egl = use_egl = is_win || is_android || is_linux || is_chromeos || is_fuchsia || is_mac
is_win || is_android || is_linux || is_chromeos || is_fuchsia || is_mac
# Should Dawn support be compiled to back the WebGPU implementation? # Should Dawn support be compiled to back the WebGPU implementation?
# Also controls linking Dawn depedencies in such as SPIRV-Tools/SPIRV-Cross. # Also controls linking Dawn depedencies in such as SPIRV-Tools/SPIRV-Cross.
use_dawn = is_mac || is_win || is_chromeos || is_linux use_dawn = is_mac || is_win || is_chromeos
# Should Dawn test binaries (unittests, end2end_tests, perf_tests) be built? # Should Dawn test binaries (unittests, end2end_tests, perf_tests) be built?
# Independent of use_dawn, which controls whether Dawn is used in Chromium. # Independent of use_dawn, which controls whether Dawn is used in Chromium.
...@@ -22,8 +21,8 @@ declare_args() { ...@@ -22,8 +21,8 @@ declare_args() {
} }
declare_args() { declare_args() {
enable_swiftshader = (is_win || is_linux || is_chromeos || enable_swiftshader = (is_win || is_linux || is_chromeos || (is_mac && use_egl) ||
(is_mac && use_egl) || is_chromeos || is_fuchsia) && is_chromeos || is_fuchsia) &&
(target_cpu == "x86" || target_cpu == "x64" || (target_cpu == "x86" || target_cpu == "x64" ||
target_cpu == "arm" || target_cpu == "arm64" || target_cpu == "arm" || target_cpu == "arm64" ||
target_cpu == "mipsel" || target_cpu == "mips64el") target_cpu == "mipsel" || target_cpu == "mips64el")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment