Files
compute-runtime/shared/source/kernel/dispatch_kernel_encoder_interface.h
Zbigniew Zdanowicz bac5506b62 Modify function dispatching cross and per-thread data
Related-To: NEO-4585

Change-Id: Ia6b54b8d0c868cab5403332411655dc8c9ef4c8d
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-07-08 19:30:23 +02:00

40 lines
1.2 KiB
C++

/*
* Copyright (C) 2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#pragma once
#include <cstdint>
namespace NEO {
class GraphicsAllocation;
struct KernelDescriptor;
struct DispatchKernelEncoderI {
virtual ~DispatchKernelEncoderI() = default;
virtual const KernelDescriptor &getKernelDescriptor() const = 0;
virtual const uint32_t *getGroupSize() const = 0;
virtual uint32_t getSlmTotalSize() const = 0;
virtual const uint8_t *getCrossThreadData() const = 0;
virtual uint32_t getCrossThreadDataSize() const = 0;
virtual uint32_t getThreadExecutionMask() const = 0;
virtual uint32_t getNumThreadsPerThreadGroup() const = 0;
virtual const uint8_t *getPerThreadData() const = 0;
virtual uint32_t getPerThreadDataSize() const = 0;
virtual uint32_t getPerThreadDataSizeForWholeThreadGroup() const = 0;
virtual const uint8_t *getSurfaceStateHeapData() const = 0;
virtual uint32_t getSurfaceStateHeapDataSize() const = 0;
virtual GraphicsAllocation *getIsaAllocation() const = 0;
virtual const uint8_t *getDynamicStateHeapData() const = 0;
virtual uint32_t getRequiredWorkgroupOrder() const = 0;
virtual bool requiresGenerationOfLocalIdsByRuntime() const = 0;
};
} // namespace NEO