pvr: connect basic pco functions to the driver

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258>
This commit is contained in:
Simon Perretta 2024-05-08 22:00:11 +01:00 committed by Marge Bot
parent 008b635031
commit 8702dfce62
3 changed files with 17 additions and 0 deletions

View file

@ -41,6 +41,7 @@
#include "git_sha1.h"
#include "hwdef/rogue_hw_utils.h"
#include "pco/pco.h"
#include "pvr_bo.h"
#include "pvr_border.h"
#include "pvr_clear.h"
@ -659,6 +660,9 @@ static void pvr_physical_device_destroy(struct vk_physical_device *vk_pdevice)
* before freeing or that the freeing functions accept NULL pointers.
*/
if (pdevice->pco_ctx)
ralloc_free(pdevice->pco_ctx);
if (pdevice->compiler)
ralloc_free(pdevice->compiler);
@ -825,6 +829,15 @@ static VkResult pvr_physical_device_init(struct pvr_physical_device *pdevice,
goto err_wsi_finish;
}
pdevice->pco_ctx = pco_ctx_create(&pdevice->dev_info, NULL);
if (!pdevice->pco_ctx) {
ralloc_free(pdevice->compiler);
result = vk_errorf(instance,
VK_ERROR_INITIALIZATION_FAILED,
"Failed to initialize PCO compiler context");
goto err_wsi_finish;
}
return VK_SUCCESS;
err_wsi_finish:

View file

@ -33,6 +33,7 @@
#include "compiler/shader_enums.h"
#include "hwdef/rogue_hw_utils.h"
#include "nir/nir.h"
#include "pco/pco.h"
#include "pvr_bo.h"
#include "pvr_csb.h"
#include "pvr_csb_enum_helpers.h"
@ -56,6 +57,7 @@
#include "vk_pipeline_cache.h"
#include "vk_render_pass.h"
#include "vk_util.h"
#include "vulkan/runtime/vk_pipeline.h"
/*****************************************************************************
PDS functions

View file

@ -38,6 +38,7 @@
#include "compiler/shader_enums.h"
#include "hwdef/rogue_hw_defs.h"
#include "pco/pco.h"
#include "pvr_border.h"
#include "pvr_clear.h"
#include "pvr_common.h"
@ -112,6 +113,7 @@ struct pvr_physical_device {
struct wsi_device wsi_device;
struct rogue_compiler *compiler;
pco_ctx *pco_ctx;
};
struct pvr_instance {