[Mesa-dev] [PATCH 2/3] i965: Set brw_stage_state::push_const_size for PS constants.

Kenneth Graunke kenneth at whitecape.org
Fri Sep 13 16:05:09 PDT 2013


This paves the way for using gen7_upload_constant_state for PS data.

The formula is copied from gen7_wm_state.c.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: Paul Berry <stereotype441 at gmail.com>
---
 src/mesa/drivers/dri/i965/gen6_wm_state.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/mesa/drivers/dri/i965/gen6_wm_state.c b/src/mesa/drivers/dri/i965/gen6_wm_state.c
index 5a6943f..d21de13 100644
--- a/src/mesa/drivers/dri/i965/gen6_wm_state.c
+++ b/src/mesa/drivers/dri/i965/gen6_wm_state.c
@@ -50,7 +50,9 @@ gen6_upload_wm_push_constants(struct brw_context *brw)
    /* XXX: Should this happen somewhere before to get our state flag set? */
    _mesa_load_state_parameters(ctx, fp->program.Base.Parameters);
 
-   if (prog_data->nr_params != 0) {
+   if (prog_data->nr_params == 0) {
+      brw->wm.base.push_const_size = 0;
+   } else {
       float *constants;
       unsigned int i;
 
@@ -75,6 +77,9 @@ gen6_upload_wm_push_constants(struct brw_context *brw)
 	    printf("\n");
 	 printf("\n");
       }
+
+      brw->wm.base.push_const_size =
+         ALIGN(prog_data->nr_params, prog_data->dispatch_width) / 8;
    }
 }
 
-- 
1.8.3.4



More information about the mesa-dev mailing list