llvmpipe: always set ssbo data pointers for draw

skipping these would lead to reading the previously-set data if
a null buffer was set after a valid buffer

cc: mesa-stable

Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16137>
This commit is contained in:
Mike Blumenkrantz 2022-04-23 09:39:06 -04:00 committed by Marge Bot
parent f1d1371e51
commit 6a219f318a
2 changed files with 4 additions and 6 deletions

View File

@ -1345,10 +1345,9 @@ try_update_scene_state( struct lp_setup_context *setup )
struct pipe_resource *buffer = setup->ssbos[i].current.buffer;
const ubyte *current_data = NULL;
if (!buffer)
continue;
/* resource buffer */
current_data = (ubyte *) llvmpipe_resource_data(buffer);
if (buffer)
current_data = (ubyte *) llvmpipe_resource_data(buffer);
if (current_data) {
current_data += setup->ssbos[i].current.buffer_offset;

View File

@ -1258,10 +1258,9 @@ update_csctx_ssbo(struct llvmpipe_context *llvmpipe)
struct pipe_resource *buffer = csctx->ssbos[i].current.buffer;
const ubyte *current_data = NULL;
if (!buffer)
continue;
/* resource buffer */
current_data = (ubyte *) llvmpipe_resource_data(buffer);
if (buffer)
current_data = (ubyte *) llvmpipe_resource_data(buffer);
if (current_data) {
current_data += csctx->ssbos[i].current.buffer_offset;