Coelacanth's Dream

Intel GFX ドライバーに Ponte Vecchio をサポートするパッチが投稿される

Intel の Matt Roper 氏より、Linux Kernel における Intel GPU/GFX ドライバー、i915 に Ponte Vecchio GPU を初期サポートを追加するパッチが投稿されている。

パッチ内のコメントで Matt Roper 氏は、Ponte VecchioXe-HPC アーキテクチャ に基づいたコンピューティング向け GPU であり、コンピューティングエンジンと拡張されたコピーエンジン (BCS, blitting {copy} engine) を備えるが、ジオメトリパイプラインを含むレンダーエンジンは持たず、またディスプレイ出力機能も持たない、コンピューティング向けプラットフォームだと説明している。

ディスプレイ出力を持たない Intel GPU には他に、サーバー向けの XeHP_SDVXe-HPG をベースにした ArcticSound-M がいる。1 2

今回のパッチは初期的な、エンジンの有効化を目的としたパッチであり、対象のエンジンも拡張されたコピーエンジンが主となる。

Copy Engine

BCS はデータの移動やメモリの指定された部分を固定データで埋める機能を持つ。
Intel GPU では BCS を通常 1基備えているが、Ponte Vecchio では 8基備えていることを示す記述がある。
Ponte Vecchio はコンピューティング向けとしてマルチ GPU を想定しており、BCS の拡張と複数搭載はマルチ GPU 性能を高めるためのものと思われる。

 +#define   XEHPC_BCS1				(14)
 +#define   XEHPC_BCS2				(13)
 +#define   XEHPC_BCS3				(12)
 +#define   XEHPC_BCS4				(11)
 +#define   XEHPC_BCS5				(10)
 +#define   XEHPC_BCS6				(9)
 +#define   XEHPC_BCS7				(8)
 +#define   XEHPC_BCS8				(23)

Platform info

Xe-HPC アーキテクチャ で DMA に使用可能なアドレスサイズは 52-bits であり、Xe-HP/HPG の 46-bits より広いアドレスサイズとなっている。
Graphics IP と Media IP のバージョンについては、世代を表す基本的なバージョンは 12、プラットフォームの違いを表す rel (release) 部分は 60 となる。

 +#define XE_HPC_FEATURES \
 +	XE_HP_FEATURES, \
 +	.dma_mask_size = 52
 +
 +__maybe_unused
 +static const struct intel_device_info pvc_info = {
 +	XE_HPC_FEATURES,
 +	XE_HPM_FEATURES,
 +	DGFX_FEATURES,
 +	.graphics.rel = 60,
 +	.media.rel = 60,
 +	PLATFORM(INTEL_PONTEVECCHIO),
 +	.display = { 0 },
 +	.has_flat_ccs = 0,
 +	.platform_engine_mask =
 +		BIT(BCS0) |
 +		BIT(VCS0) |
 +		BIT(CCS0) | BIT(CCS1) | BIT(CCS2) | BIT(CCS3),
 +	.require_force_probe = 1,
 +};
 +
Intel GPU / (ver.release_ver) Graphics IP ver Display IP ver Media IP ver
Tiger Lake,
Rocket Lake?
Gen12 Gen12 Gen12
DG1 Gen12.1 Gen12 Gen12
Alder Lake-S Gen12 Gen12 Gen12.2
Alder Lake-P Gen12 Gen13
(XE_LPD)
Gen12.2
Xe-HP Gen12.5 - Gen12.5
Xe-HPG Gen12.55 Gen13
(XE_LPD)
Gen12.55
Xe-HPC Gen12.6 - Gen12.6

参考リンク