/* * Copyright 2018 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef GrMtlSampler_DEFINED #define GrMtlSampler_DEFINED #import <metal/metal.h> class GrSamplerState; class GrMtlGpu; // This class only acts as a wrapper for a MTLSamplerState object for now, but will be more useful // once we start caching sampler states. class GrMtlSampler { public: static GrMtlSampler* Create(const GrMtlGpu* gpu, const GrSamplerState&, uint32_t maxMipLevel); id<MTLSamplerState> mtlSamplerState() const { return fMtlSamplerState; } private: GrMtlSampler(id<MTLSamplerState> mtlSamplerState) : fMtlSamplerState(mtlSamplerState) {} id<MTLSamplerState> fMtlSamplerState; }; #endif