1*8975f5c5SAndroid Build Coastguard Worker // 2*8975f5c5SAndroid Build Coastguard Worker // Copyright 2021 The ANGLE Project Authors. All rights reserved. 3*8975f5c5SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 4*8975f5c5SAndroid Build Coastguard Worker // found in the LICENSE file. 5*8975f5c5SAndroid Build Coastguard Worker // 6*8975f5c5SAndroid Build Coastguard Worker // CLSamplerCL.cpp: Implements the class methods for CLSamplerCL. 7*8975f5c5SAndroid Build Coastguard Worker 8*8975f5c5SAndroid Build Coastguard Worker #include "libANGLE/renderer/cl/CLSamplerCL.h" 9*8975f5c5SAndroid Build Coastguard Worker 10*8975f5c5SAndroid Build Coastguard Worker #include "libANGLE/renderer/cl/CLContextCL.h" 11*8975f5c5SAndroid Build Coastguard Worker 12*8975f5c5SAndroid Build Coastguard Worker #include "libANGLE/CLContext.h" 13*8975f5c5SAndroid Build Coastguard Worker #include "libANGLE/CLSampler.h" 14*8975f5c5SAndroid Build Coastguard Worker 15*8975f5c5SAndroid Build Coastguard Worker namespace rx 16*8975f5c5SAndroid Build Coastguard Worker { 17*8975f5c5SAndroid Build Coastguard Worker CLSamplerCL(const cl::Sampler & sampler,cl_sampler native)18*8975f5c5SAndroid Build Coastguard WorkerCLSamplerCL::CLSamplerCL(const cl::Sampler &sampler, cl_sampler native) 19*8975f5c5SAndroid Build Coastguard Worker : CLSamplerImpl(sampler), mNative(native) 20*8975f5c5SAndroid Build Coastguard Worker { 21*8975f5c5SAndroid Build Coastguard Worker sampler.getContext().getImpl<CLContextCL>().mData->mSamplers.emplace(sampler.getNative()); 22*8975f5c5SAndroid Build Coastguard Worker } 23*8975f5c5SAndroid Build Coastguard Worker ~CLSamplerCL()24*8975f5c5SAndroid Build Coastguard WorkerCLSamplerCL::~CLSamplerCL() 25*8975f5c5SAndroid Build Coastguard Worker { 26*8975f5c5SAndroid Build Coastguard Worker const size_t numRemoved = 27*8975f5c5SAndroid Build Coastguard Worker mSampler.getContext().getImpl<CLContextCL>().mData->mSamplers.erase(mSampler.getNative()); 28*8975f5c5SAndroid Build Coastguard Worker ASSERT(numRemoved == 1u); 29*8975f5c5SAndroid Build Coastguard Worker 30*8975f5c5SAndroid Build Coastguard Worker if (mNative->getDispatch().clReleaseSampler(mNative) != CL_SUCCESS) 31*8975f5c5SAndroid Build Coastguard Worker { 32*8975f5c5SAndroid Build Coastguard Worker ERR() << "Error while releasing CL sampler"; 33*8975f5c5SAndroid Build Coastguard Worker } 34*8975f5c5SAndroid Build Coastguard Worker } 35*8975f5c5SAndroid Build Coastguard Worker 36*8975f5c5SAndroid Build Coastguard Worker } // namespace rx 37