pvr: Pass device info struct in pds generator.
Fixes a potential NULL pointer dereference. Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com> Reviewed-by: Frank Binns <frank.binns@imgtec.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16897>
This commit is contained in:
parent
b24216c52d
commit
86f703e7b1
|
@ -715,8 +715,8 @@ uint32_t *pvr_pds_vertex_shader_sa(
|
|||
const struct pvr_device_info *dev_info);
|
||||
|
||||
/* Pixel Event */
|
||||
#define pvr_pds_set_sizes_pixel_event(X) \
|
||||
pvr_pds_generate_pixel_event(X, NULL, PDS_GENERATE_SIZES, NULL)
|
||||
#define pvr_pds_set_sizes_pixel_event(X, Y) \
|
||||
pvr_pds_generate_pixel_event(X, NULL, PDS_GENERATE_SIZES, Y)
|
||||
|
||||
#define pvr_pds_generate_pixel_event_data_segment(X, Y, Z) \
|
||||
pvr_pds_generate_pixel_event(X, Y, PDS_GENERATE_DATA_SEGMENT, Z)
|
||||
|
|
|
@ -1001,6 +1001,7 @@ static VkResult pvr_device_init_compute_fence_program(struct pvr_device *device)
|
|||
* pvr_srv_setup_static_pixel_event_program().
|
||||
*/
|
||||
static void pvr_device_get_pixel_event_pds_program_data_size(
|
||||
const struct pvr_device_info *dev_info,
|
||||
uint32_t *const data_size_in_dwords_out)
|
||||
{
|
||||
struct pvr_pds_event_program program = {
|
||||
|
@ -1008,7 +1009,7 @@ static void pvr_device_get_pixel_event_pds_program_data_size(
|
|||
.num_emit_word_pairs = 0,
|
||||
};
|
||||
|
||||
pvr_pds_set_sizes_pixel_event(&program);
|
||||
pvr_pds_set_sizes_pixel_event(&program, dev_info);
|
||||
|
||||
*data_size_in_dwords_out = program.data_size;
|
||||
}
|
||||
|
@ -1177,6 +1178,7 @@ VkResult pvr_CreateDevice(VkPhysicalDevice physicalDevice,
|
|||
* on each kick.
|
||||
*/
|
||||
pvr_device_get_pixel_event_pds_program_data_size(
|
||||
&pdevice->dev_info,
|
||||
&device->pixel_event_data_size_in_dwords);
|
||||
|
||||
device->global_queue_job_count = 0;
|
||||
|
|
Loading…
Reference in New Issue