P4 to Git Change 1056679 by drai@drai_MSDNBGLDEEPALI_laurent_CS on 2014/07/18 05:37:39
ECR #333753 - Added new enum for argument type 'queue_t' and its support in compiler library and runtime
Device Enqueue : MDParser changes for argument type 'queue_t'
Reviewed by : Prakash, Brian, Evgeniy, German
Testing : smoke, smoke_clang, precheckin
Affected files ...
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/gpu/metadata.cpp#5 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclEnums.h#10 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclStructs.h#11 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/AMDILMDInterface.h#55 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/AMDILMDParser.l#59 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/AMDILMDParser.output#22 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/AMDILMDParser.tab.cpp#36 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/AMDILMDParser.tab.hpp#28 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/AMDILMDParser.y#47 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/AMDILMDTypes.cpp#111 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/AMDILMDTypes.h#33 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/lex.yy.cpp#54 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/location.hh#20 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/position.hh#24 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/AMDIL/MDParser/stack.hh#20 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILKernelManager.cpp#19 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILMetadata.hpp#4 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILOpaqueTypes.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILOpaqueTypes.h#6 edit
... //depot/stg/opencl/drivers/opencl/compiler/llvm/lib/Target/HSAIL/HSAILUtilityFunctions.cpp#26 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpukernel.cpp#258 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.cpp#34 edit
[ROCm/clr commit: eb70ad5007]
Этот коммит содержится в:
@@ -258,7 +258,8 @@ typedef enum _acl_arg_type_enum_0_8 {
|
||||
ARG_TYPE_VALUE = 4,
|
||||
ARG_TYPE_POINTER = 5,
|
||||
ARG_TYPE_SEMAPHORE = 6,
|
||||
ARG_TYPE_LAST = 7
|
||||
ARG_TYPE_QUEUE = 7, // enum for device enqueue
|
||||
ARG_TYPE_LAST = 8
|
||||
} aclArgType_0_8;
|
||||
|
||||
// Enumerations of the valid data types for pass by value and
|
||||
|
||||
@@ -66,6 +66,13 @@ typedef struct _acl_md_arg_type_0_8 {
|
||||
bool isRestrict;
|
||||
bool isPipe;
|
||||
} pointer;
|
||||
struct { // Struct for queue arguments
|
||||
unsigned numElements;
|
||||
unsigned cbNum;
|
||||
unsigned cbOffset;
|
||||
aclArgDataType data;
|
||||
aclMemoryType memory;
|
||||
} queue;
|
||||
} arg;
|
||||
aclArgType type;
|
||||
bool isConst;
|
||||
|
||||
@@ -3055,10 +3055,9 @@ GetHSAILArgType(const aclArgData* argInfo)
|
||||
{
|
||||
switch (argInfo->type) {
|
||||
case ARG_TYPE_POINTER:
|
||||
if (argInfo->arg.pointer.memory == PTR_MT_SCRATCH_EMU) {
|
||||
return HSAIL_ARGTYPE_QUEUE;
|
||||
}
|
||||
return HSAIL_ARGTYPE_POINTER;
|
||||
case ARG_TYPE_QUEUE:
|
||||
return HSAIL_ARGTYPE_QUEUE;
|
||||
case ARG_TYPE_VALUE:
|
||||
return HSAIL_ARGTYPE_VALUE;
|
||||
case ARG_TYPE_IMAGE:
|
||||
@@ -3107,6 +3106,9 @@ GetHSAILAddrQual(const aclArgData* argInfo)
|
||||
(argInfo->type == ARG_TYPE_SAMPLER)) {
|
||||
return HSAIL_ADDRESS_GLOBAL;
|
||||
}
|
||||
else if (argInfo->type == ARG_TYPE_QUEUE) {
|
||||
return HSAIL_ADDRESS_GLOBAL;
|
||||
}
|
||||
return HSAIL_ADDRESS_ERROR;
|
||||
}
|
||||
|
||||
@@ -3195,6 +3197,7 @@ GetHSAILArgSize(const aclArgData *argInfo)
|
||||
case ARG_TYPE_POINTER:
|
||||
case ARG_TYPE_IMAGE:
|
||||
case ARG_TYPE_SAMPLER:
|
||||
case ARG_TYPE_QUEUE:
|
||||
return sizeof(void*);
|
||||
default:
|
||||
return -1;
|
||||
@@ -3214,8 +3217,7 @@ GetOclType(const aclArgData* argInfo)
|
||||
};
|
||||
|
||||
uint sizeType;
|
||||
if ((argInfo->type == ARG_TYPE_POINTER) &&
|
||||
(argInfo->arg.pointer.memory == PTR_MT_SCRATCH_EMU)) {
|
||||
if (argInfo->type == ARG_TYPE_QUEUE) {
|
||||
return T_QUEUE;
|
||||
}
|
||||
if ((argInfo->type == ARG_TYPE_POINTER) || (argInfo->type == ARG_TYPE_IMAGE)) {
|
||||
|
||||
Ссылка в новой задаче
Block a user