Play Siv3D!

ゲームとメディアアートのための C++ ライブラリ「Siv3D」

SIMD

SIMD

Siv3D June 2015 v2

サポートされている最大の SSE のバージョンを取得する

# include <Siv3D.hpp>

void Main()
{
	switch (SIMD::SupportedSSE())
	{
	case SSE::SSE2:
		Println(L"SSE2"); break;
	case SSE::SSE3:
		Println(L"SSE3"); break;
	case SSE::SSE4_1:
		Println(L"SSE4.1"); break;
	case SSE::SSE4_2:
		Println(L"SSE4.2"); break;
	}

	WaitKey();
}


エンジンが使用する SSE のバージョンを変更する
Siv3D の画像処理の関数に影響します。
デフォルトではサポートされている最大の SSE が設定されています。

# include <Siv3D.hpp>

void Main()
{
	Image iamge(800, 800, Palette::White);
	Image image2(800, 800, Palette::Blue);

	{
		SIMD::SetSSE(SSE::SSE2);

		MicrosecClock m;

		image2.write(iamge, { 0, 0 }, Color(80, 80, 80, 80));

		m.print();
	}

	{
		SIMD::SetSSE(SSE::SSE3);

		MicrosecClock m;

		image2.write(iamge, { 0, 0 }, Color(80, 80, 80, 80));

		m.print();
	}

	{
		SIMD::SetSSE(SSE::SSE4_2);

		MicrosecClock m;

		image2.write(iamge, { 0, 0 }, Color(80, 80, 80, 80));

		m.print();
	}

	WaitKey();
}