//////////////////////////////////////////////////////////////////////////////////////////////////// /// <summary> Creates a new <see cref="ComputeSampler"/>. </summary> /// /// <param name="context"> A <see cref="ComputeContext"/>. </param> /// <param name="normalizedCoords"> The usage state of normalized coordinates when accessing a /// <see cref="ComputeImage"/> in a <see cref="ComputeKernel"/>. </param> /// <param name="addressing"> The <see cref="ComputeImageAddressing"/> mode of the /// <see cref="ComputeSampler"/>. Specifies how out-of-range /// image coordinates are handled while reading. </param> /// <param name="filtering"> The <see cref="ComputeImageFiltering"/> mode of the /// <see cref="ComputeSampler"/>. Specifies the type of filter /// that must be applied when reading data from an image. </param> //////////////////////////////////////////////////////////////////////////////////////////////////// public ComputeSampler(ComputeContext context, bool normalizedCoords, ComputeImageAddressing addressing, ComputeImageFiltering filtering) { Handle = CL12.CreateSampler(context.Handle, normalizedCoords, addressing, filtering, out var error); ComputeException.ThrowOnError(error); SetID(Handle.Value); this.addressing = addressing; this.context = context; this.filtering = filtering; this.normalizedCoords = normalizedCoords; RILogManager.Default?.SendTrace(string.Intern("Create ") + this + string.Intern(" in Thread(") + Thread.CurrentThread.ManagedThreadId + string.Intern(")."), string.Intern("Information")); }
/// <summary> /// Creates a new <see cref="ComputeSampler"/>. /// </summary> /// <param name="context"> A <see cref="ComputeContext"/>. </param> /// <param name="normalizedCoords"> The usage state of normalized coordinates when accessing a <see cref="ComputeImage"/> in a <see cref="ComputeKernel"/>. </param> /// <param name="addressing"> The <see cref="ComputeImageAddressing"/> mode of the <see cref="ComputeSampler"/>. Specifies how out-of-range image coordinates are handled while reading. </param> /// <param name="filtering"> The <see cref="ComputeImageFiltering"/> mode of the <see cref="ComputeSampler"/>. Specifies the type of filter that must be applied when reading data from an image. </param> public ComputeSampler(ComputeContext context, bool normalizedCoords, ComputeImageAddressing addressing, ComputeImageFiltering filtering) { ComputeErrorCode error = ComputeErrorCode.Success; Handle = CL12.CreateSampler(context.Handle, normalizedCoords, addressing, filtering, out error); ComputeException.ThrowOnError(error); SetID(Handle.Value); this.addressing = addressing; this.context = context; this.filtering = filtering; this.normalizedCoords = normalizedCoords; Trace.WriteLine("Create " + this + " in Thread(" + Thread.CurrentThread.ManagedThreadId + ").", "Information"); }