From 44757a9d79aa004f1460a573e3360eaaaf758f1b Mon Sep 17 00:00:00 2001
From: foreman
Date: Thu, 30 Oct 2014 15:37:59 -0400
Subject: [PATCH] P4 to Git Change 1092347 by bsumner@bsumner-lin-opencl on
2014/10/30 15:32:01
ECR #304775 - add flag to force CL_FP_DENORM on gpu
Affected files ...
... //depot/stg/opencl/drivers/opencl/runtime/device/gpu/gpudevice.cpp#475 edit
... //depot/stg/opencl/drivers/opencl/runtime/utils/flags.hpp#216 edit
[ROCm/clr commit: f229d44faf27f72f1ffa02b850399c6ecd12a214]
---
projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp | 4 ++++
projects/clr/rocclr/runtime/utils/flags.hpp | 2 ++
2 files changed, 6 insertions(+)
diff --git a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp
index 859bf975c1..473b217508 100644
--- a/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp
+++ b/projects/clr/rocclr/runtime/device/gpu/gpudevice.cpp
@@ -486,6 +486,10 @@ void Device::fillDeviceInfo(
info_.singleFPConfig_ = CL_FP_ROUND_TO_NEAREST | CL_FP_ROUND_TO_ZERO
| CL_FP_ROUND_TO_INF | CL_FP_INF_NAN | CL_FP_FMA;
+ if (GPU_FORCE_SINGLE_FP_DENORM) {
+ info_.singleFPConfig_ |= CL_FP_DENORM;
+ }
+
if (settings().checkExtension(ClKhrFp64)) {
info_.doubleFPConfig_ = info_.singleFPConfig_ | CL_FP_DENORM;
}
diff --git a/projects/clr/rocclr/runtime/utils/flags.hpp b/projects/clr/rocclr/runtime/utils/flags.hpp
index 5407d48aa0..d75b189e21 100644
--- a/projects/clr/rocclr/runtime/utils/flags.hpp
+++ b/projects/clr/rocclr/runtime/utils/flags.hpp
@@ -170,6 +170,8 @@ release(bool, GPU_IFH_MODE, false, \
"1 = Enable GPU IFH (infinitely fast hardware) mode. Any other value keeps setting disabled.") \
release(bool, HSAIL_IMAGE_HANDLE_ENABLE, false, \
"Pass image/sampler SRD as pointer instead of blob") \
+debug(bool, GPU_FORCE_SINGLE_FP_DENORM, false, \
+ "Forces reporting CL_FP_DENORM bit for single precision") \
namespace amd {