Mesa (master): i965: Use util_next_power_of_two() for brw_get_scratch_size ()
Kristian Høgsberg
krh at kemper.freedesktop.org
Thu Oct 8 19:20:18 UTC 2015
Module: Mesa
Branch: master
Commit: 365e5d78924ffe7d4ce47e3fbadc35c7105e5d34
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=365e5d78924ffe7d4ce47e3fbadc35c7105e5d34
Author: Kristian Høgsberg Kristensen <krh at bitplanet.net>
Date: Mon Oct 5 14:02:56 2015 -0700
i965: Use util_next_power_of_two() for brw_get_scratch_size()
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 <topi.pohjolainen at intel.com>
Signed-off-by: Kristian Høgsberg Kristensen <krh at bitplanet.net>
---
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 1869f28..aa1284d 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 108eb34..69ecc36 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)
More information about the mesa-commit
mailing list