I'm using a variant of the D3D12 UWP template that comes with VS2017 Community Edition and I have two related questions:
When I add this italicized and bolded code to the vertex shader signature, I get an X4016 error:
PixelShaderInput main(VertexShaderInput input, uint instanceID : SV_InstanceID)
The full text of the error is:
error X4016: SV_InstanceID semantic cannot be used with 10Level9 targets
I don't understand what this means because when the template calls D3D12CreateDevice, it sets D3D_FEATURE_LEVEL_11_0.
Per this post, I'm thinking SV_InstanceID is supported in DX11 and above: https://stackoverflow.com/questions/21241207/dx11-c-shader-cant-receive-instance-buffer-content
If I'm using a D3D12 template that is setting D3D_FEATURE_LEVEL_11_0 in the D3D12CreateDeveice call, why does the template think I have 10Level9 target?
Where can I go to change the template so that it uses a target that is compatible with the SV_InstanceID semantic in the vertex shader?
NOTE: I'm trying to loosely follow the example on Page 561 of Frank Luna's "3D Game Programming with DirectX 12" Text where he passes instanceID into the vertex shader.