gallium/u_threaded: don't sync in create_stream_output_target
authorMarek Olšák <marek.olsak@amd.com>
Thu, 11 Feb 2021 23:01:54 +0000 (18:01 -0500)
committerMarge Bot <eric+marge@anholt.net>
Thu, 11 Mar 2021 05:05:39 +0000 (05:05 +0000)
Manhattan needs this.

radeonsi can handle it since https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9028/diffs?commit_id=33ac9dec91d07ef353e110ac376842d84ec539b4.

Reviewed-by: Zoltán Böszörményi <zboszor@gmail.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9356>

src/gallium/auxiliary/util/u_threaded_context.c
src/gallium/auxiliary/util/u_threaded_context.h

index 148f3a1..139607b 100644 (file)
@@ -1344,7 +1344,6 @@ tc_create_stream_output_target(struct pipe_context *_pipe,
    struct threaded_resource *tres = threaded_resource(res);
    struct pipe_stream_output_target *view;
 
-   tc_sync(threaded_context(_pipe));
    util_range_add(&tres->b, &tres->valid_buffer_range, buffer_offset,
                   buffer_offset + buffer_size);
 
index 44a28f9..3982fb6 100644 (file)
@@ -77,8 +77,6 @@
  * - stream_output_target_destroy
  * - transfer_map (only unsychronized buffer mappings)
  * - get_query_result (when threaded_query::flushed == true)
- *
- * Create calls causing a sync that can't be async due to driver limitations:
  * - create_stream_output_target
  *
  *