summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gallium/drivers/i915/i915_state_emit.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/gallium/drivers/i915/i915_state_emit.c b/src/gallium/drivers/i915/i915_state_emit.c
index 590a1baa420..7b4b02ee620 100644
--- a/src/gallium/drivers/i915/i915_state_emit.c
+++ b/src/gallium/drivers/i915/i915_state_emit.c
@@ -370,6 +370,11 @@ validate_program(struct i915_context *i915, unsigned *batch_space)
{
uint additional_size = 0;
+ if (!i915->fs->program_len) {
+ *batch_space = 0;
+ return;
+ }
+
additional_size += i915->current.target_fixup_format ? 3 : 0;
/* we need more batch space if we want to emulate rgba framebuffers */
@@ -382,12 +387,13 @@ emit_program(struct i915_context *i915)
uint additional_size = 0;
uint i;
+ if (!i915->fs->program_len)
+ return;
+
/* count how much additional space we'll need */
validate_program(i915, &additional_size);
additional_size -= i915->fs->decl_len + i915->fs->program_len;
- /* we should always have, at least, a pass-through program */
- assert(i915->fs->program_len > 0);
/* output the declarations */
{