Skip to content

Commit ee70196

Browse files
halby24claude
andcommitted
test: add dawnToggles tests and fix Dawn API naming
- Device.spec.ts に dawnToggles オプションのテストを追加 (enable/disable/両方/空のケースをカバー) - GPUAdapter.cpp の Dawn API 命名修正 enabledTogglesCount → enabledToggleCount disabledTogglesCount → disabledToggleCount Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 55da12c commit ee70196

2 files changed

Lines changed: 57 additions & 2 deletions

File tree

packages/webgpu/cpp/rnwgpu/api/GPUAdapter.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,12 +110,12 @@ async::AsyncTaskHandle GPUAdapter::requestDevice(
110110
if (td.enable.has_value() && !td.enable->empty()) {
111111
for (const auto &s : *td.enable) enablePtrs.push_back(s.c_str());
112112
togglesDesc.enabledToggles = enablePtrs.data();
113-
togglesDesc.enabledTogglesCount = enablePtrs.size();
113+
togglesDesc.enabledToggleCount = enablePtrs.size();
114114
}
115115
if (td.disable.has_value() && !td.disable->empty()) {
116116
for (const auto &s : *td.disable) disablePtrs.push_back(s.c_str());
117117
togglesDesc.disabledToggles = disablePtrs.data();
118-
togglesDesc.disabledTogglesCount = disablePtrs.size();
118+
togglesDesc.disabledToggleCount = disablePtrs.size();
119119
}
120120
if (!enablePtrs.empty() || !disablePtrs.empty()) {
121121
togglesDesc.nextInChain = localDescriptor.nextInChain;

packages/webgpu/src/__tests__/Device.spec.ts

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,61 @@ describe("Device", () => {
191191
expect(result).toBe(true);
192192
});
193193

194+
describe("dawnToggles", () => {
195+
it("should request device with enable toggles", async () => {
196+
const result = await client.eval(({ gpu }) =>
197+
gpu.requestAdapter().then((adapter) =>
198+
adapter!
199+
.requestDevice({
200+
dawnToggles: { enable: ["use_user_defined_labels_in_backend"] },
201+
})
202+
.then((device) => device !== null),
203+
),
204+
);
205+
expect(result).toBe(true);
206+
});
207+
208+
it("should request device with disable toggles", async () => {
209+
const result = await client.eval(({ gpu }) =>
210+
gpu.requestAdapter().then((adapter) =>
211+
adapter!
212+
.requestDevice({
213+
dawnToggles: { disable: ["use_user_defined_labels_in_backend"] },
214+
})
215+
.then((device) => device !== null),
216+
),
217+
);
218+
expect(result).toBe(true);
219+
});
220+
221+
it("should request device with both enable and disable toggles", async () => {
222+
const result = await client.eval(({ gpu }) =>
223+
gpu.requestAdapter().then((adapter) =>
224+
adapter!
225+
.requestDevice({
226+
dawnToggles: {
227+
enable: ["use_user_defined_labels_in_backend"],
228+
disable: ["disable_symbol_renaming"],
229+
},
230+
})
231+
.then((device) => device !== null),
232+
),
233+
);
234+
expect(result).toBe(true);
235+
});
236+
237+
it("should request device with empty dawnToggles", async () => {
238+
const result = await client.eval(({ gpu }) =>
239+
gpu.requestAdapter().then((adapter) =>
240+
adapter!
241+
.requestDevice({ dawnToggles: {} })
242+
.then((device) => device !== null),
243+
),
244+
);
245+
expect(result).toBe(true);
246+
});
247+
});
248+
194249
it("should receive uncapturederror event when validation error occurs", async () => {
195250
const result = await client.eval(({ gpu }) =>
196251
gpu.requestAdapter().then((adapter) =>

0 commit comments

Comments
 (0)