Mesa (master): swr: [rasterizer core] allow hexadecimal for integer knobs

Tim Rowley torowley at kemper.freedesktop.org
Thu Aug 4 19:57:12 UTC 2016


Module: Mesa
Branch: master
Commit: f01827a469fa34f0ffb65e2e1401c4e362b0c5f4
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f01827a469fa34f0ffb65e2e1401c4e362b0c5f4

Author: Tim Rowley <timothy.o.rowley at intel.com>
Date:   Tue Jul 19 12:51:46 2016 -0600

swr: [rasterizer core] allow hexadecimal for integer knobs

Signed-off-by: Tim Rowley <timothy.o.rowley at intel.com>

---

 src/gallium/drivers/swr/rasterizer/core/knobs_init.h | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/swr/rasterizer/core/knobs_init.h b/src/gallium/drivers/swr/rasterizer/core/knobs_init.h
index adf738c..ba2df22 100644
--- a/src/gallium/drivers/swr/rasterizer/core/knobs_init.h
+++ b/src/gallium/drivers/swr/rasterizer/core/knobs_init.h
@@ -38,7 +38,9 @@ template <typename T>
 static inline void ConvertEnvToKnob(const char* pOverride, T& knobValue)
 {
     uint32_t value = 0;
-    if (sscanf(pOverride, "%u", &value))
+    char* pStopped = nullptr;
+    value = strtoul(pOverride, &pStopped, 0);
+    if (pStopped != pOverride)
     {
         knobValue = static_cast<T>(value);
     }
@@ -64,10 +66,11 @@ static inline void ConvertEnvToKnob(const char* pOverride, bool& knobValue)
 
     // Try converting to a number and casting to bool
     uint32_t value = 0;
-    if (sscanf(pOverride, "%u", &value))
+    char* pStopped = nullptr;
+    value = strtoul(pOverride, &pStopped, 0);
+    if (pStopped != pOverride)
     {
         knobValue = value != 0;
-        return;
     }
 }
 




More information about the mesa-commit mailing list