diff options
author | Kristian Høgsberg Kristensen <krh@bitplanet.net> | 2015-12-11 11:18:18 -0800 |
---|---|---|
committer | Kristian Høgsberg Kristensen <krh@bitplanet.net> | 2015-12-11 13:07:25 -0800 |
commit | c51f133197437d01696abd9513fbcda4b16b897c (patch) | |
tree | aa27392766718b167a3d93b615607909dd75a5e1 /src/mesa/drivers/dri/i965/brw_cs.c | |
parent | 076551116ed5fc1b0991cb84e1e5453f5a2e11db (diff) | |
download | external_mesa3d-c51f133197437d01696abd9513fbcda4b16b897c.zip external_mesa3d-c51f133197437d01696abd9513fbcda4b16b897c.tar.gz external_mesa3d-c51f133197437d01696abd9513fbcda4b16b897c.tar.bz2 |
i965: Move brw_cs_fill_local_id_payload() to libi965_compiler
This is a helper function for setting up the local invocation ID
payload according to the cs_prog_data generated by the compiler. It's
intended to be available to users of libi965_compiler so move it there.
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_cs.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_cs.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_cs.c b/src/mesa/drivers/dri/i965/brw_cs.c index d88e822..9eadb7e 100644 --- a/src/mesa/drivers/dri/i965/brw_cs.c +++ b/src/mesa/drivers/dri/i965/brw_cs.c @@ -34,42 +34,6 @@ #include "brw_program.h" #include "glsl/ir_uniform.h" -void -brw_cs_fill_local_id_payload(const struct brw_cs_prog_data *prog_data, - void *buffer, uint32_t threads, uint32_t stride) -{ - if (prog_data->local_invocation_id_regs == 0) - return; - - /* 'stride' should be an integer number of registers, that is, a multiple - * of 32 bytes. - */ - assert(stride % 32 == 0); - - unsigned x = 0, y = 0, z = 0; - for (unsigned t = 0; t < threads; t++) { - uint32_t *param = (uint32_t *) buffer + stride * t / 4; - - for (unsigned i = 0; i < prog_data->simd_size; i++) { - param[0 * prog_data->simd_size + i] = x; - param[1 * prog_data->simd_size + i] = y; - param[2 * prog_data->simd_size + i] = z; - - x++; - if (x == prog_data->local_size[0]) { - x = 0; - y++; - if (y == prog_data->local_size[1]) { - y = 0; - z++; - if (z == prog_data->local_size[2]) - z = 0; - } - } - } - } -} - static void assign_cs_binding_table_offsets(const struct brw_device_info *devinfo, const struct gl_shader_program *shader_prog, |