From: Xiang, Haihao Date: Fri, 7 Dec 2007 09:26:38 +0000 (+0800) Subject: i915: Check the program size when uploading a program. fix bug 13494 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c1a3ac0e45d6b69d5567f80b76815b2e6997128d;p=mesa.git i915: Check the program size when uploading a program. fix bug 13494 --- diff --git a/src/mesa/drivers/dri/i915/i915_vtbl.c b/src/mesa/drivers/dri/i915/i915_vtbl.c index 5decffa1165..4590057a2fe 100644 --- a/src/mesa/drivers/dri/i915/i915_vtbl.c +++ b/src/mesa/drivers/dri/i915/i915_vtbl.c @@ -442,14 +442,16 @@ i915_do_emit_state(struct intel_context *intel) } if (dirty & I915_UPLOAD_PROGRAM) { - if (INTEL_DEBUG & DEBUG_STATE) - fprintf(stderr, "I915_UPLOAD_PROGRAM:\n"); + if (ProgramSize) { + if (INTEL_DEBUG & DEBUG_STATE) + fprintf(stderr, "I915_UPLOAD_PROGRAM:\n"); - assert((state->Program[0] & 0x1ff) + 2 == state->ProgramSize); + assert((state->Program[0] & 0x1ff) + 2 == state->ProgramSize); - emit(intel, state->Program, state->ProgramSize * sizeof(GLuint)); - if (INTEL_DEBUG & DEBUG_STATE) - i915_disassemble_program(state->Program, state->ProgramSize); + emit(intel, state->Program, state->ProgramSize * sizeof(GLuint)); + if (INTEL_DEBUG & DEBUG_STATE) + i915_disassemble_program(state->Program, state->ProgramSize); + } } intel->batch->dirty_state &= ~dirty;