X-Git-Url: https://git.libre-soc.org/?p=mesa.git;a=blobdiff_plain;f=src%2Fpanfrost%2Flib%2Fpan_blit.c;h=c1b704bff8f79a2406a74708de7f98b780aa90cc;hp=802ca40ac2b9882771918f801c91007dae60d21e;hb=59b6e3c98ce5279fb9dc19e0754eb4ade248cf43;hpb=d6a5df0db0bb0c2c1fb5e5baa3d2ab906683f331 diff --git a/src/panfrost/lib/pan_blit.c b/src/panfrost/lib/pan_blit.c index 802ca40ac2b..c1b704bff8f 100644 --- a/src/panfrost/lib/pan_blit.c +++ b/src/panfrost/lib/pan_blit.c @@ -349,19 +349,24 @@ panfrost_load_midg( .unknown_draw = 0x3000, .index_count = MALI_POSITIVE(vertex_count) }, - .postfix = { - .gl_enables = 0x7, - .position_varying = coordinates, - .textures = panfrost_pool_upload(pool, &texture_t.gpu, sizeof(texture_t.gpu)), - .sampler_descriptor = sampler.gpu, - .shader = shader_meta_t.gpu, - .varyings = varying_buffer.gpu, - .varying_meta = varying.gpu, - .viewport = viewport.gpu, - .shared_memory = fbd - } }; + struct mali_draw_packed draw; + + pan_pack(&draw, DRAW, cfg) { + cfg.unknown_1 = 0x7; + cfg.position = coordinates; + cfg.textures = panfrost_pool_upload(pool, &texture_t.gpu, sizeof(texture_t.gpu)); + cfg.samplers = sampler.gpu; + cfg.state = shader_meta_t.gpu; + cfg.varying_buffers = varying_buffer.gpu; + cfg.varyings = varying.gpu; + cfg.viewport = viewport.gpu; + cfg.shared = fbd; + } + + memcpy(&payload.postfix, &draw, MALI_DRAW_LENGTH); + panfrost_pack_work_groups_compute(&payload.prefix, 1, vertex_count, 1, 1, 1, 1, true); payload.prefix.workgroups_x_shift_3 = 6;