From 433f6f7ac9ed6624fec02cc055c3bfa247dba185 Mon Sep 17 00:00:00 2001 From: Marek Olšák Date: Tue, 25 Jul 2017 17:29:58 +0200 Subject: gallium/radeon: make S_FIXED function signed and move it to shared code MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes a bug uncovered by: 2412c4c81ea0488df865817a0de91ec46e359b72 util: Make CLAMP turn NaN into MIN. Cc: 17.2 Reviewed-by: Roland Scheidegger Reviewed-by: Kenneth Graunke Reviewed-by: Nicolai Hähnle --- src/gallium/drivers/r600/r600_pipe.h | 4 ---- src/gallium/drivers/radeon/r600_pipe_common.h | 5 +++++ src/gallium/drivers/radeonsi/si_state.c | 5 ----- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h index 3fa7d77d37e..c9294a7c58d 100644 --- a/src/gallium/drivers/r600/r600_pipe.h +++ b/src/gallium/drivers/r600/r600_pipe.h @@ -925,10 +925,6 @@ static inline void radeon_set_ctl_const(struct radeon_winsys_cs *cs, unsigned re /* * common helpers */ -static inline uint32_t S_FIXED(float value, uint32_t frac_bits) -{ - return value * (1 << frac_bits); -} /* 12.4 fixed-point */ static inline unsigned r600_pack_float_12p4(float x) diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h index 5c761f3ee4f..c2fb3690d2b 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -1006,4 +1006,9 @@ vi_dcc_enabled(struct r600_texture *tex, unsigned level) (((unsigned)(s2x) & 0xf) << 16) | (((unsigned)(s2y) & 0xf) << 20) | \ (((unsigned)(s3x) & 0xf) << 24) | (((unsigned)(s3y) & 0xf) << 28)) +static inline int S_FIXED(float value, unsigned frac_bits) +{ + return value * (1 << frac_bits); +} + #endif diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 7e3d1a02e07..42d81e74469 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -74,11 +74,6 @@ static unsigned si_map_swizzle(unsigned swizzle) } } -static uint32_t S_FIXED(float value, uint32_t frac_bits) -{ - return value * (1 << frac_bits); -} - /* 12.4 fixed-point */ static unsigned si_pack_float_12p4(float x) { -- cgit v1.2.3