From 365e5d78924ffe7d4ce47e3fbadc35c7105e5d34 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kristian=20H=C3=B8gsberg=20Kristensen?= Date: Mon, 5 Oct 2015 14:02:56 -0700 Subject: [PATCH] i965: Use util_next_power_of_two() for brw_get_scratch_size() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This function computes the next power of two, but at least 1024. We can do that by bitwise or'ing in 1023 and calling util_next_power_of_two(). We use brw_get_scratch_size() from the compiler so we need it out of brw_program.c. We could move it to brw_shader.cpp, but let's make it a small inline function instead. Reviewed-by: Topi Pohjolainen Signed-off-by: Kristian Høgsberg Kristensen --- src/mesa/drivers/dri/i965/brw_context.h | 7 ++++++- src/mesa/drivers/dri/i965/brw_program.c | 12 ------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/src/mesa/drivers/dri/i965/brw_context.h b/src/mesa/drivers/dri/i965/brw_context.h index 1869f284331..aa1284db3ce 100644 --- a/src/mesa/drivers/dri/i965/brw_context.h +++ b/src/mesa/drivers/dri/i965/brw_context.h @@ -1723,7 +1723,12 @@ void brw_validate_textures( struct brw_context *brw ); */ void brwInitFragProgFuncs( struct dd_function_table *functions ); -int brw_get_scratch_size(int size); +/* Per-thread scratch space is a power-of-two multiple of 1KB. */ +static inline int +brw_get_scratch_size(int size) +{ + return util_next_power_of_two(size | 1023); +} void brw_get_scratch_bo(struct brw_context *brw, drm_intel_bo **scratch_bo, int size); void brw_init_shader_time(struct brw_context *brw); diff --git a/src/mesa/drivers/dri/i965/brw_program.c b/src/mesa/drivers/dri/i965/brw_program.c index 108eb3421a0..69ecc36f2e7 100644 --- a/src/mesa/drivers/dri/i965/brw_program.c +++ b/src/mesa/drivers/dri/i965/brw_program.c @@ -242,18 +242,6 @@ brw_add_texrect_params(struct gl_program *prog) } } -/* Per-thread scratch space is a power-of-two multiple of 1KB. */ -int -brw_get_scratch_size(int size) -{ - int i; - - for (i = 1024; i < size; i *= 2) - ; - - return i; -} - void brw_get_scratch_bo(struct brw_context *brw, drm_intel_bo **scratch_bo, int size) -- 2.30.2