diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2015-12-15 03:04:50 -0800 |
---|---|---|
committer | Kenneth Graunke <kenneth@whitecape.org> | 2015-12-22 17:21:59 -0800 |
commit | 8498cb4a45e8ed53a2ee2b35d3c2cbb9963e1756 (patch) | |
tree | bfbac178730c3fa332f288ce708df1f1e972bf1c /src/mesa/drivers/dri/i965/brw_state_upload.c | |
parent | 2bcf98940703bee4485e323f4a9e28e2c6fe41fd (diff) |
i965: Only call brw_upload_tcs/tes_prog when using tessellation.
If there's no evaluation shader, tessellation is disabled. The upload
functions would just bail. Instead, don't bother calling them.
This will simplify the optional-TCS case a bit, as brw_upload_tcs can
assume that we're doing tessellation.
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Diffstat (limited to 'src/mesa/drivers/dri/i965/brw_state_upload.c')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_state_upload.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_state_upload.c b/src/mesa/drivers/dri/i965/brw_state_upload.c index 56962d59c49..af9fb5b8a63 100644 --- a/src/mesa/drivers/dri/i965/brw_state_upload.c +++ b/src/mesa/drivers/dri/i965/brw_state_upload.c @@ -678,8 +678,15 @@ brw_upload_programs(struct brw_context *brw, { if (pipeline == BRW_RENDER_PIPELINE) { brw_upload_vs_prog(brw); - brw_upload_tcs_prog(brw); - brw_upload_tes_prog(brw); + if (brw->tess_eval_program) { + brw_upload_tcs_prog(brw); + brw_upload_tes_prog(brw); + } else { + brw->tcs.prog_data = NULL; + brw->tcs.base.prog_data = NULL; + brw->tes.prog_data = NULL; + brw->tes.base.prog_data = NULL; + } if (brw->gen < 6) brw_upload_ff_gs_prog(brw); |