Mesa (main): pvr: Restrict argument to dev_info where possible.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue Jun 7 14:02:37 UTC 2022
Module: Mesa
Branch: main
Commit: 2d0f49534fc5232b6c05adcf4be2bcf53b79afed
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2d0f49534fc5232b6c05adcf4be2bcf53b79afed
Author: Rajnesh Kanwal <rajnesh.kanwal at imgtec.com>
Date: Mon May 16 16:37:32 2022 +0100
pvr: Restrict argument to dev_info where possible.
Avoid passing whole device structure. In most of the cases
we only need dev_info from device pointer to check for
features and ERNs.
This commits simply avoids the need to carry device pointer
where ever we go.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal at imgtec.com>
Reviewed-by: Frank Binns <frank.binns at imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897>
---
src/imagination/vulkan/pvr_cmd_buffer.c | 22 +++++++++++-----------
src/imagination/vulkan/pvr_job_common.c | 8 ++++----
src/imagination/vulkan/pvr_job_common.h | 2 +-
3 files changed, 16 insertions(+), 16 deletions(-)
diff --git a/src/imagination/vulkan/pvr_cmd_buffer.c b/src/imagination/vulkan/pvr_cmd_buffer.c
index 4fe224f481d..4940df6a659 100644
--- a/src/imagination/vulkan/pvr_cmd_buffer.c
+++ b/src/imagination/vulkan/pvr_cmd_buffer.c
@@ -696,7 +696,7 @@ static inline uint32_t pvr_stride_from_pitch(uint32_t pitch, VkFormat vk_format)
}
static void pvr_setup_pbe_state(
- struct pvr_device *const device,
+ const struct pvr_device_info *dev_info,
struct pvr_framebuffer *framebuffer,
uint32_t mrt_index,
const struct usc_mrt_resource *mrt_resource,
@@ -707,7 +707,6 @@ static void pvr_setup_pbe_state(
uint32_t pbe_cs_words[static const ROGUE_NUM_PBESTATE_STATE_WORDS],
uint64_t pbe_reg_words[static const ROGUE_NUM_PBESTATE_REG_WORDS])
{
- const struct pvr_device_info *dev_info = &device->pdevice->dev_info;
const struct pvr_image *image = iview->image;
uint32_t level_pitch = image->mip_levels[iview->vk.base_mip_level].pitch;
@@ -817,7 +816,7 @@ static void pvr_setup_pbe_state(
render_params.slice = 0;
render_params.mrt_index = mrt_index;
- pvr_pbe_pack_state(device,
+ pvr_pbe_pack_state(dev_info,
&surface_params,
&render_params,
pbe_cs_words,
@@ -867,11 +866,10 @@ pvr_pass_get_pixel_output_width(const struct pvr_render_pass *pass,
return util_next_power_of_two(width);
}
-static VkResult pvr_sub_cmd_gfx_job_init(struct pvr_device *device,
+static VkResult pvr_sub_cmd_gfx_job_init(const struct pvr_device_info *dev_info,
struct pvr_cmd_buffer *cmd_buffer,
struct pvr_sub_cmd *sub_cmd)
{
- const struct pvr_device_info *dev_info = &device->pdevice->dev_info;
struct pvr_render_pass_info *render_pass_info =
&cmd_buffer->state.render_pass_info;
const struct pvr_renderpass_hwsetup_render *hw_render =
@@ -898,7 +896,7 @@ static VkResult pvr_sub_cmd_gfx_job_init(struct pvr_device *device,
if (surface->need_resolve)
pvr_finishme("Set up job resolve information.");
- pvr_setup_pbe_state(device,
+ pvr_setup_pbe_state(dev_info,
render_pass_info->framebuffer,
surface->mrt_index,
mrt_resource,
@@ -1064,12 +1062,10 @@ static VkResult pvr_sub_cmd_gfx_job_init(struct pvr_device *device,
*/
#define PVR_IDF_WDF_IN_REGISTER_CONST_COUNT 12U
-static void pvr_sub_cmd_compute_job_init(struct pvr_device *device,
+static void pvr_sub_cmd_compute_job_init(const struct pvr_device_info *dev_info,
struct pvr_cmd_buffer *cmd_buffer,
struct pvr_sub_cmd *sub_cmd)
{
- const struct pvr_device_info *dev_info = &device->pdevice->dev_info;
-
if (sub_cmd->compute.uses_barrier) {
sub_cmd->compute.submit_info.flags |=
PVR_WINSYS_COMPUTE_FLAG_PREVENT_ALL_OVERLAP;
@@ -1391,7 +1387,9 @@ static VkResult pvr_cmd_buffer_end_sub_cmd(struct pvr_cmd_buffer *cmd_buffer)
return result;
}
- result = pvr_sub_cmd_gfx_job_init(device, cmd_buffer, sub_cmd);
+ result = pvr_sub_cmd_gfx_job_init(&device->pdevice->dev_info,
+ cmd_buffer,
+ sub_cmd);
if (result != VK_SUCCESS) {
state->status = result;
return result;
@@ -1408,7 +1406,9 @@ static VkResult pvr_cmd_buffer_end_sub_cmd(struct pvr_cmd_buffer *cmd_buffer)
return result;
}
- pvr_sub_cmd_compute_job_init(device, cmd_buffer, sub_cmd);
+ pvr_sub_cmd_compute_job_init(&device->pdevice->dev_info,
+ cmd_buffer,
+ sub_cmd);
break;
case PVR_SUB_CMD_TYPE_TRANSFER:
diff --git a/src/imagination/vulkan/pvr_job_common.c b/src/imagination/vulkan/pvr_job_common.c
index b8ed5266674..24f18df6042 100644
--- a/src/imagination/vulkan/pvr_job_common.c
+++ b/src/imagination/vulkan/pvr_job_common.c
@@ -104,7 +104,7 @@ void pvr_pbe_get_src_format_and_gamma(VkFormat vk_format,
}
}
-static void pvr_pbe_get_src_pos(struct pvr_device *device,
+static void pvr_pbe_get_src_pos(const struct pvr_device_info *dev_info,
enum pvr_pbe_source_start_pos source_start,
uint32_t *const src_pos_out,
bool *const src_pos_offset_128_out)
@@ -126,7 +126,7 @@ static void pvr_pbe_get_src_pos(struct pvr_device *device,
case PVR_PBE_STARTPOS_BIT0:
default:
- if (PVR_HAS_FEATURE(&device->pdevice->dev_info, eight_output_registers)) {
+ if (PVR_HAS_FEATURE(dev_info, eight_output_registers)) {
switch (source_start) {
case PVR_PBE_STARTPOS_BIT128:
*src_pos_out = PVRX(PBESTATE_SOURCE_POS_START_BIT0);
@@ -160,7 +160,7 @@ static void pvr_pbe_get_src_pos(struct pvr_device *device,
}
void pvr_pbe_pack_state(
- struct pvr_device *device,
+ const struct pvr_device_info *dev_info,
const struct pvr_pbe_surf_params *surface_params,
const struct pvr_pbe_render_params *render_params,
uint32_t pbe_cs_words[static const ROGUE_NUM_PBESTATE_STATE_WORDS],
@@ -201,7 +201,7 @@ void pvr_pbe_pack_state(
state.source_format = surface_params->source_format;
- pvr_pbe_get_src_pos(device,
+ pvr_pbe_get_src_pos(dev_info,
render_params->source_start,
&state.source_pos,
&state.source_pos_offset_128);
diff --git a/src/imagination/vulkan/pvr_job_common.h b/src/imagination/vulkan/pvr_job_common.h
index f197002862d..fd0b4a1e444 100644
--- a/src/imagination/vulkan/pvr_job_common.h
+++ b/src/imagination/vulkan/pvr_job_common.h
@@ -125,7 +125,7 @@ struct pvr_pbe_render_params {
};
void pvr_pbe_pack_state(
- struct pvr_device *device,
+ const struct pvr_device_info *dev_info,
const struct pvr_pbe_surf_params *surface_params,
const struct pvr_pbe_render_params *render_params,
uint32_t pbe_cs_words[static const ROGUE_NUM_PBESTATE_STATE_WORDS],
More information about the mesa-commit
mailing list