Skip to content

Commit 50afc5d

Browse files
Copiloteserscorfs-eire
authored
Fix build break for #26873: Move enable_pix_capture parsing to WebGpuExecutionProviderConfig (#26877)
### Description PR #26873 moved `enable_pix_capture` from `WebGpuContextConfig` to `WebGpuExecutionProviderConfig` but didn't update `webgpu_provider_factory.cc` to parse the config option into the correct struct. **Changes:** - Move PIX capture config parsing from `ParseWebGpuContextConfig()` to `ParseEpConfig()` - Update logging to use the correct config struct (`webgpu_ep_config.enable_pix_capture`) ### Motivation and Context Build was failing with: ``` 'enable_pix_capture': is not a member of 'onnxruntime::webgpu::WebGpuContextConfig' ``` This completes the refactoring in #26873 which makes the PIX frame generator per-session instead of per-WebGpuContext. <!-- START COPILOT CODING AGENT SUFFIX --> <!-- START COPILOT ORIGINAL PROMPT --> <details> <summary>Original prompt</summary> > Please help me to fix the build break for #26873. </details> <!-- START COPILOT CODING AGENT TIPS --> --- 💬 We'd love your input! Share your thoughts on Copilot coding agent in our [2 minute survey](https://gh.io/copilot-coding-agent-survey). --------- Co-authored-by: eserscor <erscor@microsoft.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: fs-eire <7679871+fs-eire@users.noreply.github.com>
1 parent 0c38d7c commit 50afc5d

File tree

2 files changed

+18
-15
lines changed

2 files changed

+18
-15
lines changed

onnxruntime/core/providers/webgpu/webgpu_provider_factory.cc

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,22 @@ WebGpuExecutionProviderConfig ParseEpConfig(const ConfigOptions& config_options)
8080
}
8181
}
8282

83+
// enable pix capture
84+
if (std::string enable_pix_capture_str;
85+
config_options.TryGetConfigEntry(kEnablePIXCapture, enable_pix_capture_str)) {
86+
if (enable_pix_capture_str == kEnablePIXCapture_ON) {
87+
webgpu_ep_config.enable_pix_capture = true;
88+
} else if (enable_pix_capture_str == kEnablePIXCapture_OFF) {
89+
webgpu_ep_config.enable_pix_capture = false;
90+
} else {
91+
ORT_THROW("Invalid enable pix capture: ", enable_pix_capture_str);
92+
}
93+
}
94+
8395
LOGS_DEFAULT(VERBOSE) << "WebGPU EP preferred layout: " << int(webgpu_ep_config.data_layout);
8496
LOGS_DEFAULT(VERBOSE) << "WebGPU EP graph capture enable: " << webgpu_ep_config.enable_graph_capture;
8597
LOGS_DEFAULT(VERBOSE) << "WebGPU EP force CPU node count: " << webgpu_ep_config.force_cpu_node_names.size();
98+
LOGS_DEFAULT(VERBOSE) << "WebGPU EP pix capture enable: " << webgpu_ep_config.enable_pix_capture;
8699

87100
return webgpu_ep_config;
88101
}
@@ -216,27 +229,13 @@ WebGpuContextConfig ParseWebGpuContextConfig(const ConfigOptions& config_options
216229
}
217230
}
218231

219-
// enable pix capture
220-
221-
if (std::string enable_pix_capture_str;
222-
config_options.TryGetConfigEntry(kEnablePIXCapture, enable_pix_capture_str)) {
223-
if (enable_pix_capture_str == kEnablePIXCapture_ON) {
224-
config.enable_pix_capture = true;
225-
} else if (enable_pix_capture_str == kEnablePIXCapture_OFF) {
226-
config.enable_pix_capture = false;
227-
} else {
228-
ORT_THROW("Invalid enable pix capture: ", enable_pix_capture_str);
229-
}
230-
}
231-
232232
LOGS_DEFAULT(VERBOSE) << "WebGPU EP storage buffer cache mode: " << config.buffer_cache_config.storage.mode;
233233
LOGS_DEFAULT(VERBOSE) << "WebGPU EP uniform buffer cache mode: " << config.buffer_cache_config.uniform.mode;
234234
LOGS_DEFAULT(VERBOSE) << "WebGPU EP query resolve buffer cache mode: " << config.buffer_cache_config.query_resolve.mode;
235235
LOGS_DEFAULT(VERBOSE) << "WebGPU EP default buffer cache mode: " << config.buffer_cache_config.default_entry.mode;
236236

237237
LOGS_DEFAULT(VERBOSE) << "WebGPU EP power preference: " << config.power_preference;
238238
LOGS_DEFAULT(VERBOSE) << "WebGPU EP Dawn backend type: " << config.backend_type;
239-
LOGS_DEFAULT(VERBOSE) << "WebGPU EP pix capture enable: " << config.enable_pix_capture;
240239

241240
return config;
242241
}

setup.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,8 +297,12 @@ def run(self):
297297
else:
298298
pass
299299

300+
# qnn links libc++ rather than libstdc++ for its x86_64 dependencies which we currently do not
301+
# support for many_linux. This is not the case for other platforms.
302+
qnn_run_audit = environ.get("AUDITWHEEL_ARCH", "x86_64") != "x86_64"
303+
300304
_bdist_wheel.run(self)
301-
if is_manylinux and not disable_auditwheel_repair and not is_openvino:
305+
if is_manylinux and not disable_auditwheel_repair and not is_openvino and (not is_qnn or qnn_run_audit):
302306
assert self.dist_dir is not None
303307
file = glob(path.join(self.dist_dir, "*linux*.whl"))[0]
304308
logger.info("repairing %s for manylinux1", file)

0 commit comments

Comments
 (0)