private void PlatformSetPipelineLayout(PipelineLayout pipelineLayout) { for (var i = 0; i < pipelineLayout.Description.StaticSamplerStates.Length; i++) { var staticSamplerState = pipelineLayout.Description.StaticSamplerStates[i]; switch (staticSamplerState.Visibility) { case ShaderStageVisibility.Vertex: _commandEncoder.SetVertexSamplerState(pipelineLayout.DeviceSamplerStates[i], (nuint)staticSamplerState.ShaderRegister); break; case ShaderStageVisibility.Pixel: _commandEncoder.SetFragmentSamplerState(pipelineLayout.DeviceSamplerStates[i], (nuint)staticSamplerState.ShaderRegister); break; case ShaderStageVisibility.All: _commandEncoder.SetVertexSamplerState(pipelineLayout.DeviceSamplerStates[i], (nuint)staticSamplerState.ShaderRegister); _commandEncoder.SetFragmentSamplerState(pipelineLayout.DeviceSamplerStates[i], (nuint)staticSamplerState.ShaderRegister); break; } } }
private void PlatformSetVertexShaderSampler(int slot, SamplerState sampler) { _deviceCommandEncoder.SetVertexSamplerState(sampler.DeviceSamplerState, (nuint)slot); }