699a12bfa2
SWDEV-79445 - OCL generic changes and code clean-up - Run google autoformat over the PAL backend. It will allow to enable autoformat in VS for the future changes. - No functional changes Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palappprofile.cpp#4 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palappprofile.hpp#4 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.cpp#29 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palblit.hpp#8 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palconstbuf.cpp#12 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palconstbuf.hpp#10 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palcounters.cpp#20 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palcounters.hpp#10 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldebugger.hpp#4 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldebugmanager.cpp#4 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldefs.hpp#52 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.cpp#133 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevice.hpp#37 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldeviced3d10.cpp#3 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldeviced3d11.cpp#3 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldeviced3d9.cpp#3 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paldevicegl.cpp#11 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palgpuopen.cpp#13 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palgpuopen.hpp#9 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.cpp#78 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palkernel.hpp#28 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palmemory.cpp#24 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palmemory.hpp#11 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprintf.hpp#6 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.cpp#93 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palprogram.hpp#38 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.cpp#73 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palresource.hpp#27 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.cpp#79 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palsettings.hpp#22 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/paltimestamp.hpp#4 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.cpp#132 edit ... //depot/stg/opencl/drivers/opencl/runtime/device/pal/palvirtual.hpp#60 edit
113 خطوط
3.8 KiB
C++
113 خطوط
3.8 KiB
C++
//
|
|
// Copyright (c) 2015 Advanced Micro Devices, Inc. All rights reserved.
|
|
//
|
|
#pragma once
|
|
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
#include "hsa.h"
|
|
#include "amd_hsa_kernel_code.h"
|
|
#include "device/device.hpp"
|
|
#include "device/hwdebug.hpp"
|
|
#include "acl.h"
|
|
|
|
static const int NumberReserveVgprs = 4;
|
|
|
|
namespace pal {
|
|
|
|
/**
|
|
* \defgroup Services_API OCL Runtime Services API
|
|
* @{
|
|
*/
|
|
|
|
/*! \brief Dispatch packet information
|
|
*
|
|
* This structure contains the packet information for kernel dispatch
|
|
*/
|
|
struct PacketAmdInfo {
|
|
uint32_t trapReservedVgprIndex_; //!< reserved VGPR index, -1 when they are not valid
|
|
uint32_t scratchBufferWaveOffset_; //!< scratch buffer wave offset, -1 when no scratch buffer
|
|
void* pointerToIsaBuffer_; //!< pointer to the buffer containing ISA
|
|
size_t sizeOfIsaBuffer_; //!< size of the ISA buffer
|
|
uint32_t numberOfVgprs_; //!< number of VGPRs used by the kernel
|
|
uint32_t numberOfSgprs_; //!< number of SGPRs used by the kernel
|
|
size_t sizeOfStaticGroupMemory_; //!< Static local memory used by the kernel
|
|
};
|
|
|
|
/*! \brief Cache mask for invalidation
|
|
*/
|
|
struct HwDbgGpuCacheMask {
|
|
HwDbgGpuCacheMask() : ui32All_(0) {}
|
|
|
|
HwDbgGpuCacheMask(uint32_t mask) : ui32All_(mask) {}
|
|
|
|
union {
|
|
struct {
|
|
uint32_t sqICache_ : 1; //!< Instruction cache
|
|
uint32_t sqKCache_ : 1; //!< Data cache
|
|
uint32_t tcL1_ : 1; //!< tcL1 cache
|
|
uint32_t tcL2_ : 1; //!< tcL2 cache
|
|
uint32_t reserved_ : 28;
|
|
};
|
|
uint32_t ui32All_;
|
|
};
|
|
};
|
|
|
|
/*! \brief Address watch information
|
|
*
|
|
* Information about each watch point - address, mask, mode and event
|
|
*/
|
|
struct HwDbgAddressWatch {
|
|
void* watchAddress_; //! The address of watch point
|
|
uint64_t watchMask_; //! The mask for watch point (lower 24 bits)
|
|
cl_dbg_address_watch_mode_amd watchMode_; //! The watch mode for this watch
|
|
DebugEvent event_; //! Event of the watch point (not used for now)
|
|
};
|
|
|
|
/*! \brief Runtime structure used to communicate debug information
|
|
* between Ocl services and core for a kernel dispatch.
|
|
*/
|
|
struct DebugToolInfo {
|
|
uint64_t scratchAddress_; //! Scratch memory address
|
|
size_t scratchSize_; //! Scratch memory size
|
|
uint64_t globalAddress_; //! Global memory address
|
|
uint32_t cacheDisableMask_; //! Cache mask, indicating caches disabled
|
|
uint32_t exceptionMask_; //! Exception mask
|
|
uint32_t reservedCuNum_; //! Number of reserved CUs for display,
|
|
//! which ranges from 0 to 7 in the current implementation.
|
|
bool monitorMode_; //! Debug or profiler mode
|
|
bool gpuSingleStepMode_; //! SQ debug mode
|
|
amd::Memory* trapHandler_; //! Trap handler address
|
|
amd::Memory* trapBuffer_; //! Trap buffer address
|
|
bool sqPerfcounterEnable_; //! whether SQ perf counters are enabled
|
|
aclBinary* aclBinary_; //! pointer of the kernel ACL binary
|
|
amd::Event* event_; //! pointer of the kernel event in the enqueue command
|
|
};
|
|
|
|
/*! \brief Message used by the KFD wave control for CI
|
|
*
|
|
* Structure indicates the various information used by the wave control function.
|
|
*/
|
|
struct HwDebugWaveAddr {
|
|
uint32_t VMID_ : 4; //! Virtual memory id
|
|
uint32_t wave_ : 4; //! Wave id
|
|
uint32_t SIMD_ : 2; //! SIMD id
|
|
uint32_t CU_ : 4; //! Compute unit
|
|
uint32_t SH_ : 1; //! Shader array
|
|
uint32_t SE_ : 1; //! Shader engine
|
|
};
|
|
|
|
/*! \brief Kernel code information
|
|
*
|
|
* This structure contains the pointer of mapped kernel code for host access
|
|
* and its size (in bytes)
|
|
*/
|
|
struct AqlCodeInfo {
|
|
amd_kernel_code_t* aqlCode_; //! pointer of AQL code to allow host access
|
|
uint32_t aqlCodeSize_; //! size of AQL code
|
|
};
|
|
|
|
/**@}*/
|
|
|
|
} // namespace pal
|