Edit

kc3-lang/angle/src/libANGLE/CLtypes.h

Branch :

  • Show log

    Commit

  • Author : John Plate
    Date : 2021-06-16 10:20:32
    Hash : 1891af05
    Message : CL: Refactor TRY macro and fix more conformance bugs Bug: angleproject:6015 Change-Id: Id54be19822fec2ac5584ffe1d1cf5bb8f00c9094 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2967467 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: John Plate <jplate@google.com>

  • src/libANGLE/CLtypes.h
  • //
    // 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.
    //
    // CLtypes.h: Defines common types for the OpenCL support in ANGLE.
    
    #ifndef LIBANGLE_CLTYPES_H_
    #define LIBANGLE_CLTYPES_H_
    
    #include "libANGLE/CLBitField.h"
    #include "libANGLE/CLRefPointer.h"
    #include "libANGLE/Debug.h"
    
    #include "common/PackedCLEnums_autogen.h"
    #include "common/angleutils.h"
    
    // Include frequently used standard headers
    #include <algorithm>
    #include <array>
    #include <functional>
    #include <list>
    #include <memory>
    #include <string>
    #include <utility>
    #include <vector>
    
    #define ANGLE_CL_TRY(expression)              \
        do                                        \
        {                                         \
            const cl_int _errorCode = expression; \
            if (_errorCode != CL_SUCCESS)         \
            {                                     \
                return _errorCode;                \
            }                                     \
        } while (0)
    
    namespace cl
    {
    
    class Buffer;
    class CommandQueue;
    class Context;
    class Device;
    class Event;
    class Image;
    class Kernel;
    class Memory;
    class Object;
    class Platform;
    class Program;
    class Sampler;
    
    using BufferPtr       = RefPointer<Buffer>;
    using CommandQueuePtr = RefPointer<CommandQueue>;
    using ContextPtr      = RefPointer<Context>;
    using DevicePtr       = RefPointer<Device>;
    using EventPtr        = RefPointer<Event>;
    using KernelPtr       = RefPointer<Kernel>;
    using MemoryPtr       = RefPointer<Memory>;
    using PlatformPtr     = RefPointer<Platform>;
    using ProgramPtr      = RefPointer<Program>;
    using SamplerPtr      = RefPointer<Sampler>;
    
    using BufferPtrs   = std::vector<BufferPtr>;
    using DevicePtrs   = std::vector<DevicePtr>;
    using EventPtrs    = std::vector<EventPtr>;
    using KernelPtrs   = std::vector<KernelPtr>;
    using MemoryPtrs   = std::vector<MemoryPtr>;
    using PlatformPtrs = std::vector<PlatformPtr>;
    using ProgramPtrs  = std::vector<ProgramPtr>;
    
    struct ImageDescriptor
    {
        MemObjectType type;
        size_t width;
        size_t height;
        size_t depth;
        size_t arraySize;
        size_t rowPitch;
        size_t slicePitch;
        cl_uint numMipLevels;
        cl_uint numSamples;
    };
    
    }  // namespace cl
    
    #endif  // LIBANGLE_CLTYPES_H_