From e0ef4800f5deb81ed57dccf8ba39e01c12f4beff Mon Sep 17 00:00:00 2001 From: Corbin Simpson Date: Fri, 20 Aug 2010 00:18:30 -0700 Subject: [PATCH] galahad, i915g: Copy over constant buffer index check. --- src/gallium/drivers/galahad/glhd_context.c | 9 +++++++++ src/gallium/drivers/i915/i915_state.c | 2 -- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/gallium/drivers/galahad/glhd_context.c b/src/gallium/drivers/galahad/glhd_context.c index 10e4679bf1b..383c4489261 100644 --- a/src/gallium/drivers/galahad/glhd_context.c +++ b/src/gallium/drivers/galahad/glhd_context.c @@ -463,6 +463,15 @@ galahad_set_constant_buffer(struct pipe_context *_pipe, glhd_error("Unknown shader type %u", shader); } + if (index && + index >= + pipe->screen->get_param(pipe->screen, PIPE_CAP_MAX_CONST_BUFFERS)) { + glhd_error("Access to constant buffer %u requested, " + "but only %d are supported", + index, + pipe->screen->get_param(pipe->screen, PIPE_CAP_MAX_CONST_BUFFERS)); + } + /* XXX hmm? unwrap the input state */ if (_resource) { unwrapped_resource = galahad_resource_unwrap(_resource); diff --git a/src/gallium/drivers/i915/i915_state.c b/src/gallium/drivers/i915/i915_state.c index cbddb214fb4..8c53b06931b 100644 --- a/src/gallium/drivers/i915/i915_state.c +++ b/src/gallium/drivers/i915/i915_state.c @@ -527,8 +527,6 @@ static void i915_set_constant_buffer(struct pipe_context *pipe, struct i915_context *i915 = i915_context(pipe); draw_flush(i915->draw); - assert(index == 0); - /* Make a copy of shader constants. * During fragment program translation we may add additional * constants to the array. -- 2.30.2