diff options
author | Iago Toral Quiroga <[email protected]> | 2019-10-30 14:19:30 +0100 |
---|---|---|
committer | Iago Toral Quiroga <[email protected]> | 2019-12-16 08:42:37 +0100 |
commit | a1b7c0844ddcbdc5ab773cbe2f6312f34111bdd9 (patch) | |
tree | d140eda451b2e44ad4012fc0960612b574b14b6a /src/gallium/drivers/v3d/v3dx_state.c | |
parent | 6c7a2b69f8df5a9c0cb8c8f3b099694bbe1b0b53 (diff) |
v3d: fix primitive queries for geometry shaders
With geometry shaders the number of emitted primitived is decided
at run time, so we cannot precompute it in the CPU and we need to
use the PRIMITIVE_COUNTS_FEEDBACK commands to have the GPU provide
the number like we do for the number of primitives written to
transform feedback. This may have a performance impact though, since
it requires a sync wait for the draw to complete, so we only do
it when geometry shaders are present.
v2: remove '> 0' comparison for ponter type (Alejandro)
Reviewed-by: Alejandro PiƱeiro <[email protected]>
Diffstat (limited to 'src/gallium/drivers/v3d/v3dx_state.c')
-rw-r--r-- | src/gallium/drivers/v3d/v3dx_state.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/v3d/v3dx_state.c b/src/gallium/drivers/v3d/v3dx_state.c index 840d8288298..a0bb71ca540 100644 --- a/src/gallium/drivers/v3d/v3dx_state.c +++ b/src/gallium/drivers/v3d/v3dx_state.c @@ -1234,7 +1234,7 @@ v3d_set_stream_output_targets(struct pipe_context *pctx, * draw we need to do it here as well. */ if (num_targets == 0 && so->num_targets > 0) - v3d_tf_update_counters(ctx); + v3d_update_primitive_counters(ctx); for (i = 0; i < num_targets; i++) { if (offsets[i] != -1) |