Skip to content

Commit 363997d

Browse files
committed
performance: align structures for 64-bit platforms
- _tagCLGLBufferInfo 56 -> 48 bytes - InlineSamplerBaseT 16 -> 12 bytes - CsrSelectionArgs 88 -> 80 bytes - EngineInfo 64 -> 48 bytes - FragmentStorage 48 -> 40 bytes - SvmFreeUserData 40 -> 32 bytes - PayloadArgumentBaseT 40 -> 36 bytes - ImageDescriptor 72 -> 64 bytes - PerThreadMemoryBufferBaseT 16 -> 12 bytes - CopyEngineState 24 -> 16 bytes - BatchBuffer 120 -> 112 bytes - DebugMetadata 32 -> 24 bytes - ImmediateFlushData 48 -> 40 bytes
1 parent c5d541d commit 363997d

File tree

17 files changed

+44
-43
lines changed

17 files changed

+44
-43
lines changed

opencl/extensions/public/cl_gl_private_intel_structures.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,15 +48,15 @@ typedef struct _tagGLCLResourceInfo {
4848
} GL_CL_RESOURCE_INFO, *PGL_CL_RESOURCE_INFO;
4949

5050
typedef struct _tagCLGLBufferInfo {
51-
GLenum bufferName;
52-
unsigned int globalShareHandle;
5351
GMM_RESOURCE_INFO *pGmmResInfo; /// Pointer to GMMResInfo from GL that will be copied in CL (GL)
5452
GLvoid *pSysMem;
53+
GLvoid *pReleaseData;
54+
GLenum bufferName;
55+
unsigned int globalShareHandle;
5556
GLint bufferSize;
5657
GLint bufferOffset;
57-
GLboolean oglSynchronized;
5858
GMM_STATUS status;
59-
GLvoid *pReleaseData;
59+
GLboolean oglSynchronized;
6060
GLboolean createOrDestroy;
6161
} CL_GL_BUFFER_INFO, *PCL_GL_BUFFER_INFO;
6262

opencl/source/command_queue/copy_engine_state.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@
1313

