diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2013-07-25 18:19:53 -0700 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2013-07-25 18:19:53 -0700 |
commit | b22862090b118f4d8611cbfcd5f5627267b89182 (patch) | |
tree | 3da8703789fac1d0b470c87c003afb8527ffe093 | |
parent | 4d3acdda71b6f1f27716da23628dba03aa70168e (diff) |
XXX: Workingr600g-image-support
-rw-r--r-- | src/gallium/drivers/r600/evergreen_compute.c | 2 | ||||
-rw-r--r-- | src/gallium/drivers/r600/r600_state_common.c | 14 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/gallium/drivers/r600/evergreen_compute.c b/src/gallium/drivers/r600/evergreen_compute.c index e8833c01fb1..c347a5d8aae 100644 --- a/src/gallium/drivers/r600/evergreen_compute.c +++ b/src/gallium/drivers/r600/evergreen_compute.c @@ -478,7 +478,7 @@ static void compute_emit_cs(struct r600_context *ctx, const uint *block_layout, R600_CONTEXT_INV_TEX_CACHE; r600_flush_emit(ctx); -#if 0 +#if 1 COMPUTE_DBG(ctx->screen, "cdw: %i\n", cs->cdw); for (i = 0; i < cs->cdw; i++) { COMPUTE_DBG(ctx->screen, "%4i : 0x%08X\n", i, cs->buf[i]); diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c index a9156c13af7..e0471d7667d 100644 --- a/src/gallium/drivers/r600/r600_state_common.c +++ b/src/gallium/drivers/r600/r600_state_common.c @@ -394,6 +394,8 @@ static void r600_bind_sampler_states(struct pipe_context *pipe, assert(start == 0); /* XXX fix below */ + /* XXX */ if (!states) { return; } + for (i = 0; i < count; i++) { struct r600_pipe_sampler_state *rstate = rstates[i]; @@ -447,9 +449,10 @@ static void r600_bind_ps_sampler_states(struct pipe_context *ctx, unsigned count r600_bind_sampler_states(ctx, PIPE_SHADER_FRAGMENT, 0, count, states); } -static void r600_bind_cs_sampler_states(struct pipe_context *ctx, unsigned count, void **states) +static void r600_bind_cs_sampler_states(struct pipe_context *ctx, unsigned start, + unsigned count, void **states) { - r600_bind_sampler_states(ctx, PIPE_SHADER_COMPUTE, 0, count, states); + r600_bind_sampler_states(ctx, PIPE_SHADER_COMPUTE, start, count, states); } static void r600_delete_sampler_state(struct pipe_context *ctx, void *state) @@ -597,6 +600,8 @@ static void r600_set_sampler_views(struct pipe_context *pipe, unsigned shader, pipe_sampler_view_reference((struct pipe_sampler_view **)&dst->views.views[i], NULL); } + /*XXX*/ if (!views) { return; } + for (i = 0; i < count; i++) { if (rviews[i] == dst->views.views[i]) { continue; @@ -666,10 +671,11 @@ static void r600_set_ps_sampler_views(struct pipe_context *ctx, unsigned count, r600_set_sampler_views(ctx, PIPE_SHADER_FRAGMENT, 0, count, views); } -static void r600_set_cs_sampler_views(struct pipe_context *ctx, unsigned count, +static void r600_set_cs_sampler_views(struct pipe_context *ctx, unsigned start, + unsigned count, struct pipe_sampler_view **views) { - r600_set_sampler_views(ctx, PIPE_SHADER_COMPUTE, 0, count, views); + r600_set_sampler_views(ctx, PIPE_SHADER_COMPUTE, start, count, views); } static void r600_set_viewport_states(struct pipe_context *ctx, |