Shadery VS i PS kompiluję przez fxc.exe poleceniami:
fxc.exe /T vs_4_0 /Fo vso.out VS.hlsl
fxc.exe /T ps_4_0 /Fo pso.out PS.hlsl
I wczytuję w taki sposób:

auto vs_rsrc = FindResource(0, L"vs", L"shader");
	auto ps_rsrc = FindResource(0, L"ps", L"shader");

	auto vs_size = SizeofResource(0, vs_rsrc);
	auto ps_size = SizeofResource(0, ps_rsrc);

	auto vs_data = LockResource(LoadResource(0, vs_rsrc));
	auto ps_data = LockResource(LoadResource(0, ps_rsrc));

	if(FAILED(device->CreateVertexShader(vs_data, vs_size, NULL, &pVS)))
abort();
	if(FAILED(device->CreatePixelShader(ps_data, ps_size, NULL, &pPS)))
abort();

CreateVertexShader zwraca błąd E_INVALIDARG(0x80070057). Sprawdziłem debuggerem i wartości vs_data i vs_size nie są nullowe, więc zasób raczej został wczytany prawidłowo, więc chyba coś jest nie tak ze skompilowanymi shaderami, tylko co?
Z góry dziękuje za pomoc.