summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/i965/brw_curbe.c
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-10-25 12:52:29 -0700
committerKenneth Graunke <kenneth@whitecape.org>2010-10-27 13:54:35 -0700
commit9e3641bd0d739a87a6998300ca29580cb557f380 (patch)
treefc011e451a25a7d3f04850f90e5b5d712052f95e /src/mesa/drivers/dri/i965/brw_curbe.c
parent502943049af6e8927e2b342365733fabda3d5b88 (diff)
downloadexternal_mesa3d-9e3641bd0d739a87a6998300ca29580cb557f380.zip
external_mesa3d-9e3641bd0d739a87a6998300ca29580cb557f380.tar.gz
external_mesa3d-9e3641bd0d739a87a6998300ca29580cb557f380.tar.bz2
i965: Make FS uniforms be the actual type of the uniform at upload time.
This fixes some insanity that would otherwise be required for GLSL 1.30 bit ops or gen6 integer uniform operations in general, at the cost of upload-time pain. Given that we only have that pain because mesa's mangling our integer uniforms to be floats, this something that should be fixed outside of the shader codegen.
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_curbe.c')
-rw-r--r--src/mesa/drivers/dri/i965/brw_curbe.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_curbe.c b/src/mesa/drivers/dri/i965/brw_curbe.c
index 9ce0d8d..7b823eb 100644
--- a/src/mesa/drivers/dri/i965/brw_curbe.c
+++ b/src/mesa/drivers/dri/i965/brw_curbe.c
@@ -199,8 +199,10 @@ static void prepare_constant_buffer(struct brw_context *brw)
GLuint offset = brw->curbe.wm_start * 16;
/* copy float constants */
- for (i = 0; i < brw->wm.prog_data->nr_params; i++)
- buf[offset + i] = *brw->wm.prog_data->param[i];
+ for (i = 0; i < brw->wm.prog_data->nr_params; i++) {
+ buf[offset + i] = convert_param(brw->wm.prog_data->param_convert[i],
+ *brw->wm.prog_data->param[i]);
+ }
}