mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-21 15:50:11 +01:00
pvr: break out queries to separate header
Reviewed-by: Frank Binns <frank.binns@imgtec.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37432>
This commit is contained in:
parent
9d2478d353
commit
b51fac6212
7 changed files with 80 additions and 50 deletions
|
|
@ -51,6 +51,7 @@
|
|||
#include "pvr_pass.h"
|
||||
#include "pvr_pds.h"
|
||||
#include "pvr_private.h"
|
||||
#include "pvr_query.h"
|
||||
#include "pvr_tex_state.h"
|
||||
#include "pvr_types.h"
|
||||
#include "pvr_usc.h"
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@
|
|||
#include "pvr_pass.h"
|
||||
#include "pvr_pds.h"
|
||||
#include "pvr_private.h"
|
||||
#include "pvr_query.h"
|
||||
#include "pvr_queue.h"
|
||||
#include "pvr_robustness.h"
|
||||
#include "pvr_tex_state.h"
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
#include "pvr_job_render.h"
|
||||
#include "pvr_pds.h"
|
||||
#include "pvr_private.h"
|
||||
#include "pvr_query.h"
|
||||
#include "pvr_rogue_fw.h"
|
||||
#include "pvr_types.h"
|
||||
#include "pvr_winsys.h"
|
||||
|
|
|
|||
|
|
@ -186,20 +186,6 @@ struct pvr_graphics_pipeline {
|
|||
} shader_state;
|
||||
};
|
||||
|
||||
struct pvr_query_pool {
|
||||
struct vk_object_base base;
|
||||
|
||||
/* Stride of result_buffer to get to the start of the results for the next
|
||||
* Phantom.
|
||||
*/
|
||||
uint32_t result_stride;
|
||||
|
||||
uint32_t query_count;
|
||||
|
||||
struct pvr_suballoc_bo *result_buffer;
|
||||
struct pvr_suballoc_bo *availability_buffer;
|
||||
};
|
||||
|
||||
struct pvr_private_compute_pipeline {
|
||||
/* Used by pvr_compute_update_kernel_private(). */
|
||||
uint32_t pds_code_offset;
|
||||
|
|
@ -221,35 +207,6 @@ struct pvr_private_compute_pipeline {
|
|||
pvr_dev_addr_t const_buffer_addr;
|
||||
};
|
||||
|
||||
struct pvr_query_info {
|
||||
enum pvr_query_type type;
|
||||
|
||||
union {
|
||||
struct {
|
||||
uint32_t num_query_indices;
|
||||
struct pvr_suballoc_bo *index_bo;
|
||||
uint32_t num_queries;
|
||||
struct pvr_suballoc_bo *availability_bo;
|
||||
} availability_write;
|
||||
|
||||
struct {
|
||||
VkQueryPool query_pool;
|
||||
uint32_t first_query;
|
||||
uint32_t query_count;
|
||||
} reset_query_pool;
|
||||
|
||||
struct {
|
||||
VkQueryPool query_pool;
|
||||
uint32_t first_query;
|
||||
uint32_t query_count;
|
||||
VkBuffer dst_buffer;
|
||||
VkDeviceSize dst_offset;
|
||||
VkDeviceSize stride;
|
||||
VkQueryResultFlags flags;
|
||||
} copy_query_results;
|
||||
};
|
||||
};
|
||||
|
||||
VkResult pvr_wsi_init(struct pvr_physical_device *pdevice);
|
||||
void pvr_wsi_finish(struct pvr_physical_device *pdevice);
|
||||
|
||||
|
|
@ -335,9 +292,6 @@ pvr_stage_mask_dst(VkPipelineStageFlags2 stage_mask)
|
|||
|
||||
size_t pvr_pds_get_max_descriptor_upload_const_map_size_in_bytes(void);
|
||||
|
||||
VkResult pvr_device_create_compute_query_programs(struct pvr_device *device);
|
||||
void pvr_device_destroy_compute_query_programs(struct pvr_device *device);
|
||||
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(pvr_descriptor_set_layout,
|
||||
vk.base,
|
||||
VkDescriptorSetLayout,
|
||||
|
|
@ -354,10 +308,6 @@ VK_DEFINE_NONDISP_HANDLE_CASTS(pvr_pipeline,
|
|||
base,
|
||||
VkPipeline,
|
||||
VK_OBJECT_TYPE_PIPELINE)
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(pvr_query_pool,
|
||||
base,
|
||||
VkQueryPool,
|
||||
VK_OBJECT_TYPE_QUERY_POOL)
|
||||
|
||||
/**
|
||||
* Print a FINISHME message, including its source location.
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@
|
|||
* Copyright © 2015 Intel Corporation
|
||||
*/
|
||||
|
||||
#include "pvr_query.h"
|
||||
|
||||
#include <assert.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
|
|
|||
74
src/imagination/vulkan/pvr_query.h
Normal file
74
src/imagination/vulkan/pvr_query.h
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
/*
|
||||
* Copyright © 2022 Imagination Technologies Ltd.
|
||||
*
|
||||
* based in part on anv driver which is:
|
||||
* Copyright © 2015 Intel Corporation
|
||||
*
|
||||
* based in part on radv driver which is:
|
||||
* Copyright © 2016 Red Hat.
|
||||
* Copyright © 2016 Bas Nieuwenhuizen
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#ifndef PVR_QUERY_H
|
||||
#define PVR_QUERY_H
|
||||
|
||||
#include "vk_object.h"
|
||||
|
||||
#include "pvr_common.h"
|
||||
|
||||
struct pvr_device;
|
||||
|
||||
struct pvr_query_pool {
|
||||
struct vk_object_base base;
|
||||
|
||||
/* Stride of result_buffer to get to the start of the results for the next
|
||||
* Phantom.
|
||||
*/
|
||||
uint32_t result_stride;
|
||||
|
||||
uint32_t query_count;
|
||||
|
||||
struct pvr_suballoc_bo *result_buffer;
|
||||
struct pvr_suballoc_bo *availability_buffer;
|
||||
};
|
||||
|
||||
struct pvr_query_info {
|
||||
enum pvr_query_type type;
|
||||
|
||||
union {
|
||||
struct {
|
||||
uint32_t num_query_indices;
|
||||
struct pvr_suballoc_bo *index_bo;
|
||||
uint32_t num_queries;
|
||||
struct pvr_suballoc_bo *availability_bo;
|
||||
} availability_write;
|
||||
|
||||
struct {
|
||||
VkQueryPool query_pool;
|
||||
uint32_t first_query;
|
||||
uint32_t query_count;
|
||||
} reset_query_pool;
|
||||
|
||||
struct {
|
||||
VkQueryPool query_pool;
|
||||
uint32_t first_query;
|
||||
uint32_t query_count;
|
||||
VkBuffer dst_buffer;
|
||||
VkDeviceSize dst_offset;
|
||||
VkDeviceSize stride;
|
||||
VkQueryResultFlags flags;
|
||||
} copy_query_results;
|
||||
};
|
||||
};
|
||||
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(pvr_query_pool,
|
||||
base,
|
||||
VkQueryPool,
|
||||
VK_OBJECT_TYPE_QUERY_POOL)
|
||||
|
||||
VkResult pvr_device_create_compute_query_programs(struct pvr_device *device);
|
||||
void pvr_device_destroy_compute_query_programs(struct pvr_device *device);
|
||||
|
||||
#endif /* PVR_QUERY_H*/
|
||||
|
|
@ -38,6 +38,7 @@
|
|||
#include "pvr_formats.h"
|
||||
#include "pvr_pds.h"
|
||||
#include "pvr_private.h"
|
||||
#include "pvr_query.h"
|
||||
#include "pvr_tex_state.h"
|
||||
#include "pvr_types.h"
|
||||
#include "vk_alloc.h"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue