iris: fix constant packet length to match i965
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 29 May 2018 14:32:43 +0000 (07:32 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Thu, 21 Feb 2019 18:26:06 +0000 (10:26 -0800)
src/gallium/drivers/iris/iris_state.c

index 87a34d73721450c9e8f7bc9723120afa2ea04060..bcbab9e2b07da82ad37af81707df5f06ad201247 100644 (file)
@@ -2177,8 +2177,11 @@ iris_upload_render_state(struct iris_context *ice,
          continue;
 
       struct iris_shader_state *shs = &ice->shaders.state[stage];
+      struct iris_compiled_shader *shader = ice->shaders.prog[stage];
+      struct brw_stage_prog_data *prog_data = (void *) shader->prog_data;
       // XXX: DIV_ROUND_UP(prog_data->nr_params, 8)?
-      shs->const_size = DIV_ROUND_UP(cbuf0->buffer_size, 32);
+      //shs->const_size = DIV_ROUND_UP(cbuf0->buffer_size, 32);
+      shs->const_size = DIV_ROUND_UP(prog_data->nr_params, 8);
       u_upload_data(ice->ctx.const_uploader, 0, 32 * shs->const_size, 32,
                     cbuf0->user_buffer, &shs->const_offset,
                     &shs->push_resource);