P4 to Git Change 1715227 by wchau@wchau_OCL_boltzmann on 2018/12/03 14:41:05
SWDEV-79445 - OCL generic changes and code clean-up - Modify CMakeLists.txt to switch to different library interface to match the COMgr requirement Affected files ... ... //depot/stg/opencl/drivers/opencl/runtime/device/rocm/CMakeLists.txt#16 edit
Este commit está contenido en:
@@ -45,25 +45,29 @@ foreach(AMDGCN_LIB_TARGET ${AMDGCN_LIB_TARGETS})
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libraries.amdgcn.inc "#include \"${header}\"\n")
|
||||
endforeach()
|
||||
|
||||
# Generate function to select libraries for a given GFXIP number.
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libraries.amdgcn.inc
|
||||
"static inline std::pair<const void*, size_t>\nget_oclc_isa_version(uint gfxip)\n{\nswitch (gfxip) {\n")
|
||||
"static inline std::tuple<const char*, const void*, size_t> get_oclc_isa_version(uint gfxip) { \
|
||||
switch (gfxip) {\n")
|
||||
foreach(AMDGCN_LIB_TARGET ${AMDGCN_LIB_TARGETS})
|
||||
if (${AMDGCN_LIB_TARGET} MATCHES "^oclc_isa_version_[0-9]+_lib$")
|
||||
string(REGEX REPLACE "^oclc_isa_version_([0-9]+)_lib$" "\\1" gfxip ${AMDGCN_LIB_TARGET})
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libraries.amdgcn.inc
|
||||
"case ${gfxip}: return {oclc_isa_version_${gfxip}_amdgcn, oclc_isa_version_${gfxip}_amdgcn_size}; break;\n")
|
||||
"case ${gfxip}: return std::make_tuple( \"oclc_isa_version_${gfxip}_amdgcn.bc\","
|
||||
" oclc_isa_version_${gfxip}_amdgcn, oclc_isa_version_${gfxip}_amdgcn_size); break;\n")
|
||||
endif()
|
||||
endforeach()
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libraries.amdgcn.inc
|
||||
"default: return {(const void*)0,(size_t)0};\n}\n}\n")
|
||||
"default: return std::make_tuple(\"\",(const void*)0,(size_t)0); }\n}\n")
|
||||
|
||||
foreach(AMDGCN_LIB_TARGET ${AMDGCN_LIB_TARGETS})
|
||||
if (${AMDGCN_LIB_TARGET} MATCHES "oclc_(.*)_on_lib")
|
||||
string(REGEX REPLACE "oclc_(.*)_on_lib" "\\1" function ${AMDGCN_LIB_TARGET})
|
||||
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/libraries.amdgcn.inc
|
||||
"static inline std::pair<const char*, size_t> get_oclc_${function}(bool on)\n{ return {"
|
||||
"(const char*)(on ? oclc_${function}_on_amdgcn : oclc_${function}_off_amdgcn),"
|
||||
"on ? oclc_${function}_on_amdgcn_size : oclc_${function}_off_amdgcn_size};}\n")
|
||||
"static inline std::tuple<const char*,const void*,size_t> get_oclc_${function}(bool on)"
|
||||
" { return std::make_tuple( on ? \"oclc_${function}_on_lib.bc\" : \"oclc_${function}_off_lib.bc\","
|
||||
" (const void*)(on ? oclc_${function}_on_amdgcn : oclc_${function}_off_amdgcn),"
|
||||
" on ? oclc_${function}_on_amdgcn_size : oclc_${function}_off_amdgcn_size); }\n")
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
|
||||
Referencia en una nueva incidencia
Block a user