Beispiel #1
0
        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;
                }
            }
        }
Beispiel #2
0
 private void PlatformSetVertexShaderSampler(int slot, SamplerState sampler)
 {
     _deviceCommandEncoder.SetVertexSamplerState(sampler.DeviceSamplerState, (nuint)slot);
 }