mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-01 09:40:08 +01:00
zink: set valid region for streamout buffers on bind
this catches rebinds and is more accurate about the state of the region Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9546>
This commit is contained in:
parent
8c1422dca5
commit
a00f10207c
2 changed files with 5 additions and 5 deletions
|
|
@ -2116,9 +2116,6 @@ zink_create_stream_output_target(struct pipe_context *pctx,
|
|||
t->base.buffer_offset = buffer_offset;
|
||||
t->base.buffer_size = buffer_size;
|
||||
|
||||
struct zink_resource *res = zink_resource(pres);
|
||||
util_range_add(pres, &res->valid_buffer_range, buffer_offset,
|
||||
buffer_offset + buffer_size);
|
||||
return &t->base;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -140,12 +140,15 @@ zink_emit_stream_output_targets(struct pipe_context *pctx)
|
|||
buffer_sizes[i] = sizeof(uint8_t);
|
||||
continue;
|
||||
}
|
||||
buffers[i] = zink_resource(t->base.buffer)->obj->buffer;
|
||||
struct zink_resource *res = zink_resource(t->base.buffer);
|
||||
buffers[i] = res->obj->buffer;
|
||||
zink_resource_buffer_barrier(ctx, NULL, zink_resource(t->base.buffer),
|
||||
VK_ACCESS_TRANSFORM_FEEDBACK_WRITE_BIT_EXT, VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT);
|
||||
zink_batch_reference_resource_rw(batch, zink_resource(t->base.buffer), true);
|
||||
zink_batch_reference_resource_rw(batch, res, true);
|
||||
buffer_offsets[i] = t->base.buffer_offset;
|
||||
buffer_sizes[i] = t->base.buffer_size;
|
||||
util_range_add(t->base.buffer, &res->valid_buffer_range, t->base.buffer_offset,
|
||||
t->base.buffer_offset + t->base.buffer_size);
|
||||
}
|
||||
|
||||
screen->vk_CmdBindTransformFeedbackBuffersEXT(batch->cmdbuf, 0, ctx->num_so_targets,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue