Mesa (master): i965/fs: Allocate the param_size array dynamically.

Francisco Jerez currojerez at kemper.freedesktop.org
Wed Feb 19 18:47:30 UTC 2014


Module: Mesa
Branch: master
Commit: 8928d7860a6b14ec57c3a600bc429e4563990ead
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8928d7860a6b14ec57c3a600bc429e4563990ead

Author: Francisco Jerez <currojerez at riseup.net>
Date:   Wed Feb 19 15:36:48 2014 +0100

i965/fs: Allocate the param_size array dynamically.

Useful because the total number of uniform components might exceed
MAX_UNIFORMS * 4 in some cases because of the image metadata we'll be
passing as push constants.

Reviewed-by: Paul Berry <stereotype441 at gmail.com>

---

 src/mesa/drivers/dri/i965/brw_fs.h           |    2 +-
 src/mesa/drivers/dri/i965/brw_fs_visitor.cpp |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.h b/src/mesa/drivers/dri/i965/brw_fs.h
index 0362c5d..eb9e1bf 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.h
+++ b/src/mesa/drivers/dri/i965/brw_fs.h
@@ -491,7 +491,7 @@ public:
    struct brw_wm_compile *c;
    unsigned int sanity_param_count;
 
-   int param_size[MAX_UNIFORMS * 4];
+   int *param_size;
 
    int *virtual_grf_sizes;
    int virtual_grf_count;
diff --git a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
index b0fed9e..aea3360 100644
--- a/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs_visitor.cpp
@@ -2992,7 +2992,7 @@ fs_visitor::fs_visitor(struct brw_context *brw,
 
    this->spilled_any_registers = false;
 
-   memset(&this->param_size, 0, sizeof(this->param_size));
+   this->param_size = rzalloc_array(mem_ctx, int, stage_prog_data->nr_params);
 }
 
 fs_visitor::~fs_visitor()




More information about the mesa-commit mailing list