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:
foreman
2018-12-03 14:54:31 -05:00
padre cb8f46186c
commit 5b7a2bc281
+10 -6
Ver fichero
@@ -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()