1414
namespace NEO {
1515
struct CopyEngineState {
16-
aub_stream::EngineType engineType = aub_stream::EngineType::NUM_ENGINES;
1716
TaskCountType taskCount = 0;
17+
aub_stream::EngineType engineType = aub_stream::EngineType::NUM_ENGINES;
1818
bool csrClientRegistered = false;
1919

2020
bool isValid() const {

opencl/source/command_queue/csr_selection_args.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,21 @@ struct CsrSelectionArgs {
2424
const size_t *imageOrigin = nullptr;
2525
};
2626

27-
cl_command_type cmdType;
28-
const size_t *size = nullptr;
2927
Resource srcResource;
3028
Resource dstResource;
29+
const size_t *size = nullptr;
30+
cl_command_type cmdType;
3131
TransferDirection direction;
3232

3333
CsrSelectionArgs(cl_command_type cmdType, const size_t *size)
34-
: cmdType(cmdType),
35-
size(size),
34+
: size(size),
35+
cmdType(cmdType),
3636
direction(TransferDirection::hostToHost) {}
3737

3838
template <typename ResourceType>
3939
CsrSelectionArgs(cl_command_type cmdType, ResourceType *src, ResourceType *dst, uint32_t rootDeviceIndex, const size_t *size)
40-
: cmdType(cmdType),
41-
size(size) {
40+
: size(size),
41+
cmdType(cmdType) {
4242
if (src) {
4343
processResource(*src, rootDeviceIndex, this->srcResource);
4444
}

opencl/source/command_queue/enqueue_svm.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,20 +25,20 @@ using SvmFreeClbT = void(CL_CALLBACK *)(cl_command_queue queue,
2525
void *userData);
2626

2727
struct SvmFreeUserData {
28-
cl_uint numSvmPointers;
2928
void **svmPointers;
3029
SvmFreeClbT clb;
3130
void *userData;
31+
cl_uint numSvmPointers;
3232
bool ownsEventDeletion;
3333

3434
SvmFreeUserData(cl_uint numSvmPointers,
3535
void **svmPointers, SvmFreeClbT clb,
3636
void *userData,
3737
bool ownsEventDeletion)
38-
: numSvmPointers(numSvmPointers),
39-
svmPointers(svmPointers),
38+
: svmPointers(svmPointers),
4039
clb(clb),
4140
userData(userData),
41+
numSvmPointers(numSvmPointers),
4242
ownsEventDeletion(ownsEventDeletion){};
4343
};
4444

opencl/test/unit_test/command_queue/blit_enqueue_1_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1251,7 +1251,7 @@ HWTEST_TEMPLATED_F(BlitEnqueueTaskCountTests, whenWaitUntilCompletionCalledThenW
12511251
uint32_t gpgpuTaskCount = 123;
12521252
uint32_t bcsTaskCount = 123;
12531253

1254-
CopyEngineState bcsState{bcsCsr->getOsContext().getEngineType(), bcsTaskCount};
1254+
CopyEngineState bcsState{bcsTaskCount, bcsCsr->getOsContext().getEngineType()};
12551255
commandQueue->waitUntilComplete(gpgpuTaskCount, Range{&bcsState}, 0, false);
12561256

12571257
EXPECT_EQ(gpgpuTaskCount, static_cast<UltCommandStreamReceiver<FamilyType> *>(gpgpuCsr)->latestWaitForCompletionWithTimeoutTaskCount.load());

opencl/test/unit_test/command_queue/command_queue_hw_1_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ HWTEST_F(CommandQueueHwTest, whenCallingIsCompletedThenTestTaskCountValue) {
5555
bcsCsr->setupContext(*osContext);
5656
bcsCsr->initializeTagAllocation();
5757
EngineControl control(bcsCsr.get(), osContext.get());
58-
CopyEngineState state{aub_stream::EngineType::ENGINE_BCS, 1, false};
58+
CopyEngineState state{1, aub_stream::EngineType::ENGINE_BCS, false};
5959

6060
MockCommandQueueHw<FamilyType> cmdQ(context, pClDevice, nullptr);
6161

opencl/test/unit_test/command_stream/cl_tbx_command_stream_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ HWTEST_F(ClTbxCommandStreamTests, givenTbxCsrWhenDispatchBlitEnqueueThenProcessC
4747
cmdQ.clearBcsEngines();
4848
cmdQ.bcsEngines[0] = &engineControl1;
4949

50-
cmdQ.bcsStates[0] = {aub_stream::ENGINE_BCS, 0, false};
50+
cmdQ.bcsStates[0] = {0, aub_stream::ENGINE_BCS, false};
5151

5252
cl_int error = CL_SUCCESS;
5353
std::unique_ptr<Buffer> buffer(Buffer::create(&context, 0, 1, nullptr, error));

opencl/test/unit_test/mem_obj/buffer_bcs_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,7 @@ HWTEST_TEMPLATED_F(BcsBufferTests, givenAllBcsEnginesReadyWhenWaitingForEventThe
619619
ultCsr2.initializeTagAllocation();
620620
ultCsr2.setupContext(osContext);
621621

622-
CopyEngineState copyEngineState = {aub_stream::EngineType::ENGINE_BCS2, 2, false};
622+
CopyEngineState copyEngineState = {2, aub_stream::EngineType::ENGINE_BCS2, false};
623623
EngineControl engineControl = {&ultCsr2, &osContext};
624624
auto bcs2Index = EngineHelpers::getBcsIndex(aub_stream::EngineType::ENGINE_BCS2);
625625
mockCmdQ->bcsStates[bcs2Index] = copyEngineState;

opencl/test/unit_test/mem_obj/image_tests.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1559,7 +1559,7 @@ TEST(ImageConvertDescriptorTest, givenClImageDescWhenConvertedThenCorrectImageDe
15591559
}
15601560

15611561
TEST(ImageConvertDescriptorTest, givenImageDescriptorWhenConvertedThenCorrectClImageDescIsReturned) {
1562-
ImageDescriptor desc = {ImageType::image2D, 16, 24, 1, 1, 1024, 2048, 1, 3, false};
1562+
ImageDescriptor desc = {16, 24, 1, 1, 1024, 2048, ImageType::image2D, 1, 3, false};
15631563
auto clDesc = Image::convertDescriptor(desc);
15641564

15651565
EXPECT_EQ(clDesc.image_type, static_cast<cl_mem_object_type>(CL_MEM_OBJECT_IMAGE2D));

shared/source/command_stream/command_stream_receiver_hw.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@ class CommandStreamReceiverHw : public CommandStreamReceiver {
2525
using STATE_BASE_ADDRESS = typename GfxFamily::STATE_BASE_ADDRESS;
2626

2727
struct ImmediateFlushData {
28-
PipelineSelectArgs pipelineSelectArgs{};
29-
size_t estimatedSize = 0;
3028
void *endPtr = nullptr;
29+
size_t estimatedSize = 0;
3130
size_t csrStartOffset = 0;
31+
PipelineSelectArgs pipelineSelectArgs{};
3232

3333
bool pipelineSelectFullConfigurationNeeded = false;
3434
bool pipelineSelectDirty = false;

0 commit comments

Comments
 (0)