summaryrefslogtreecommitdiff
path: root/src/gallium/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r--src/gallium/drivers/i915simple/i915_state.c7
-rw-r--r--src/gallium/drivers/softpipe/sp_state_sampler.c8
2 files changed, 10 insertions, 5 deletions
diff --git a/src/gallium/drivers/i915simple/i915_state.c b/src/gallium/drivers/i915simple/i915_state.c
index 24143243d3..d9ab483bfc 100644
--- a/src/gallium/drivers/i915simple/i915_state.c
+++ b/src/gallium/drivers/i915simple/i915_state.c
@@ -273,6 +273,7 @@ static void i915_bind_sampler_states(struct pipe_context *pipe,
unsigned num, void **sampler)
{
struct i915_context *i915 = i915_context(pipe);
+ unsigned i;
assert(num <= PIPE_MAX_SAMPLERS);
@@ -281,8 +282,10 @@ static void i915_bind_sampler_states(struct pipe_context *pipe,
!memcmp(i915->sampler, sampler, num * sizeof(void *)))
return;
- memcpy(i915->sampler, sampler, num * sizeof(void *));
- memset(&i915->sampler[num], 0, (PIPE_MAX_SAMPLERS - num) * sizeof(void *));
+ for (i = 0; i < num; ++i)
+ i915->sampler[i] = sampler[i];
+ for (i = num; i < PIPE_MAX_SAMPLERS; ++i)
+ i915->sampler[i] = NULL;
i915->num_samplers = num;
diff --git a/src/gallium/drivers/softpipe/sp_state_sampler.c b/src/gallium/drivers/softpipe/sp_state_sampler.c
index 7cf85b9207..033288a0aa 100644
--- a/src/gallium/drivers/softpipe/sp_state_sampler.c
+++ b/src/gallium/drivers/softpipe/sp_state_sampler.c
@@ -56,6 +56,7 @@ softpipe_bind_sampler_states(struct pipe_context *pipe,
unsigned num, void **sampler)
{
struct softpipe_context *softpipe = softpipe_context(pipe);
+ unsigned i;
assert(num <= PIPE_MAX_SAMPLERS);
@@ -66,9 +67,10 @@ softpipe_bind_sampler_states(struct pipe_context *pipe,
draw_flush(softpipe->draw);
- memcpy(softpipe->sampler, sampler, num * sizeof(void *));
- memset(&softpipe->sampler[num], 0, (PIPE_MAX_SAMPLERS - num) *
- sizeof(void *));
+ for (i = 0; i < num; ++i)
+ softpipe->sampler[i] = sampler[i];
+ for (i = num; i < PIPE_MAX_SAMPLERS; ++i)
+ softpipe->sampler[i] = NULL;
softpipe->num_samplers = num;