mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 07:28:11 +02:00
panvk: Prepare things so we can push sysvals to our push uniform buffer
s/push_constant/push_uniform/ in a few places to prepare for sysval transition to push uniforms. Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28399>
This commit is contained in:
parent
0bafa94f9a
commit
6672135748
2 changed files with 12 additions and 12 deletions
|
|
@ -101,7 +101,7 @@ struct panvk_descriptor_state {
|
|||
mali_ptr ubos;
|
||||
mali_ptr textures;
|
||||
mali_ptr samplers;
|
||||
mali_ptr push_constants;
|
||||
mali_ptr push_uniforms;
|
||||
mali_ptr vs_attribs;
|
||||
mali_ptr vs_attrib_bufs;
|
||||
mali_ptr non_vs_attribs;
|
||||
|
|
|
|||
|
|
@ -341,23 +341,23 @@ panvk_cmd_prepare_sysvals(struct panvk_cmd_buffer *cmdbuf,
|
|||
}
|
||||
|
||||
static void
|
||||
panvk_cmd_prepare_push_constants(
|
||||
panvk_cmd_prepare_push_uniforms(
|
||||
struct panvk_cmd_buffer *cmdbuf,
|
||||
struct panvk_cmd_bind_point_state *bind_point_state)
|
||||
{
|
||||
struct panvk_descriptor_state *desc_state = &bind_point_state->desc_state;
|
||||
const struct panvk_pipeline *pipeline = bind_point_state->pipeline;
|
||||
|
||||
if (!pipeline->layout->push_constants.size || desc_state->push_constants)
|
||||
if (!pipeline->layout->push_constants.size || desc_state->push_uniforms)
|
||||
return;
|
||||
|
||||
struct panfrost_ptr push_constants = pan_pool_alloc_aligned(
|
||||
struct panfrost_ptr push_uniforms = pan_pool_alloc_aligned(
|
||||
&cmdbuf->desc_pool.base,
|
||||
ALIGN_POT(pipeline->layout->push_constants.size, 16), 16);
|
||||
|
||||
memcpy(push_constants.cpu, cmdbuf->push_constants,
|
||||
memcpy(push_uniforms.cpu, cmdbuf->push_constants,
|
||||
pipeline->layout->push_constants.size);
|
||||
desc_state->push_constants = push_constants.gpu;
|
||||
desc_state->push_uniforms = push_uniforms.gpu;
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
@ -1316,7 +1316,7 @@ panvk_cmd_draw(struct panvk_cmd_buffer *cmdbuf, struct panvk_draw_info *draw)
|
|||
|
||||
panvk_cmd_prepare_draw_sysvals(cmdbuf, bind_point_state, draw);
|
||||
panvk_cmd_prepare_push_sets(cmdbuf, bind_point_state);
|
||||
panvk_cmd_prepare_push_constants(cmdbuf, bind_point_state);
|
||||
panvk_cmd_prepare_push_uniforms(cmdbuf, bind_point_state);
|
||||
panvk_cmd_prepare_ubos(cmdbuf, bind_point_state);
|
||||
panvk_cmd_prepare_textures(cmdbuf, bind_point_state);
|
||||
panvk_cmd_prepare_samplers(cmdbuf, bind_point_state);
|
||||
|
|
@ -1328,7 +1328,7 @@ panvk_cmd_draw(struct panvk_cmd_buffer *cmdbuf, struct panvk_draw_info *draw)
|
|||
draw->tls = batch->tls.gpu;
|
||||
draw->fb = batch->fb.desc.gpu;
|
||||
draw->ubos = desc_state->ubos;
|
||||
draw->push_uniforms = desc_state->push_constants;
|
||||
draw->push_uniforms = desc_state->push_uniforms;
|
||||
draw->textures = desc_state->textures;
|
||||
draw->samplers = desc_state->samplers;
|
||||
|
||||
|
|
@ -1757,8 +1757,8 @@ panvk_per_arch(CmdDispatch)(VkCommandBuffer commandBuffer, uint32_t x,
|
|||
panvk_cmd_prepare_ubos(cmdbuf, bind_point_state);
|
||||
dispatch.ubos = desc_state->ubos;
|
||||
|
||||
panvk_cmd_prepare_push_constants(cmdbuf, bind_point_state);
|
||||
dispatch.push_uniforms = desc_state->push_constants;
|
||||
panvk_cmd_prepare_push_uniforms(cmdbuf, bind_point_state);
|
||||
dispatch.push_uniforms = desc_state->push_uniforms;
|
||||
|
||||
panvk_cmd_prepare_textures(cmdbuf, bind_point_state);
|
||||
dispatch.textures = desc_state->textures;
|
||||
|
|
@ -2124,14 +2124,14 @@ panvk_per_arch(CmdPushConstants)(VkCommandBuffer commandBuffer,
|
|||
struct panvk_descriptor_state *desc_state =
|
||||
panvk_cmd_get_desc_state(cmdbuf, GRAPHICS);
|
||||
|
||||
desc_state->push_constants = 0;
|
||||
desc_state->push_uniforms = 0;
|
||||
}
|
||||
|
||||
if (stageFlags & VK_SHADER_STAGE_COMPUTE_BIT) {
|
||||
struct panvk_descriptor_state *desc_state =
|
||||
panvk_cmd_get_desc_state(cmdbuf, COMPUTE);
|
||||
|
||||
desc_state->push_constants = 0;
|
||||
desc_state->push_uniforms = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue