Hi, I created Compute Shader in unity 2019.4 (DX11) and works well on RTX 2070S. But when I try run it in same version of Unity or even build on my older laptop with GT 650M (2GB) I have black screen. I started deleting some parts of code and I find out it does not read input properly. when I use this code it works and output red color.
#pragma kernel SomeKernel
RWTexture2D<float4> Input;
RWTexture2D<float4> Result;
[numthreads(8, 8, 1)]
void SomeKernel(uint3 id : SV_DispatchThreadID)
{
Result[id.xy] = float4(1,0,0,1); // working
}
But when I use this, it output black on GT 650M but on RTX 2070S it works well.
#pragma kernel SomeKernel
RWTexture2D<float4> Input;
RWTexture2D<float4> Result;
[numthreads(8, 8, 1)]
void SomeKernel(uint3 id : SV_DispatchThreadID)
{
Result[id.xy] = Input[id.xy]; // not working on GT 650M but RTX2070S yes
}
it’s weird, because if there was a problem with the syntax, even a red result wouldn’t work. But it have maybe something to do with num threads? I tried [numthreads(8, 8, 1)] and [numthreads(32, 32, 1)] with same result, new card work, old not.
Old card have hardware support for DX11.1 with SW DX12 and everything you need. NVIDIA GeForce GT 650M 2 GB GDDR5 Specs | TechPowerUp GPU Database
Any idea where can be problem or difference? Thanks.