Skip to content

Commit d94b853

Browse files
Separate HW commands from class declaration and interface
Change-Id: Ia49098171f4b7814c42a35686354713a322c9df7
1 parent 1d36206 commit d94b853

File tree

4 files changed

+16
-7
lines changed

4 files changed

+16
-7
lines changed

runtime/command_queue/gpgpu_walker.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@
4040

4141
namespace OCLRT {
4242

43+
using WALKER_HANDLE = void *;
44+
4345
constexpr int32_t NUM_ALU_INST_FOR_READ_MODIFY_WRITE = 4;
4446

4547
constexpr int32_t L3SQC_BIT_LQSC_RO_PERF_DIS = 0x08000000;
@@ -135,7 +137,7 @@ class GpgpuWalkerHelper {
135137
static size_t getSizeForWADisableLSQCROPERFforOCL(const Kernel *pKernel);
136138

137139
static size_t setGpgpuWalkerThreadData(
138-
typename GfxFamily::GPGPU_WALKER *pCmd,
140+
WALKER_HANDLE pCmdData,
139141
const size_t globalOffsets[3],
140142
const size_t startWorkGroups[3],
141143
const size_t numWorkGroups[3],

runtime/command_queue/gpgpu_walker.inl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,14 @@ void GpgpuWalkerHelper<GfxFamily>::addAluReadModifyWriteRegister(
116116

117117
template <typename GfxFamily>
118118
inline size_t GpgpuWalkerHelper<GfxFamily>::setGpgpuWalkerThreadData(
119-
typename GfxFamily::GPGPU_WALKER *pCmd,
119+
WALKER_HANDLE pCmdData,
120120
const size_t globalOffsets[3],
121121
const size_t startWorkGroups[3],
122122
const size_t numWorkGroups[3],
123123
const size_t localWorkSizesIn[3],
124124
uint32_t simd) {
125-
typedef typename GfxFamily::GPGPU_WALKER GPGPU_WALKER;
125+
using GPGPU_WALKER = typename GfxFamily::GPGPU_WALKER;
126+
GPGPU_WALKER *pCmd = static_cast<GPGPU_WALKER *>(pCmdData);
126127

127128
auto localWorkSize = localWorkSizesIn[0] * localWorkSizesIn[1] * localWorkSizesIn[2];
128129

runtime/device_queue/device_queue_hw.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,7 @@ namespace OCLRT {
3434
template <typename GfxFamily>
3535
class DeviceQueueHw : public DeviceQueue {
3636
using BaseClass = DeviceQueue;
37-
using MEDIA_STATE_FLUSH = typename GfxFamily::MEDIA_STATE_FLUSH;
38-
using MEDIA_INTERFACE_DESCRIPTOR_LOAD = typename GfxFamily::MEDIA_INTERFACE_DESCRIPTOR_LOAD;
3937
using PIPE_CONTROL = typename GfxFamily::PIPE_CONTROL;
40-
using GPGPU_WALKER = typename GfxFamily::GPGPU_WALKER;
4138
using MI_BATCH_BUFFER_START = typename GfxFamily::MI_BATCH_BUFFER_START;
4239
using MI_BATCH_BUFFER_END = typename GfxFamily::MI_BATCH_BUFFER_END;
4340
using INTERFACE_DESCRIPTOR_DATA = typename GfxFamily::INTERFACE_DESCRIPTOR_DATA;
@@ -48,7 +45,6 @@ class DeviceQueueHw : public DeviceQueue {
4845
using MI_LOAD_REGISTER_IMM = typename GfxFamily::MI_LOAD_REGISTER_IMM;
4946
using MI_MATH = typename GfxFamily::MI_MATH;
5047
using MI_MATH_ALU_INST_INLINE = typename GfxFamily::MI_MATH_ALU_INST_INLINE;
51-
using MEDIA_VFE_STATE = typename GfxFamily::MEDIA_VFE_STATE;
5248

5349
public:
5450
DeviceQueueHw(Context *context,

runtime/device_queue/device_queue_hw.inl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,10 @@ void DeviceQueueHw<GfxFamily>::resetDeviceQueue() {
103103

104104
template <typename GfxFamily>
105105
size_t DeviceQueueHw<GfxFamily>::getMinimumSlbSize() {
106+
using MEDIA_STATE_FLUSH = typename GfxFamily::MEDIA_STATE_FLUSH;
107+
using MEDIA_INTERFACE_DESCRIPTOR_LOAD = typename GfxFamily::MEDIA_INTERFACE_DESCRIPTOR_LOAD;
108+
using GPGPU_WALKER = typename GfxFamily::GPGPU_WALKER;
109+
106110
return sizeof(MEDIA_STATE_FLUSH) +
107111
sizeof(MEDIA_INTERFACE_DESCRIPTOR_LOAD) +
108112
sizeof(PIPE_CONTROL) +
@@ -124,6 +128,10 @@ void DeviceQueueHw<GfxFamily>::initPipeControl(PIPE_CONTROL *pc) {
124128

125129
template <typename GfxFamily>
126130
void DeviceQueueHw<GfxFamily>::buildSlbDummyCommands() {
131+
using MEDIA_STATE_FLUSH = typename GfxFamily::MEDIA_STATE_FLUSH;
132+
using MEDIA_INTERFACE_DESCRIPTOR_LOAD = typename GfxFamily::MEDIA_INTERFACE_DESCRIPTOR_LOAD;
133+
using GPGPU_WALKER = typename GfxFamily::GPGPU_WALKER;
134+
127135
auto igilCmdQueue = reinterpret_cast<IGIL_CommandQueue *>(queueBuffer->getUnderlyingBuffer());
128136
auto slbEndOffset = igilCmdQueue->m_controls.m_SLBENDoffsetInBytes;
129137
size_t commandsSize = getMinimumSlbSize() + getWaCommandsSize();
@@ -291,6 +299,7 @@ IndirectHeap *DeviceQueueHw<GfxFamily>::getIndirectHeap(IndirectHeap::Type type)
291299

292300
template <typename GfxFamily>
293301
void DeviceQueueHw<GfxFamily>::setupIndirectState(IndirectHeap &surfaceStateHeap, IndirectHeap &dynamicStateHeap, Kernel *parentKernel, uint32_t parentIDCount) {
302+
using GPGPU_WALKER = typename GfxFamily::GPGPU_WALKER;
294303
void *pDSH = dynamicStateHeap.getCpuBase();
295304

296305
// Set scheduler ID to last entry in first table, it will have ID == 0, blocks will have following entries.
@@ -426,6 +435,7 @@ void DeviceQueueHw<GfxFamily>::addMediaStateClearCmds() {
426435

427436
template <typename GfxFamily>
428437
size_t DeviceQueueHw<GfxFamily>::getMediaStateClearCmdsSize() {
438+
using MEDIA_VFE_STATE = typename GfxFamily::MEDIA_VFE_STATE;
429439
// PC with GenreicMediaStateClear + WA PC
430440
size_t size = 2 * sizeof(PIPE_CONTROL);
431441

0 commit comments

Comments
 (0)