diff --git a/projects/rocjpeg/CMakeLists.txt b/projects/rocjpeg/CMakeLists.txt index 04d721023b..ed614aaad9 100644 --- a/projects/rocjpeg/CMakeLists.txt +++ b/projects/rocjpeg/CMakeLists.txt @@ -96,17 +96,31 @@ else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -DNDEBUG -fPIC") endif() message("-- ${BoldBlue}rocJPEG Build Type -- ${CMAKE_BUILD_TYPE}${ColourReset}") -set(DEFAULT_AMDGPU_TARGETS "gfx908;gfx90a;gfx940;gfx941;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102;gfx1200;gfx1201") -# Set AMDGPU_TARGETS -if(DEFINED ENV{AMDGPU_TARGETS}) - set(AMDGPU_TARGETS $ENV{AMDGPU_TARGETS} CACHE STRING "List of specific machine types for library to target") -elseif(AMDGPU_TARGETS) - message("-- ${White}${PROJECT_NAME} -- AMDGPU_TARGETS set with -D option${ColourReset}") -else() - set(AMDGPU_TARGETS "${DEFAULT_AMDGPU_TARGETS}" CACHE STRING "List of specific machine types for library to target") +# Set supported GPU Targets +set(DEFAULT_GPU_TARGETS "gfx908;gfx90a;gfx942;gfx1030;gfx1031;gfx1032;gfx1100;gfx1101;gfx1102") +if (BUILD_WITH_AMD_ADVANCE) + set(DEFAULT_GPU_TARGETS ${DEFAULT_GPU_TARGETS} "gfx1200;gfx1201") endif() -message("-- ${White}${PROJECT_NAME} -- AMDGPU_TARGETS: ${AMDGPU_TARGETS}${ColourReset}") + +# Set AMD GPU_TARGETS +if((AMDGPU_TARGETS OR DEFINED ENV{AMDGPU_TARGETS}) AND (NOT GPU_TARGETS)) + message("-- ${Red}${PROJECT_NAME} DEPRECATION -- AMDGPU_TARGETS use is deprecated. Use GPU_TARGETS${ColourReset}") + if(DEFINED ENV{AMDGPU_TARGETS}) + set(GPU_TARGETS $ENV{AMDGPU_TARGETS} CACHE STRING "List of specific machine types for library to target") + else() + set(GPU_TARGETS ${AMDGPU_TARGETS}) + endif() +endif() + +if(DEFINED ENV{GPU_ARCHS}) + set(GPU_TARGETS $ENV{GPU_ARCHS} CACHE STRING "List of specific machine types for library to target") +elseif(GPU_TARGETS) + message("-- ${White}${PROJECT_NAME} -- GPU_TARGETS set with -D option${ColourReset}") +else() + set(GPU_TARGETS "${DEFAULT_GPU_TARGETS}" CACHE STRING "List of specific machine types for library to target") +endif() +message("-- ${White}${PROJECT_NAME} -- AMD GPU_TARGETS: ${GPU_TARGETS}${ColourReset}") find_package(HIP QUIET) find_package(Libva QUIET) diff --git a/projects/rocjpeg/docs/reference/rocjpeg-formats-and-architectures.rst b/projects/rocjpeg/docs/reference/rocjpeg-formats-and-architectures.rst index fe4bdff863..3a3eb81970 100644 --- a/projects/rocjpeg/docs/reference/rocjpeg-formats-and-architectures.rst +++ b/projects/rocjpeg/docs/reference/rocjpeg-formats-and-architectures.rst @@ -22,7 +22,7 @@ architecture: "gfx908 - MI1xx", "VCN 2.5.0", "2", "4096, 4096" "gfx90a - MI2xx", "VCN 2.6.0", "4", "4096, 4096" - "gfx940, gfx942 - MI300A", "VCN 3.0", "24", "16384, 16384" - "gfx941, gfx942 - MI300X", "VCN 3.0", "32", "16384, 16384" + "gfx942 - MI300A", "VCN 3.0", "24", "16384, 16384" + "gfx942 - MI300X", "VCN 3.0", "32", "16384, 16384" "gfx1030, gfx1031, gfx1032 - Navi2x", "VCN 3.x", "1", "16384, 16384" "gfx1100, gfx1101, gfx1102 - Navi3x", "VCN 4.0", "1", "16384, 16384" \ No newline at end of file diff --git a/projects/rocjpeg/src/rocjpeg_vaapi_decoder.cpp b/projects/rocjpeg/src/rocjpeg_vaapi_decoder.cpp index d9d07f9f1b..a8c7c9d2f0 100644 --- a/projects/rocjpeg/src/rocjpeg_vaapi_decoder.cpp +++ b/projects/rocjpeg/src/rocjpeg_vaapi_decoder.cpp @@ -293,8 +293,6 @@ RocJpegVappiDecoder::RocJpegVappiDecoder(int device_id) : device_id_{device_id}, va_slice_param_buf_id_{0}, va_slice_data_buf_id_{0} { vcn_jpeg_spec_ = {{"gfx908", {2, false, false}}, {"gfx90a", {2, false, false}}, - {"gfx940", {24, true, true}}, - {"gfx941", {32, true, true}}, {"gfx942_mi300a", {24, true, true}}, {"gfx942_mi300x", {32, true, true}}, {"gfx1030", {1, false, false}}, @@ -384,9 +382,7 @@ RocJpegStatus RocJpegVappiDecoder::InitializeDecoder(std::string device_name, st GetVisibleDevices(visible_devices); int offset = 0; - if (gcn_arch_name_base.compare("gfx940") == 0 || - gcn_arch_name_base.compare("gfx941") == 0 || - gcn_arch_name_base.compare("gfx942") == 0) { + if (gcn_arch_name_base.compare("gfx942") == 0) { std::vector current_compute_partitions; GetCurrentComputePartition(current_compute_partitions); if (current_compute_partitions.empty()) {