summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorbin Simpson <MostAwesomeDude@gmail.com>2010-08-20 00:18:30 -0700
committerCorbin Simpson <MostAwesomeDude@gmail.com>2010-08-20 00:18:30 -0700
commite0ef4800f5deb81ed57dccf8ba39e01c12f4beff (patch)
treee076afb42734bfcd236c336bd594004321a95cf6
parentcdc1c67b9896cd0d919f736fe61a4396bf0ad5c0 (diff)
galahad, i915g: Copy over constant buffer index check.
-rw-r--r--src/gallium/drivers/galahad/glhd_context.c9
-rw-r--r--src/gallium/drivers/i915/i915_state.c2
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 10e4679bf1..383c448926 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 cbddb214fb..8c53b06931 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.