diff --git a/projects/clr/CMakeLists.txt b/projects/clr/CMakeLists.txt index 593c8bc036..1d9c4fd6be 100644 --- a/projects/clr/CMakeLists.txt +++ b/projects/clr/CMakeLists.txt @@ -24,7 +24,8 @@ project(clr) ########## # Defaults ########## -if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" + OR CMAKE_CXX_COMPILER_FRONTEND_VARIANT STREQUAL "MSVC") add_compile_options("/wd4267" "/wd4244" "/wd4996") string(REPLACE "/GR" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) string(REPLACE "/W3" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) @@ -32,6 +33,11 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") add_compile_options(/MTd) add_compile_options(-D_ALLOW_ITERATOR_DEBUG_LEVEL_MISMATCH) endif() + if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") + # Unlike when targeting MSFT's MSVC, when targeting clang-cl, + # CMake does not add these automatically. Add them ourselves. + add_compile_options("/DWIN32" "/D_WINDOWS" "/EHsc") + endif() endif() if (AMD_COMPUTE_WIN) diff --git a/projects/clr/hipamd/src/hip_table_interface.cpp b/projects/clr/hipamd/src/hip_table_interface.cpp index 3287107b90..2dc25f60ec 100644 --- a/projects/clr/hipamd/src/hip_table_interface.cpp +++ b/projects/clr/hipamd/src/hip_table_interface.cpp @@ -1961,4 +1961,53 @@ hipError_t hipMemcpy3DPeer(hipMemcpy3DPeerParms* p) { } hipError_t hipMemcpy3DPeerAsync(hipMemcpy3DPeerParms* p, hipStream_t stream) { return hip::GetHipDispatchTable()->hipMemcpy3DPeerAsync_fn(p, stream); +} +hipError_t hipDeviceGetTexture1DLinearMaxWidth(size_t* maxWidthInElements, + const hipChannelFormatDesc* fmtDesc, int device) { + return hip::GetHipDispatchTable()->hipDeviceGetTexture1DLinearMaxWidth_fn(maxWidthInElements, + fmtDesc, device); +} +hipError_t hipGraphAddExternalSemaphoresSignalNode( + hipGraphNode_t* pGraphNode, hipGraph_t graph, const hipGraphNode_t* pDependencies, + size_t numDependencies, const hipExternalSemaphoreSignalNodeParams* nodeParams) { + return hip::GetHipDispatchTable()->hipGraphAddExternalSemaphoresSignalNode_fn( + pGraphNode, graph, pDependencies, numDependencies, nodeParams); +} +hipError_t hipGraphAddExternalSemaphoresWaitNode( + hipGraphNode_t* pGraphNode, hipGraph_t graph, const hipGraphNode_t* pDependencies, + size_t numDependencies, const hipExternalSemaphoreWaitNodeParams* nodeParams) { + return hip::GetHipDispatchTable()->hipGraphAddExternalSemaphoresWaitNode_fn( + pGraphNode, graph, pDependencies, numDependencies, nodeParams); +} +hipError_t hipGraphExternalSemaphoresSignalNodeSetParams( + hipGraphNode_t hNode, const hipExternalSemaphoreSignalNodeParams* nodeParams) { + return hip::GetHipDispatchTable()->hipGraphExternalSemaphoresSignalNodeSetParams_fn(hNode, + nodeParams); +} +hipError_t hipGraphExternalSemaphoresSignalNodeGetParams( + hipGraphNode_t hNode, hipExternalSemaphoreSignalNodeParams* params_out) { + return hip::GetHipDispatchTable()->hipGraphExternalSemaphoresSignalNodeGetParams_fn(hNode, + params_out); +} +hipError_t hipGraphExternalSemaphoresWaitNodeGetParams( + hipGraphNode_t hNode, hipExternalSemaphoreWaitNodeParams* params_out) { + return hip::GetHipDispatchTable()->hipGraphExternalSemaphoresWaitNodeGetParams_fn(hNode, + params_out); +} +hipError_t hipGraphExternalSemaphoresWaitNodeSetParams( + hipGraphNode_t hNode, const hipExternalSemaphoreWaitNodeParams* nodeParams) { + return hip::GetHipDispatchTable()->hipGraphExternalSemaphoresWaitNodeSetParams_fn(hNode, + nodeParams); +} +hipError_t hipGraphExecExternalSemaphoresSignalNodeSetParams( + hipGraphExec_t hGraphExec, hipGraphNode_t hNode, + const hipExternalSemaphoreSignalNodeParams* nodeParams) { + return hip::GetHipDispatchTable()->hipGraphExecExternalSemaphoresSignalNodeSetParams_fn( + hGraphExec, hNode, nodeParams); +} +hipError_t hipGraphExecExternalSemaphoresWaitNodeSetParams( + hipGraphExec_t hGraphExec, hipGraphNode_t hNode, + const hipExternalSemaphoreWaitNodeParams* nodeParams) { + return hip::GetHipDispatchTable()->hipGraphExecExternalSemaphoresWaitNodeSetParams_fn( + hGraphExec, hNode, nodeParams); } \ No newline at end of file