[Mesa-dev] [PATCH 09/10] i965/fs: Switch from BRW_MAX_TEX_UNIT to the actual limit.
Kenneth Graunke
kenneth at whitecape.org
Sat Jan 18 20:20:11 PST 2014
BRW_MAX_TEX_UNIT is about to grow, but only Gen7+ will be able to
support the new larger value. On older platforms, we don't want to
allocate the extra space - it would just be a waste.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
---
src/mesa/drivers/dri/i965/brw_wm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c
index 6739a91..0020b5d 100644
--- a/src/mesa/drivers/dri/i965/brw_wm.c
+++ b/src/mesa/drivers/dri/i965/brw_wm.c
@@ -142,6 +142,7 @@ bool do_wm_prog(struct brw_context *brw,
struct brw_fragment_program *fp,
struct brw_wm_prog_key *key)
{
+ struct gl_context *ctx = &brw->ctx;
struct brw_wm_compile *c;
const GLuint *program;
struct gl_shader *fs = NULL;
@@ -163,7 +164,7 @@ bool do_wm_prog(struct brw_context *brw,
param_count = fp->program.Base.Parameters->NumParameters * 4;
}
/* The backend also sometimes adds params for texture size. */
- param_count += 2 * BRW_MAX_TEX_UNIT;
+ param_count += 2 * ctx->Const.Program[MESA_SHADER_FRAGMENT].MaxTextureImageUnits;
c->prog_data.param = rzalloc_array(NULL, const float *, param_count);
c->prog_data.pull_param = rzalloc_array(NULL, const float *, param_count);
--
1.8.5.2
More information about the mesa-dev
mailing list