diff --git a/src/imagination/vulkan/winsys/pvr_winsys_helper.c b/src/imagination/vulkan/winsys/pvr_winsys_helper.c index c78f1598e52..3f05e08affe 100644 --- a/src/imagination/vulkan/winsys/pvr_winsys_helper.c +++ b/src/imagination/vulkan/winsys/pvr_winsys_helper.c @@ -27,6 +27,8 @@ #include #include +#include "pco/pco_data.h" +#include "pco_uscgen_programs.h" #include "pvr_private.h" #include "pvr_types.h" #include "pvr_winsys.h" @@ -277,19 +279,17 @@ static void pvr_setup_static_vdm_sync(uint8_t *const pds_ptr, uint8_t *const usc_ptr, uint64_t usc_sync_offset_in_bytes) { - /* TODO: this needs to be auto-generated */ - const uint8_t state_update[] = { 0x44, 0xA0, 0x80, 0x05, - 0x00, 0x00, 0x00, 0xFF }; - struct pvr_pds_kickusc_program ppp_state_update_program = { 0 }; + const pco_precomp_data *precomp_data = + (pco_precomp_data *)pco_usclib_common[VS_NOP_COMMON]; memcpy(usc_ptr + usc_sync_offset_in_bytes, - state_update, - sizeof(state_update)); + precomp_data->binary, + precomp_data->size_dwords * sizeof(uint32_t)); pvr_pds_setup_doutu(&ppp_state_update_program.usc_task_control, usc_sync_offset_in_bytes, - 0, + precomp_data->temps, ROGUE_PDSINST_DOUTU_SAMPLE_RATE_INSTANCE, false);