intel: Rewrite the world of push/pull params
[mesa.git] / src / mesa / drivers / dri / i965 / brw_cs.c
index cc564a012b6d515f99012773b6f409413cbfdd6a..68fca098f76179ac4b63d34db07c54cae8c1094e 100644 (file)
@@ -89,10 +89,8 @@ brw_codegen_cs_prog(struct brw_context *brw,
 
    /* The backend also sometimes adds params for texture size. */
    param_count += 2 * ctx->Const.Program[MESA_SHADER_COMPUTE].MaxTextureImageUnits;
-   prog_data.base.param =
-      rzalloc_array(NULL, const gl_constant_value *, param_count);
-   prog_data.base.pull_param =
-      rzalloc_array(NULL, const gl_constant_value *, param_count);
+   prog_data.base.param = rzalloc_array(NULL, uint32_t, param_count);
+   prog_data.base.pull_param = rzalloc_array(NULL, uint32_t, param_count);
    prog_data.base.image_param =
       rzalloc_array(NULL, struct brw_image_param,
                     cp->program.info.num_images);
@@ -155,7 +153,7 @@ brw_codegen_cs_prog(struct brw_context *brw,
     * number of threads per subslice.
     */
    const unsigned scratch_ids_per_subslice =
-      brw->is_haswell ? 16 * 8 : devinfo->max_cs_threads;
+      devinfo->is_haswell ? 16 * 8 : devinfo->max_cs_threads;
 
    brw_alloc_stage_scratch(brw, &brw->cs.base,
                            prog_data.base.total_scratch,
@@ -177,7 +175,8 @@ brw_cs_populate_key(struct brw_context *brw, struct brw_cs_prog_key *key)
 {
    struct gl_context *ctx = &brw->ctx;
    /* BRW_NEW_COMPUTE_PROGRAM */
-   const struct brw_program *cp = (struct brw_program *) brw->compute_program;
+   const struct brw_program *cp =
+      (struct brw_program *) brw->programs[MESA_SHADER_COMPUTE];
    const struct gl_program *prog = (struct gl_program *) cp;
 
    memset(key, 0, sizeof(*key));
@@ -195,7 +194,8 @@ brw_upload_cs_prog(struct brw_context *brw)
 {
    struct gl_context *ctx = &brw->ctx;
    struct brw_cs_prog_key key;
-   struct brw_program *cp = (struct brw_program *) brw->compute_program;
+   struct brw_program *cp =
+      (struct brw_program *) brw->programs[MESA_SHADER_COMPUTE];
 
    if (!cp)
       return;