Hash :
80893f26
Author :
Date :
2023-11-30T16:57:15
OpenCL: Remove unneeded impl getters Some of the OpenCL backend (impl) getters are not needed. These are the size query for image creation, and CL source retrieval for program objects not created from source. Bug: angleproject:8438 Change-Id: I76b39b75f1ae76ec0c3c94d5715632cb9dd4900a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5078243 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
//
// Copyright 2021 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// CLProgramCL.h: Defines the class interface for CLProgramCL, implementing CLProgramImpl.
#ifndef LIBANGLE_RENDERER_CL_CLPROGRAMCL_H_
#define LIBANGLE_RENDERER_CL_CLPROGRAMCL_H_
#include "libANGLE/renderer/cl/cl_types.h"
#include "libANGLE/renderer/CLProgramImpl.h"
namespace rx
{
class CLProgramCL : public CLProgramImpl
{
public:
CLProgramCL(const cl::Program &program, cl_program native);
~CLProgramCL() override;
cl_program getNative() const;
angle::Result build(const cl::DevicePtrs &devices,
const char *options,
cl::Program *notify) override;
angle::Result compile(const cl::DevicePtrs &devices,
const char *options,
const cl::ProgramPtrs &inputHeaders,
const char **headerIncludeNames,
cl::Program *notify) override;
angle::Result getInfo(cl::ProgramInfo name,
size_t valueSize,
void *value,
size_t *valueSizeRet) const override;
angle::Result getBuildInfo(const cl::Device &device,
cl::ProgramBuildInfo name,
size_t valueSize,
void *value,
size_t *valueSizeRet) const override;
angle::Result createKernel(const cl::Kernel &kernel,
const char *name,
CLKernelImpl::Ptr *kernelOut) override;
angle::Result createKernels(cl_uint numKernels,
CLKernelImpl::CreateFuncs &createFuncs,
cl_uint *numKernelsRet) override;
private:
static void CL_CALLBACK Callback(cl_program program, void *userData);
const cl_program mNative;
friend class CLContextCL;
};
inline cl_program CLProgramCL::getNative() const
{
return mNative;
}
} // namespace rx
#endif // LIBANGLE_RENDERER_CL_CLPROGRAMCL_H_