From c1a3ac0e45d6b69d5567f80b76815b2e6997128d Mon Sep 17 00:00:00 2001 From: "Xiang, Haihao" Date: Fri, 7 Dec 2007 17:26:38 +0800 Subject: i915: Check the program size when uploading a program. fix bug 13494 --- src/mesa/drivers/dri/i915/i915_vtbl.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'src/mesa/drivers') 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; -- cgit v1.2.3