P4 to Git Change 1182078 by yaxunl@yaxunl_stg_win50 on 2015/08/19 07:12:32

ECR #354633 - SPIR-V: Add consumption of SPIR-V to HSAIL path.

Affected files ...

... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/build/Makefile.api#120 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/amdocl/cl_program.cpp#36 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/icd/OpenCL.def.in#11 edit
... //depot/stg/opencl/drivers/opencl/api/opencl/khronos/icd/icd_exports.map.in#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/Makefile#35 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/api/v0_8/acl.cpp#34 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/api/v0_8/aclValidation.cpp#6 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/backends/common/v0_8/if_acl.cpp#73 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/build/Makefile.complib#90 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/acl.h#10 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclEnums.h#21 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/include/v0_8/aclTypes.h#7 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/loaders/bif/bifinternal.hpp#11 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/spirv/Makefile#1 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/spirv/build/Makefile#1 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/spirv/build/Makefile.spirv#1 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/spirv/spirvUtils.cpp#1 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/spirv/spirvUtils.h#1 add
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/options.hpp#16 edit
... //depot/stg/opencl/drivers/opencl/compiler/lib/utils/v0_8/libUtils.h#22 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.cpp#182 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/device.hpp#250 edit
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpuprogram.cpp#200 edit
... //depot/stg/opencl/drivers/opencl/runtime/platform/program.cpp#64 edit
... //depot/stg/opencl/drivers/opencl/tests/conformance/devel/2.0/test_conformance/spirv/select.zip#1 add
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.cpp#46 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/CLEnumCheck.h#4 edit
... //depot/stg/opencl/drivers/opencl/tests/ocltst/module/complib/aclAPI.cpp#20 edit
此提交包含在:
foreman
2015-08-19 07:28:56 -04:00
父節點 bd71fc8775
當前提交 773ffef7d2
共有 12 個檔案被更改,包括 170 行新增52 行删除
+13 -1
查看文件
@@ -1840,6 +1840,16 @@ HSAILProgram::getCompilationStagesFromBinary(std::vector<aclType>& completeStage
size_t boolSize = sizeof(bool);
//! @todo Should we also check for ACL_TYPE_OPENCL & ACL_TYPE_LLVMIR_TEXT?
// Checking llvmir in .llvmir section
bool containsSpirv = true;
errorCode = aclQueryInfo(dev().hsaCompiler(), binaryElf_,
RT_CONTAINS_SPIRV, NULL, &containsSpirv, &boolSize);
if (errorCode != ACL_SUCCESS) {
containsSpirv = false;
}
if (containsSpirv) {
completeStages.push_back(from);
from = ACL_TYPE_SPIRV_BINARY;
}
bool containsSpirText = true;
errorCode = aclQueryInfo(dev().hsaCompiler(), binaryElf_, RT_CONTAINS_SPIR, NULL, &containsSpirText, &boolSize);
if (errorCode != ACL_SUCCESS) {
@@ -1998,7 +2008,8 @@ HSAILProgram::getNextCompilationStageFromBinary(amd::option::Options* options) {
if (recompile) {
while (!completeStages.empty()) {
continueCompileFrom = completeStages.back();
if (continueCompileFrom == ACL_TYPE_LLVMIR_BINARY ||
if (continueCompileFrom == ACL_TYPE_SPIRV_BINARY ||
continueCompileFrom == ACL_TYPE_LLVMIR_BINARY ||
continueCompileFrom == ACL_TYPE_SPIR_BINARY ||
continueCompileFrom == ACL_TYPE_DEFAULT) {
break;
@@ -2032,6 +2043,7 @@ HSAILProgram::linkImpl(amd::option::Options* options)
continueCompileFrom = getNextCompilationStageFromBinary(options);
}
switch (continueCompileFrom) {
case ACL_TYPE_SPIRV_BINARY:
case ACL_TYPE_SPIR_BINARY:
// Compilation from ACL_TYPE_LLVMIR_BINARY to ACL_TYPE_CG in cases:
// 1. if the program is not created with binary;