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
//
// 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.
//
// CLProgramImpl.h: Defines the abstract rx::CLProgramImpl class.
#ifndef LIBANGLE_RENDERER_CLPROGRAMIMPL_H_
#define LIBANGLE_RENDERER_CLPROGRAMIMPL_H_
#include "libANGLE/renderer/CLKernelImpl.h"
namespace rx
{
class CLProgramImpl : angle::NonCopyable
{
  public:
    using Ptr = std::unique_ptr<CLProgramImpl>;
    CLProgramImpl(const cl::Program &program);
    virtual ~CLProgramImpl();
    virtual angle::Result build(const cl::DevicePtrs &devices,
                                const char *options,
                                cl::Program *notify) = 0;
    virtual angle::Result compile(const cl::DevicePtrs &devices,
                                  const char *options,
                                  const cl::ProgramPtrs &inputHeaders,
                                  const char **headerIncludeNames,
                                  cl::Program *notify) = 0;
    virtual angle::Result getInfo(cl::ProgramInfo name,
                                  size_t valueSize,
                                  void *value,
                                  size_t *valueSizeRet) const = 0;
    virtual angle::Result getBuildInfo(const cl::Device &device,
                                       cl::ProgramBuildInfo name,
                                       size_t valueSize,
                                       void *value,
                                       size_t *valueSizeRet) const = 0;
    virtual angle::Result createKernel(const cl::Kernel &kernel,
                                       const char *name,
                                       CLKernelImpl::Ptr *kernelOut) = 0;
    virtual angle::Result createKernels(cl_uint numKernels,
                                        CLKernelImpl::CreateFuncs &createFuncs,
                                        cl_uint *numKernelsRet) = 0;
  protected:
    const cl::Program &mProgram;
};
}  // namespace rx
#endif  // LIBANGLE_RENDERER_CLPROGRAMIMPL_H_