From e4d8084cbdeaaa392969d077e2a9d8e9df3b2cdc Mon Sep 17 00:00:00 2001 From: Roland Scheidegger Date: Tue, 26 Nov 2013 02:30:13 +0100 Subject: [PATCH] gallium/drivers: support more sampler views than samplers for more drivers This adds support for this to more drivers, in particular for all the "special" ones useful for debugging. HW drivers are left alone, some should be able to support it if they want but they may not be interested at this point. Reviewed-by: Jose Fonseca --- src/gallium/drivers/galahad/glhd_context.c | 2 +- src/gallium/drivers/identity/id_context.c | 2 +- src/gallium/drivers/rbug/rbug_context.c | 2 +- src/gallium/drivers/rbug/rbug_context.h | 4 ++-- src/gallium/drivers/rbug/rbug_core.c | 2 +- src/gallium/drivers/trace/tr_context.c | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/gallium/drivers/galahad/glhd_context.c b/src/gallium/drivers/galahad/glhd_context.c index 0bb7abd3ac0..fa743bd1562 100644 --- a/src/gallium/drivers/galahad/glhd_context.c +++ b/src/gallium/drivers/galahad/glhd_context.c @@ -518,7 +518,7 @@ galahad_context_set_sampler_views(struct pipe_context *_pipe, { struct galahad_context *glhd_pipe = galahad_context(_pipe); struct pipe_context *pipe = glhd_pipe->pipe; - struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SAMPLERS]; + struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SHADER_SAMPLER_VIEWS]; unsigned i; for (i = 0; i < num; i++) diff --git a/src/gallium/drivers/identity/id_context.c b/src/gallium/drivers/identity/id_context.c index 60e8860a2cb..00414b89624 100644 --- a/src/gallium/drivers/identity/id_context.c +++ b/src/gallium/drivers/identity/id_context.c @@ -485,7 +485,7 @@ identity_set_sampler_views(struct pipe_context *_pipe, { struct identity_context *id_pipe = identity_context(_pipe); struct pipe_context *pipe = id_pipe->pipe; - struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SAMPLERS]; + struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SHADER_SAMPLER_VIEWS]; unsigned i; for (i = 0; i < num; i++) diff --git a/src/gallium/drivers/rbug/rbug_context.c b/src/gallium/drivers/rbug/rbug_context.c index be3e9641d6d..0e7badb1d0f 100644 --- a/src/gallium/drivers/rbug/rbug_context.c +++ b/src/gallium/drivers/rbug/rbug_context.c @@ -712,7 +712,7 @@ rbug_set_sampler_views(struct pipe_context *_pipe, { struct rbug_context *rb_pipe = rbug_context(_pipe); struct pipe_context *pipe = rb_pipe->pipe; - struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SAMPLERS]; + struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SHADER_SAMPLER_VIEWS]; struct pipe_sampler_view **views = NULL; unsigned i; diff --git a/src/gallium/drivers/rbug/rbug_context.h b/src/gallium/drivers/rbug/rbug_context.h index 6b44da0de6a..5e7b9d4dee4 100644 --- a/src/gallium/drivers/rbug/rbug_context.h +++ b/src/gallium/drivers/rbug/rbug_context.h @@ -48,8 +48,8 @@ struct rbug_context { struct { struct rbug_shader *shader[PIPE_SHADER_TYPES]; - struct rbug_sampler_view *views[PIPE_SHADER_TYPES][PIPE_MAX_SAMPLERS]; - struct rbug_resource *texs[PIPE_SHADER_TYPES][PIPE_MAX_SAMPLERS]; + struct rbug_sampler_view *views[PIPE_SHADER_TYPES][PIPE_MAX_SHADER_SAMPLER_VIEWS]; + struct rbug_resource *texs[PIPE_SHADER_TYPES][PIPE_MAX_SHADER_SAMPLER_VIEWS]; unsigned num_views[PIPE_SHADER_TYPES]; unsigned nr_cbufs; diff --git a/src/gallium/drivers/rbug/rbug_core.c b/src/gallium/drivers/rbug/rbug_core.c index b957261b9ee..8f9388ad829 100644 --- a/src/gallium/drivers/rbug/rbug_core.c +++ b/src/gallium/drivers/rbug/rbug_core.c @@ -320,7 +320,7 @@ rbug_context_info(struct rbug_rbug *tr_rbug, struct rbug_header *header, uint32_ struct rbug_screen *rb_screen = tr_rbug->rb_screen; struct rbug_context *rb_context = NULL; rbug_texture_t cbufs[PIPE_MAX_COLOR_BUFS]; - rbug_texture_t texs[PIPE_MAX_SAMPLERS]; + rbug_texture_t texs[PIPE_MAX_SHADER_SAMPLER_VIEWS]; unsigned i; pipe_mutex_lock(rb_screen->list_mutex); diff --git a/src/gallium/drivers/trace/tr_context.c b/src/gallium/drivers/trace/tr_context.c index 78911aa8f5e..6a986571e74 100644 --- a/src/gallium/drivers/trace/tr_context.c +++ b/src/gallium/drivers/trace/tr_context.c @@ -891,7 +891,7 @@ trace_context_set_sampler_views(struct pipe_context *_pipe, struct trace_context *tr_ctx = trace_context(_pipe); struct trace_sampler_view *tr_view; struct pipe_context *pipe = tr_ctx->pipe; - struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SAMPLERS]; + struct pipe_sampler_view *unwrapped_views[PIPE_MAX_SHADER_SAMPLER_VIEWS]; unsigned i; /* remove this when we have pipe->set_sampler_views(..., start, ...) */ -- 2.30.2