Skip to content

Commit e2c2f13

Browse files
authored
Fix that using WGPUPY_WGPU_ADAPTER_NAME fails (#779)
1 parent 01b8947 commit e2c2f13

File tree

2 files changed

+23
-5
lines changed

2 files changed

+23
-5
lines changed

tests/test_wgpu_native_basics.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -364,6 +364,24 @@ def test_adapter_destroy():
364364
assert adapter._internal is None
365365

366366

367+
@mark.skipif(not can_use_wgpu_lib, reason="Needs wgpu lib")
368+
def test_adapter_by_name():
369+
ori = os.environ.get("WGPUPY_WGPU_ADAPTER_NAME", None)
370+
try:
371+
os.environ["WGPUPY_WGPU_ADAPTER_NAME"] = " "
372+
373+
promise = wgpu.gpu.request_adapter_async()
374+
adapter = promise.sync_wait()
375+
assert adapter
376+
assert promise._title == "adapter by name"
377+
378+
finally:
379+
if ori is None:
380+
os.environ.pop("WGPUPY_WGPU_ADAPTER_NAME")
381+
else:
382+
os.environ["WGPUPY_WGPU_ADAPTER_NAME"] = ori
383+
384+
367385
def test_get_memoryview_and_address():
368386
get_memoryview_and_address = (
369387
wgpu.backends.wgpu_native._helpers.get_memoryview_and_address

wgpu/backends/wgpu_native/_api.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -485,12 +485,12 @@ def request_adapter_async(
485485
# We chose the variable name WGPUPY_WGPU_ADAPTER_NAME instead WGPU_ADAPTER_NAME
486486
# to avoid a clash
487487
if adapter_name := os.getenv(("WGPUPY_WGPU_ADAPTER_NAME")):
488-
adapters = self._enumerate_adapters()
489-
adapters_llvm = [a for a in adapters if adapter_name in a.summary]
490-
if not adapters_llvm:
488+
adapters = self._enumerate_adapters(loop)
489+
adapters = [a for a in adapters if adapter_name in a.summary]
490+
if not adapters:
491491
raise ValueError(f"Adapter with name '{adapter_name}' not found.")
492-
promise = GPUPromise("llm adapter", None, loop=loop)
493-
promise._wgpu_set_input(adapters_llvm[0])
492+
promise = GPUPromise("adapter by name", None, loop=loop)
493+
promise._wgpu_set_input(adapters[0])
494494

495495
return promise
496496

0 commit comments

Comments
 (0)