Mi2dRPGamEng/engine/render/device.py

17 lines
535 B
Python

from __future__ import annotations
import wgpu
def request_device(canvas) -> tuple["wgpu.GPUAdapter", "wgpu.GPUDevice"]:
adapter = wgpu.gpu.request_adapter_sync(canvas=canvas, power_preference="high-performance")
device = adapter.request_device_sync()
return adapter, device
def configure_context(canvas, adapter, device):
context = canvas.get_context("wgpu")
texture_format = context.get_preferred_format(adapter)
context.configure(device=device, format=texture_format)
return context, texture_format