util/u_threaded: fix a CPU storage crash due to an invalid codepath taken
Fixes: 3df9d8ed80
- gallium/u_threaded: implement pipelined partial buffer uploads using CPU storage
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6837
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6594
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6613
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17556>
This commit is contained in:
parent
62207cf885
commit
83d820973c
|
@ -2370,8 +2370,14 @@ tc_transfer_flush_region(struct pipe_context *_pipe,
|
|||
tc_buffer_do_flush_region(tc, ttrans, &box);
|
||||
}
|
||||
|
||||
/* Staging transfers don't send the call to the driver. */
|
||||
if (ttrans->staging)
|
||||
/* Staging transfers don't send the call to the driver.
|
||||
*
|
||||
* Transfers using the CPU storage shouldn't call transfer_flush_region
|
||||
* in the driver because the buffer is not really mapped on the driver
|
||||
* side and the CPU storage always re-uploads everything (flush_region
|
||||
* makes no difference).
|
||||
*/
|
||||
if (ttrans->staging || ttrans->cpu_storage_mapped)
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue