From 7c5ef9de02ad151fa149061711148677d950a954 Mon Sep 17 00:00:00 2001 From: "Juan A. Suarez Romero" Date: Fri, 4 Jul 2025 16:29:16 +0200 Subject: [PATCH] v3d: handle QUNIFORM_GET_UBO_SIZE This uniform will be used when creating context with robust buffer access. Signed-off-by: Juan A. Suarez Romero Reviewed-by: Jose Maria Casanova Crespo Reviewed-by: Iago Toral Quiroga Part-of: --- src/gallium/drivers/v3d/v3d_uniforms.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/gallium/drivers/v3d/v3d_uniforms.c b/src/gallium/drivers/v3d/v3d_uniforms.c index 91dcdf8c3e0..de5c4a82b71 100644 --- a/src/gallium/drivers/v3d/v3d_uniforms.c +++ b/src/gallium/drivers/v3d/v3d_uniforms.c @@ -336,6 +336,13 @@ v3d_write_uniforms(struct v3d_context *v3d, struct v3d_job *job, break; } + case QUNIFORM_GET_UBO_SIZE: { + uint32_t unit = v3d_unit_data_get_unit(data); + cl_aligned_u32(&uniforms, + cb->cb[unit].buffer_size); + break; + } + case QUNIFORM_SSBO_OFFSET: { struct pipe_shader_buffer *sb = &v3d->ssbo[stage].sb[data]; @@ -432,6 +439,7 @@ v3d_set_shader_uniform_dirty_flags(struct v3d_compiled_shader *shader) break; case QUNIFORM_UNIFORM: case QUNIFORM_UBO_ADDR: + case QUNIFORM_GET_UBO_SIZE: dirty |= V3D_DIRTY_CONSTBUF; break;