diff options
author | Jerome Glisse <[email protected]> | 2010-09-02 16:53:33 -0400 |
---|---|---|
committer | Jerome Glisse <[email protected]> | 2010-09-02 16:58:47 -0400 |
commit | f8d11b2e8ebaab2845080900ff4a2068f9a20b5f (patch) | |
tree | 6dbafc5a4d2d11379dc1a2755b6e7739278035ae /src/gallium/winsys | |
parent | e746a6bb9a6c9f797d1b40ed22b2f296f8fa5aac (diff) |
r600g: force unbind of previously bind sampler/sampler_view
Previously bind sampler/sampler_view can be converted and endup
overwritting the current state we want to schedule. Example :
bind texA texB to sampler_view[0] & sampler_view[1], render,
bind texB to sampler_view[0] render. Now state associated to
texB are set to configure sampler_view slot 0, but as we don't
unbind sampler_view[1] still point to texB state so we end up
with sampler_view[1] overwritting sampler_view[0], which gives
wrong rendering if next rendering bind texA to sampler_view[0],
it will endup as texB is bound to sampler_view[0]. If you are
not confuse at that point give me a call i will be buying you
beer.
Signed-off-by: Jerome Glisse <[email protected]>
Diffstat (limited to 'src/gallium/winsys')
-rw-r--r-- | src/gallium/winsys/r600/drm/radeon_ctx.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/src/gallium/winsys/r600/drm/radeon_ctx.c b/src/gallium/winsys/r600/drm/radeon_ctx.c index 47fca761368..5d9cdca112e 100644 --- a/src/gallium/winsys/r600/drm/radeon_ctx.c +++ b/src/gallium/winsys/r600/drm/radeon_ctx.c @@ -321,7 +321,6 @@ void radeon_ctx_dump_bof(struct radeon_ctx *ctx, const char *file) bof_decref(device_id); device_id = NULL; /* dump relocs */ -printf("%d relocs\n", ctx->nreloc); blob = bof_blob(ctx->nreloc * 16, ctx->reloc); if (blob == NULL) goto out_err; @@ -330,7 +329,6 @@ printf("%d relocs\n", ctx->nreloc); bof_decref(blob); blob = NULL; /* dump cs */ -printf("%d pm4\n", ctx->cdwords); blob = bof_blob(ctx->cdwords * 4, ctx->pm4); if (blob == NULL) goto out_err; @@ -377,7 +375,6 @@ printf("%d pm4\n", ctx->cdwords); if (bof_object_set(root, "bo", array)) goto out_err; bof_dump_file(root, file); -printf("done dump\n"); out_err: bof_decref(blob); bof_decref(array); |