Revert "Make dawn_proc print a warning if dawnProcSetProcs is not called."
This reverts commit 9ab14405904f8d99a51d675416968c8e1fec7818.
Reason for revert: static initializers breaking roll into Chromium.
Example failure: https://ci.chromium.org/ui/p/chromium/builders/try/android-binary-size/1842408/overview
Original change's description:
> Make dawn_proc print a warning if dawnProcSetProcs is not called.
>
> Fixed: dawn:2488
> Change-Id: Ifc65fef161710e775032a1c7930db307a921612a
> Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/182120
> Commit-Queue: Corentin Wallez <cwallez@chromium.org>
> Reviewed-by: Austin Eng <enga@chromium.org>
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Ie5cabe0569be57734f7562a23ca452ce7dfbd32e
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/182520
Commit-Queue: Austin Eng <enga@chromium.org>
Auto-Submit: Austin Eng <enga@chromium.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
diff --git a/generator/dawn_json_generator.py b/generator/dawn_json_generator.py
index d6e2091..23ebc55 100644
--- a/generator/dawn_json_generator.py
+++ b/generator/dawn_json_generator.py
@@ -1066,7 +1066,7 @@
if 'proc' in targets:
renders.append(
- FileRender('dawn_proc.cpp', 'src/dawn/' + prefix + '_proc.cpp',
+ FileRender('dawn_proc.c', 'src/dawn/' + prefix + '_proc.c',
[RENDER_PARAMS_BASE, params_dawn]))
renders.append(
FileRender('dawn_thread_dispatch_proc.cpp',
diff --git a/generator/templates/dawn_proc.cpp b/generator/templates/dawn_proc.c
similarity index 76%
rename from generator/templates/dawn_proc.cpp
rename to generator/templates/dawn_proc.c
index 5e17dba..ee9faec 100644
--- a/generator/templates/dawn_proc.cpp
+++ b/generator/templates/dawn_proc.c
@@ -32,33 +32,16 @@
// The sanitizer is disabled for calls to procs.* since those functions may be
// dynamically loaded.
#include "dawn/common/Compiler.h"
-#include "dawn/common/Log.h"
-// A fake wgpuCreateInstance that prints a warning so folks know that they are using dawn_procs and
-// should either use a different target to link against, or call dawnProcSetProcs.
-WGPUInstance CreateInstanceThatWarns(const WGPUInstanceDescriptor* desc) {
- dawn::ErrorLog() <<
- R"(The \"null\" {{metadata.namespace}}CreateInstance from {{prefix}}_proc was called which always returns nullptr. You either need to:
- - call {{prefix}}ProcSetProcs with a {{Prefix}}ProcTable object retrieved somewhere else, or
- - (most likely) link against a different target that implements {{metadata.api}} directly, for example {{metadata.api.lower()}}_dawn)";
+static {{Prefix}}ProcTable procs;
- return nullptr;
-}
-
-constexpr {{Prefix}}ProcTable MakeNullProcTable() {
- {{Prefix}}ProcTable procs = {};
- procs.createInstance = CreateInstanceThatWarns;
- return procs;
-}
-
-static {{Prefix}}ProcTable kNullProcs = MakeNullProcTable();
-static {{Prefix}}ProcTable procs = kNullProcs;
+static {{Prefix}}ProcTable nullProcs;
void {{prefix}}ProcSetProcs(const {{Prefix}}ProcTable* procs_) {
if (procs_) {
procs = *procs_;
} else {
- procs = kNullProcs;
+ procs = nullProcs;
}
}
diff --git a/src/dawn/BUILD.gn b/src/dawn/BUILD.gn
index 2e243b5..4de344d 100644
--- a/src/dawn/BUILD.gn
+++ b/src/dawn/BUILD.gn
@@ -52,7 +52,7 @@
dawn_json_generator("proc_gen") {
target = "proc"
outputs = [
- "src/dawn/dawn_proc.cpp",
+ "src/dawn/dawn_proc.c",
"src/dawn/dawn_thread_dispatch_proc.cpp",
]
}
diff --git a/src/dawn/native/CMakeLists.txt b/src/dawn/native/CMakeLists.txt
index 9a3d8d5..6058500 100644
--- a/src/dawn/native/CMakeLists.txt
+++ b/src/dawn/native/CMakeLists.txt
@@ -766,16 +766,10 @@
RESULT_VARIABLE "WEBGPU_DAWN_NATIVE_PROC_GEN"
)
-# A convenience target that bundles dawn_native and procs calling it directly so that
-# applications link against it and have WebGPU work without jumping through more hoops.
-# Note that this library name is referenced in several places, search for it and things like:
-# "{{.*}}_dawn" when you rename it.
add_library(webgpu_dawn)
common_compile_options(webgpu_dawn)
-target_link_libraries(webgpu_dawn
- PRIVATE dawn_native
- PUBLIC dawn_headers
-)
+target_link_libraries(webgpu_dawn PRIVATE dawn_native)
+target_link_libraries(webgpu_dawn PUBLIC dawn_headers)
target_compile_definitions(webgpu_dawn PRIVATE "WGPU_IMPLEMENTATION")
if(BUILD_SHARED_LIBS)
target_compile_definitions(webgpu_dawn PRIVATE "WGPU_SHARED_LIBRARY")