Module: Mesa Branch: master Commit: b72ff373fb105fbf75603369afe4897b4de06892 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b72ff373fb105fbf75603369afe4897b4de06892
Author: José Fonseca <[email protected]> Date: Thu Apr 18 19:05:53 2013 +0100 llvmpipe: Take in consideration all current constant buffers when mapping. Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Zack Rusin <[email protected]> --- src/gallium/drivers/llvmpipe/lp_texture.c | 12 +++++++++--- 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/gallium/drivers/llvmpipe/lp_texture.c b/src/gallium/drivers/llvmpipe/lp_texture.c index 99bd6d3..0804619 100644 --- a/src/gallium/drivers/llvmpipe/lp_texture.c +++ b/src/gallium/drivers/llvmpipe/lp_texture.c @@ -669,9 +669,15 @@ llvmpipe_transfer_map( struct pipe_context *pipe, /* Check if we're mapping the current constant buffer */ if ((usage & PIPE_TRANSFER_WRITE) && - resource == llvmpipe->constants[PIPE_SHADER_FRAGMENT][0].buffer) { - /* constants may have changed */ - llvmpipe->dirty |= LP_NEW_CONSTANTS; + (resource->bind & PIPE_BIND_CONSTANT_BUFFER)) { + unsigned i; + for (i = 0; i < Elements(llvmpipe->constants[PIPE_SHADER_FRAGMENT]); ++i) { + if (resource == llvmpipe->constants[PIPE_SHADER_FRAGMENT][i].buffer) { + /* constants may have changed */ + llvmpipe->dirty |= LP_NEW_CONSTANTS; + break; + } + } } lpt = CALLOC_STRUCT(llvmpipe_transfer); _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
