lavapipe: add a stream uploader to rendering_state and queue objects
not currently used Reviewed-by: Dave Airlie <airlied@redhat.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15457>
This commit is contained in:

committed by
Marge Bot

parent
de01a47b1c
commit
526e898dfc
@@ -1492,6 +1492,7 @@ lvp_queue_init(struct lvp_device *device, struct lvp_queue *queue,
|
|||||||
queue->cso = cso_create_context(queue->ctx, CSO_NO_VBUF);
|
queue->cso = cso_create_context(queue->ctx, CSO_NO_VBUF);
|
||||||
util_queue_init(&queue->queue, "lavapipe", 8, 1, UTIL_QUEUE_INIT_RESIZE_IF_FULL, device);
|
util_queue_init(&queue->queue, "lavapipe", 8, 1, UTIL_QUEUE_INIT_RESIZE_IF_FULL, device);
|
||||||
p_atomic_set(&queue->count, 0);
|
p_atomic_set(&queue->count, 0);
|
||||||
|
queue->uploader = u_upload_create(queue->ctx, 1024 * 1024, PIPE_BIND_CONSTANT_BUFFER, PIPE_USAGE_STREAM, 0);
|
||||||
|
|
||||||
return VK_SUCCESS;
|
return VK_SUCCESS;
|
||||||
}
|
}
|
||||||
@@ -1502,6 +1503,7 @@ lvp_queue_finish(struct lvp_queue *queue)
|
|||||||
util_queue_finish(&queue->queue);
|
util_queue_finish(&queue->queue);
|
||||||
util_queue_destroy(&queue->queue);
|
util_queue_destroy(&queue->queue);
|
||||||
|
|
||||||
|
u_upload_destroy(queue->uploader);
|
||||||
cso_destroy_context(queue->cso);
|
cso_destroy_context(queue->cso);
|
||||||
queue->ctx->destroy(queue->ctx);
|
queue->ctx->destroy(queue->ctx);
|
||||||
simple_mtx_destroy(&queue->last_lock);
|
simple_mtx_destroy(&queue->last_lock);
|
||||||
|
@@ -59,6 +59,7 @@ enum gs_output {
|
|||||||
|
|
||||||
struct rendering_state {
|
struct rendering_state {
|
||||||
struct pipe_context *pctx;
|
struct pipe_context *pctx;
|
||||||
|
struct u_upload_mgr *uploader;
|
||||||
struct cso_context *cso;
|
struct cso_context *cso;
|
||||||
|
|
||||||
bool blend_dirty;
|
bool blend_dirty;
|
||||||
@@ -4254,6 +4255,7 @@ VkResult lvp_execute_cmds(struct lvp_device *device,
|
|||||||
struct rendering_state *state = queue->state;
|
struct rendering_state *state = queue->state;
|
||||||
memset(state, 0, sizeof(*state));
|
memset(state, 0, sizeof(*state));
|
||||||
state->pctx = queue->ctx;
|
state->pctx = queue->ctx;
|
||||||
|
state->uploader = queue->uploader;
|
||||||
state->cso = queue->cso;
|
state->cso = queue->cso;
|
||||||
state->blend_dirty = true;
|
state->blend_dirty = true;
|
||||||
state->dsa_dirty = true;
|
state->dsa_dirty = true;
|
||||||
|
@@ -34,6 +34,7 @@
|
|||||||
#include "util/u_dynarray.h"
|
#include "util/u_dynarray.h"
|
||||||
#include "util/simple_mtx.h"
|
#include "util/simple_mtx.h"
|
||||||
#include "util/u_queue.h"
|
#include "util/u_queue.h"
|
||||||
|
#include "util/u_upload_mgr.h"
|
||||||
|
|
||||||
#include "compiler/shader_enums.h"
|
#include "compiler/shader_enums.h"
|
||||||
#include "pipe/p_screen.h"
|
#include "pipe/p_screen.h"
|
||||||
@@ -163,6 +164,7 @@ struct lvp_queue {
|
|||||||
struct lvp_device * device;
|
struct lvp_device * device;
|
||||||
struct pipe_context *ctx;
|
struct pipe_context *ctx;
|
||||||
struct cso_context *cso;
|
struct cso_context *cso;
|
||||||
|
struct u_upload_mgr *uploader;
|
||||||
bool shutdown;
|
bool shutdown;
|
||||||
uint64_t timeline;
|
uint64_t timeline;
|
||||||
struct util_queue queue;
|
struct util_queue queue;
|
||||||
|
Reference in New Issue
Block a user