diff --git a/src/imagination/vulkan/pvr_arch_job_context.c b/src/imagination/vulkan/pvr_arch_job_context.c index 01cb3d2156f..43db184eb12 100644 --- a/src/imagination/vulkan/pvr_arch_job_context.c +++ b/src/imagination/vulkan/pvr_arch_job_context.c @@ -895,6 +895,7 @@ VkResult pvr_render_ctx_create(struct pvr_device *device, result = device->ws->ops->render_ctx_create(device->ws, &create_info, + &device->pdevice->dev_info, &ctx->ws_ctx); if (result != VK_SUCCESS) goto err_render_ctx_reset_cmd_fini; @@ -1159,6 +1160,7 @@ VkResult pvr_compute_ctx_create(struct pvr_device *const device, result = device->ws->ops->compute_ctx_create(device->ws, &create_info, + &device->pdevice->dev_info, &ctx->ws_ctx); if (result != VK_SUCCESS) goto err_fini_reset_cmd; diff --git a/src/imagination/vulkan/winsys/powervr/pvr_drm_job_compute.c b/src/imagination/vulkan/winsys/powervr/pvr_drm_job_compute.c index 0a13cf03f3e..413709a1510 100644 --- a/src/imagination/vulkan/winsys/powervr/pvr_drm_job_compute.c +++ b/src/imagination/vulkan/winsys/powervr/pvr_drm_job_compute.c @@ -47,6 +47,7 @@ struct pvr_drm_winsys_compute_ctx { VkResult pvr_drm_winsys_compute_ctx_create( struct pvr_winsys *ws, const struct pvr_winsys_compute_ctx_create_info *create_info, + const struct pvr_device_info *dev_info, struct pvr_winsys_compute_ctx **const ctx_out) { uint8_t static_ctx_state_fw_stream[64]; diff --git a/src/imagination/vulkan/winsys/powervr/pvr_drm_job_compute.h b/src/imagination/vulkan/winsys/powervr/pvr_drm_job_compute.h index 37f209fc083..ab8ff3a6fab 100644 --- a/src/imagination/vulkan/winsys/powervr/pvr_drm_job_compute.h +++ b/src/imagination/vulkan/winsys/powervr/pvr_drm_job_compute.h @@ -40,6 +40,7 @@ struct vk_sync; VkResult pvr_drm_winsys_compute_ctx_create( struct pvr_winsys *ws, const struct pvr_winsys_compute_ctx_create_info *create_info, + const struct pvr_device_info *dev_info, struct pvr_winsys_compute_ctx **const ctx_out); void pvr_drm_winsys_compute_ctx_destroy(struct pvr_winsys_compute_ctx *ctx); diff --git a/src/imagination/vulkan/winsys/powervr/pvr_drm_job_render.c b/src/imagination/vulkan/winsys/powervr/pvr_drm_job_render.c index 6e85b7eb680..9e0f0bd6773 100644 --- a/src/imagination/vulkan/winsys/powervr/pvr_drm_job_render.c +++ b/src/imagination/vulkan/winsys/powervr/pvr_drm_job_render.c @@ -158,6 +158,7 @@ struct pvr_drm_winsys_render_ctx { VkResult pvr_drm_winsys_render_ctx_create( struct pvr_winsys *ws, struct pvr_winsys_render_ctx_create_info *create_info, + const struct pvr_device_info *dev_info, struct pvr_winsys_render_ctx **const ctx_out) { uint8_t static_ctx_state_fw_stream[192]; diff --git a/src/imagination/vulkan/winsys/powervr/pvr_drm_job_render.h b/src/imagination/vulkan/winsys/powervr/pvr_drm_job_render.h index 82c2165f580..8f34134f7c8 100644 --- a/src/imagination/vulkan/winsys/powervr/pvr_drm_job_render.h +++ b/src/imagination/vulkan/winsys/powervr/pvr_drm_job_render.h @@ -58,6 +58,7 @@ void pvr_drm_winsys_free_list_destroy(struct pvr_winsys_free_list *free_list); VkResult pvr_drm_winsys_render_ctx_create( struct pvr_winsys *ws, struct pvr_winsys_render_ctx_create_info *create_info, + const struct pvr_device_info *dev_info, struct pvr_winsys_render_ctx **const ctx_out); void pvr_drm_winsys_render_ctx_destroy(struct pvr_winsys_render_ctx *ctx); diff --git a/src/imagination/vulkan/winsys/pvr_winsys.h b/src/imagination/vulkan/winsys/pvr_winsys.h index ca16f067e18..6bf3193af1a 100644 --- a/src/imagination/vulkan/winsys/pvr_winsys.h +++ b/src/imagination/vulkan/winsys/pvr_winsys.h @@ -407,6 +407,7 @@ struct pvr_winsys_ops { VkResult (*render_ctx_create)( struct pvr_winsys *ws, struct pvr_winsys_render_ctx_create_info *create_info, + const struct pvr_device_info *dev_info, struct pvr_winsys_render_ctx **const ctx_out); void (*render_ctx_destroy)(struct pvr_winsys_render_ctx *ctx); VkResult (*render_submit)( @@ -419,6 +420,7 @@ struct pvr_winsys_ops { VkResult (*compute_ctx_create)( struct pvr_winsys *ws, const struct pvr_winsys_compute_ctx_create_info *create_info, + const struct pvr_device_info *dev_info, struct pvr_winsys_compute_ctx **const ctx_out); void (*compute_ctx_destroy)(struct pvr_winsys_compute_ctx *ctx); VkResult (*compute_submit)( diff --git a/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_compute.c b/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_compute.c index 6057e6a48ae..9a6eae9cc39 100644 --- a/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_compute.c +++ b/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_compute.c @@ -58,6 +58,7 @@ struct pvr_srv_winsys_compute_ctx { VkResult pvr_srv_winsys_compute_ctx_create( struct pvr_winsys *ws, const struct pvr_winsys_compute_ctx_create_info *create_info, + const struct pvr_device_info *dev_info, struct pvr_winsys_compute_ctx **const ctx_out) { struct rogue_fwif_static_computecontext_state static_state = { diff --git a/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_compute.h b/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_compute.h index 1c7a7d2ef31..d6fcaf88b0f 100644 --- a/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_compute.h +++ b/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_compute.h @@ -41,6 +41,7 @@ struct vk_sync; VkResult pvr_srv_winsys_compute_ctx_create( struct pvr_winsys *ws, const struct pvr_winsys_compute_ctx_create_info *create_info, + const struct pvr_device_info *dev_info, struct pvr_winsys_compute_ctx **const ctx_out); void pvr_srv_winsys_compute_ctx_destroy(struct pvr_winsys_compute_ctx *ctx); diff --git a/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_render.c b/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_render.c index 27e1ed1a75e..9041557cb7e 100644 --- a/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_render.c +++ b/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_render.c @@ -221,6 +221,7 @@ static void pvr_srv_render_ctx_fw_static_state_init( VkResult pvr_srv_winsys_render_ctx_create( struct pvr_winsys *ws, struct pvr_winsys_render_ctx_create_info *create_info, + const struct pvr_device_info *dev_info, struct pvr_winsys_render_ctx **const ctx_out) { struct pvr_srv_winsys *srv_ws = to_pvr_srv_winsys(ws); diff --git a/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_render.h b/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_render.h index d3ca0cadf7b..5b661bf439b 100644 --- a/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_render.h +++ b/src/imagination/vulkan/winsys/pvrsrvkm/pvr_srv_job_render.h @@ -68,6 +68,7 @@ void pvr_srv_render_target_dataset_destroy( VkResult pvr_srv_winsys_render_ctx_create( struct pvr_winsys *ws, struct pvr_winsys_render_ctx_create_info *create_info, + const struct pvr_device_info *dev_info, struct pvr_winsys_render_ctx **const ctx_out); void pvr_srv_winsys_render_ctx_destroy(struct pvr_winsys_render_ctx *ctx);