galahad, i915g: Move over a few state asserts.
authorCorbin Simpson <MostAwesomeDude@gmail.com>
Fri, 20 Aug 2010 07:00:40 +0000 (00:00 -0700)
committerCorbin Simpson <MostAwesomeDude@gmail.com>
Fri, 20 Aug 2010 07:00:40 +0000 (00:00 -0700)
src/gallium/drivers/galahad/glhd_context.c
src/gallium/drivers/i915/i915_state.c

index ddf3886..10e4679 100644 (file)
@@ -185,6 +185,12 @@ galahad_bind_fragment_sampler_states(struct pipe_context *_pipe,
    struct galahad_context *glhd_pipe = galahad_context(_pipe);
    struct pipe_context *pipe = glhd_pipe->pipe;
 
+   if (num_samplers > PIPE_MAX_SAMPLERS) {
+      glhd_error("%u fragment samplers requested, "
+         "but only %u are permitted by API",
+         num_samplers, PIPE_MAX_SAMPLERS);
+   }
+
    pipe->bind_fragment_sampler_states(pipe,
                                       num_samplers,
                                       samplers);
@@ -198,6 +204,12 @@ galahad_bind_vertex_sampler_states(struct pipe_context *_pipe,
    struct galahad_context *glhd_pipe = galahad_context(_pipe);
    struct pipe_context *pipe = glhd_pipe->pipe;
 
+   if (num_samplers > PIPE_MAX_VERTEX_SAMPLERS) {
+      glhd_error("%u vertex samplers requested, "
+         "but only %u are permitted by API",
+         num_samplers, PIPE_MAX_VERTEX_SAMPLERS);
+   }
+
    pipe->bind_vertex_sampler_states(pipe,
                                     num_samplers,
                                     samplers);
@@ -447,6 +459,10 @@ galahad_set_constant_buffer(struct pipe_context *_pipe,
    struct pipe_resource *unwrapped_resource;
    struct pipe_resource *resource = NULL;
 
+   if (shader >= PIPE_SHADER_TYPES) {
+      glhd_error("Unknown shader type %u", shader);
+   }
+
    /* XXX hmm? unwrap the input state */
    if (_resource) {
       unwrapped_resource = galahad_resource_unwrap(_resource);
index 385c3b2..cbddb21 100644 (file)
@@ -294,8 +294,6 @@ static void i915_bind_sampler_states(struct pipe_context *pipe,
    struct i915_context *i915 = i915_context(pipe);
    unsigned i;
 
-   assert(num <= PIPE_MAX_SAMPLERS);
-
    /* Check for no-op */
    if (num == i915->num_samplers &&
        !memcmp(i915->sampler, sampler, num * sizeof(void *)))
@@ -529,7 +527,6 @@ static void i915_set_constant_buffer(struct pipe_context *pipe,
    struct i915_context *i915 = i915_context(pipe);
    draw_flush(i915->draw);
 
-   assert(shader < PIPE_SHADER_TYPES);
    assert(index == 0);
 
    /* Make a copy of shader constants.