# {py:mod}`simvx.graphics.gpu_gate` ```{py:module} simvx.graphics.gpu_gate ``` ```{autodoc2-docstring} simvx.graphics.gpu_gate :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`GpuStatus ` - * - {py:obj}`Decision ` - ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`reset_cache ` - ```{autodoc2-docstring} simvx.graphics.gpu_gate.reset_cache :summary: ``` * - {py:obj}`probe_gpu ` - ```{autodoc2-docstring} simvx.graphics.gpu_gate.probe_gpu :summary: ``` * - {py:obj}`needs_gpu ` - ```{autodoc2-docstring} simvx.graphics.gpu_gate.needs_gpu :summary: ``` * - {py:obj}`decide ` - ```{autodoc2-docstring} simvx.graphics.gpu_gate.decide :summary: ``` * - {py:obj}`apply_gate ` - ```{autodoc2-docstring} simvx.graphics.gpu_gate.apply_gate :summary: ``` * - {py:obj}`ungated_gpu_error_hint ` - ```{autodoc2-docstring} simvx.graphics.gpu_gate.ungated_gpu_error_hint :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.graphics.gpu_gate.__all__ :summary: ``` * - {py:obj}`GPU_FIXTURES ` - ```{autodoc2-docstring} simvx.graphics.gpu_gate.GPU_FIXTURES :summary: ``` * - {py:obj}`VULKAN_MARKER ` - ```{autodoc2-docstring} simvx.graphics.gpu_gate.VULKAN_MARKER :summary: ``` ```` ### API ````{py:data} __all__ :canonical: simvx.graphics.gpu_gate.__all__ :value: > ['GPU_FIXTURES', 'VULKAN_MARKER', 'GpuStatus', 'Decision', 'probe_gpu', 'reset_cache', 'needs_gpu', ... ```{autodoc2-docstring} simvx.graphics.gpu_gate.__all__ ``` ```` ````{py:data} GPU_FIXTURES :canonical: simvx.graphics.gpu_gate.GPU_FIXTURES :value: > 'frozenset(...)' ```{autodoc2-docstring} simvx.graphics.gpu_gate.GPU_FIXTURES ``` ```` ````{py:data} VULKAN_MARKER :canonical: simvx.graphics.gpu_gate.VULKAN_MARKER :value: > 'vulkan' ```{autodoc2-docstring} simvx.graphics.gpu_gate.VULKAN_MARKER ``` ```` `````{py:class} GpuStatus :canonical: simvx.graphics.gpu_gate.GpuStatus Bases: {py:obj}`enum.Enum` ````{py:attribute} AVAILABLE :canonical: simvx.graphics.gpu_gate.GpuStatus.AVAILABLE :value: > 'available' ```{autodoc2-docstring} simvx.graphics.gpu_gate.GpuStatus.AVAILABLE ``` ```` ````{py:attribute} ABSENT :canonical: simvx.graphics.gpu_gate.GpuStatus.ABSENT :value: > 'absent' ```{autodoc2-docstring} simvx.graphics.gpu_gate.GpuStatus.ABSENT ``` ```` ````{py:attribute} BROKEN :canonical: simvx.graphics.gpu_gate.GpuStatus.BROKEN :value: > 'broken' ```{autodoc2-docstring} simvx.graphics.gpu_gate.GpuStatus.BROKEN ``` ```` ````{py:method} __new__(value) :canonical: simvx.graphics.gpu_gate.GpuStatus.__new__ ```` ````{py:method} __repr__() :canonical: simvx.graphics.gpu_gate.GpuStatus.__repr__ ```` ````{py:method} __str__() :canonical: simvx.graphics.gpu_gate.GpuStatus.__str__ ```` ````{py:method} __dir__() :canonical: simvx.graphics.gpu_gate.GpuStatus.__dir__ ```` ````{py:method} __format__(format_spec) :canonical: simvx.graphics.gpu_gate.GpuStatus.__format__ ```` ````{py:method} __hash__() :canonical: simvx.graphics.gpu_gate.GpuStatus.__hash__ ```` ````{py:method} __reduce_ex__(proto) :canonical: simvx.graphics.gpu_gate.GpuStatus.__reduce_ex__ ```` ````{py:method} __deepcopy__(memo) :canonical: simvx.graphics.gpu_gate.GpuStatus.__deepcopy__ ```` ````{py:method} __copy__() :canonical: simvx.graphics.gpu_gate.GpuStatus.__copy__ ```` ````{py:method} name() :canonical: simvx.graphics.gpu_gate.GpuStatus.name ```` ````{py:method} value() :canonical: simvx.graphics.gpu_gate.GpuStatus.value ```` ````` `````{py:class} Decision :canonical: simvx.graphics.gpu_gate.Decision Bases: {py:obj}`enum.Enum` ````{py:attribute} RUN :canonical: simvx.graphics.gpu_gate.Decision.RUN :value: > 'run' ```{autodoc2-docstring} simvx.graphics.gpu_gate.Decision.RUN ``` ```` ````{py:attribute} SKIP :canonical: simvx.graphics.gpu_gate.Decision.SKIP :value: > 'skip' ```{autodoc2-docstring} simvx.graphics.gpu_gate.Decision.SKIP ``` ```` ````{py:attribute} FAIL :canonical: simvx.graphics.gpu_gate.Decision.FAIL :value: > 'fail' ```{autodoc2-docstring} simvx.graphics.gpu_gate.Decision.FAIL ``` ```` ````{py:method} __new__(value) :canonical: simvx.graphics.gpu_gate.Decision.__new__ ```` ````{py:method} __repr__() :canonical: simvx.graphics.gpu_gate.Decision.__repr__ ```` ````{py:method} __str__() :canonical: simvx.graphics.gpu_gate.Decision.__str__ ```` ````{py:method} __dir__() :canonical: simvx.graphics.gpu_gate.Decision.__dir__ ```` ````{py:method} __format__(format_spec) :canonical: simvx.graphics.gpu_gate.Decision.__format__ ```` ````{py:method} __hash__() :canonical: simvx.graphics.gpu_gate.Decision.__hash__ ```` ````{py:method} __reduce_ex__(proto) :canonical: simvx.graphics.gpu_gate.Decision.__reduce_ex__ ```` ````{py:method} __deepcopy__(memo) :canonical: simvx.graphics.gpu_gate.Decision.__deepcopy__ ```` ````{py:method} __copy__() :canonical: simvx.graphics.gpu_gate.Decision.__copy__ ```` ````{py:method} name() :canonical: simvx.graphics.gpu_gate.Decision.name ```` ````{py:method} value() :canonical: simvx.graphics.gpu_gate.Decision.value ```` ````` ````{py:function} reset_cache() -> None :canonical: simvx.graphics.gpu_gate.reset_cache ```{autodoc2-docstring} simvx.graphics.gpu_gate.reset_cache ``` ```` ````{py:function} probe_gpu() -> tuple[simvx.graphics.gpu_gate.GpuStatus, str] :canonical: simvx.graphics.gpu_gate.probe_gpu ```{autodoc2-docstring} simvx.graphics.gpu_gate.probe_gpu ``` ```` ````{py:function} needs_gpu(fixturenames) -> bool :canonical: simvx.graphics.gpu_gate.needs_gpu ```{autodoc2-docstring} simvx.graphics.gpu_gate.needs_gpu ``` ```` ````{py:function} decide(status: simvx.graphics.gpu_gate.GpuStatus, reason: str, require_gpu: bool) -> tuple[simvx.graphics.gpu_gate.Decision, str] :canonical: simvx.graphics.gpu_gate.decide ```{autodoc2-docstring} simvx.graphics.gpu_gate.decide ``` ```` ````{py:function} apply_gate(is_vulkan_marked: bool, require_gpu: bool) -> tuple[simvx.graphics.gpu_gate.Decision, str] :canonical: simvx.graphics.gpu_gate.apply_gate ```{autodoc2-docstring} simvx.graphics.gpu_gate.apply_gate ``` ```` ````{py:function} ungated_gpu_error_hint(report_text: str, is_vulkan_marked: bool) -> str | None :canonical: simvx.graphics.gpu_gate.ungated_gpu_error_hint ```{autodoc2-docstring} simvx.graphics.gpu_gate.ungated_gpu_error_hint ``` ````