mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-02 18:10:17 +01:00
d3d12: Compute transform UBO0 is actually binding 1
Since lower_uniforms_to_ubo will unconditionally increment UBO indices from 0 to 1. Reviewed-by: Sil Vilerino <sivileri@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14787>
This commit is contained in:
parent
317c870f0f
commit
8875a2fb25
3 changed files with 5 additions and 5 deletions
|
|
@ -314,8 +314,8 @@ d3d12_save_compute_transform_state(struct d3d12_context *ctx, d3d12_compute_tran
|
|||
memset(save, 0, sizeof(*save));
|
||||
save->cs = ctx->compute_state;
|
||||
|
||||
pipe_resource_reference(&save->cbuf0.buffer, ctx->cbufs[PIPE_SHADER_COMPUTE][0].buffer);
|
||||
save->cbuf0 = ctx->cbufs[PIPE_SHADER_COMPUTE][0];
|
||||
pipe_resource_reference(&save->cbuf0.buffer, ctx->cbufs[PIPE_SHADER_COMPUTE][1].buffer);
|
||||
save->cbuf0 = ctx->cbufs[PIPE_SHADER_COMPUTE][1];
|
||||
|
||||
for (unsigned i = 0; i < ARRAY_SIZE(save->ssbos); ++i) {
|
||||
pipe_resource_reference(&save->ssbos[i].buffer, ctx->ssbo_views[PIPE_SHADER_COMPUTE][i].buffer);
|
||||
|
|
@ -328,7 +328,7 @@ d3d12_restore_compute_transform_state(struct d3d12_context *ctx, d3d12_compute_t
|
|||
{
|
||||
ctx->base.bind_compute_state(&ctx->base, save->cs);
|
||||
|
||||
ctx->base.set_constant_buffer(&ctx->base, PIPE_SHADER_COMPUTE, 0, true, &save->cbuf0);
|
||||
ctx->base.set_constant_buffer(&ctx->base, PIPE_SHADER_COMPUTE, 1, true, &save->cbuf0);
|
||||
ctx->base.set_shader_buffers(&ctx->base, PIPE_SHADER_COMPUTE, 0, ARRAY_SIZE(save->ssbos), save->ssbos, (1u << ARRAY_SIZE(save->ssbos)) - 1);
|
||||
|
||||
if (ctx->current_predication)
|
||||
|
|
|
|||
|
|
@ -1878,7 +1878,7 @@ d3d12_disable_fake_so_buffers(struct d3d12_context *ctx)
|
|||
cbuf.buffer = fake_target->fill_buffer;
|
||||
cbuf.buffer_offset = fake_target->fill_buffer_offset;
|
||||
cbuf.buffer_size = fake_target->fill_buffer->width0 - cbuf.buffer_offset;
|
||||
ctx->base.set_constant_buffer(&ctx->base, PIPE_SHADER_COMPUTE, 0, true, &cbuf);
|
||||
ctx->base.set_constant_buffer(&ctx->base, PIPE_SHADER_COMPUTE, 1, true, &cbuf);
|
||||
|
||||
grid.indirect = fake_target->fill_buffer;
|
||||
grid.indirect_offset = fake_target->fill_buffer_offset + 4;
|
||||
|
|
|
|||
|
|
@ -780,7 +780,7 @@ update_draw_indirect_with_sysvals(struct d3d12_context *ctx,
|
|||
draw_count_cbuf.buffer_offset = indirect_in->indirect_draw_count_offset;
|
||||
draw_count_cbuf.buffer_size = 4;
|
||||
draw_count_cbuf.user_buffer = nullptr;
|
||||
ctx->base.set_constant_buffer(&ctx->base, PIPE_SHADER_COMPUTE, 0, true, &draw_count_cbuf);
|
||||
ctx->base.set_constant_buffer(&ctx->base, PIPE_SHADER_COMPUTE, 1, true, &draw_count_cbuf);
|
||||
}
|
||||
|
||||
pipe_shader_buffer new_cs_ssbos[2];
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue