pvr: pass device-info to a few winsys functions

These will have to start knowing about the arch...

Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38922>
This commit is contained in:
Erik Faye-Lund 2025-11-26 15:48:31 +01:00
parent ba2c40cd03
commit 346e365daa
10 changed files with 12 additions and 0 deletions

View file

@ -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;

View file

@ -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];

View file

@ -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);

View file

@ -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];

View file

@ -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);

View file

@ -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)(

View file

@ -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 = {

View file

@ -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);

View file

@ -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);

View file

@ -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);