mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-04-22 14:00:37 +02:00
panvk: Move panvk_device definition to panvk_device.h
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com> Reviewed-by: Rebecca Mckeever <rebecca.mckeever@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28170>
This commit is contained in:
parent
524e17664f
commit
8157f51fae
29 changed files with 97 additions and 45 deletions
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include "panvk_buffer.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_device_memory.h"
|
||||
#include "panvk_private.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
|
||||
#include "panvk_buffer.h"
|
||||
#include "panvk_cmd_pool.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_physical_device.h"
|
||||
#include "panvk_pipeline.h"
|
||||
#include "panvk_pipeline_layout.h"
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
*/
|
||||
|
||||
#include "panvk_cmd_pool.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_private.h"
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
*/
|
||||
|
||||
#include "panvk_descriptor_set.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_private.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_device_memory.h"
|
||||
#include "panvk_image.h"
|
||||
#include "panvk_instance.h"
|
||||
|
|
|
|||
69
src/panfrost/vulkan/panvk_device.h
Normal file
69
src/panfrost/vulkan/panvk_device.h
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
* Copyright © 2021 Collabora Ltd.
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#ifndef PANVK_DEVICE_H
|
||||
#define PANVK_DEVICE_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "vk_device.h"
|
||||
|
||||
#include "panvk_instance.h"
|
||||
#include "panvk_macros.h"
|
||||
#include "panvk_mempool.h"
|
||||
#include "panvk_meta.h"
|
||||
#include "panvk_physical_device.h"
|
||||
|
||||
#include "kmod/pan_kmod.h"
|
||||
#include "util/pan_ir.h"
|
||||
#include "pan_blend.h"
|
||||
#include "pan_blitter.h"
|
||||
|
||||
#define PANVK_MAX_QUEUE_FAMILIES 1
|
||||
|
||||
struct panvk_device {
|
||||
struct vk_device vk;
|
||||
|
||||
struct {
|
||||
struct pan_kmod_vm *vm;
|
||||
struct pan_kmod_dev *dev;
|
||||
struct pan_kmod_allocator allocator;
|
||||
} kmod;
|
||||
|
||||
struct panvk_priv_bo *tiler_heap;
|
||||
struct panvk_priv_bo *sample_positions;
|
||||
|
||||
struct panvk_meta meta;
|
||||
|
||||
struct vk_device_dispatch_table cmd_dispatch;
|
||||
|
||||
struct panvk_queue *queues[PANVK_MAX_QUEUE_FAMILIES];
|
||||
int queue_count[PANVK_MAX_QUEUE_FAMILIES];
|
||||
|
||||
struct {
|
||||
struct pandecode_context *decode_ctx;
|
||||
} debug;
|
||||
};
|
||||
|
||||
VK_DEFINE_HANDLE_CASTS(panvk_device, vk.base, VkDevice, VK_OBJECT_TYPE_DEVICE)
|
||||
|
||||
static inline struct panvk_device *
|
||||
to_panvk_device(struct vk_device *dev)
|
||||
{
|
||||
return container_of(dev, struct panvk_device, vk);
|
||||
}
|
||||
|
||||
#if PAN_ARCH
|
||||
VkResult
|
||||
panvk_per_arch(create_device)(struct panvk_physical_device *physical_device,
|
||||
const VkDeviceCreateInfo *pCreateInfo,
|
||||
const VkAllocationCallbacks *pAllocator,
|
||||
VkDevice *pDevice);
|
||||
|
||||
void panvk_per_arch(destroy_device)(struct panvk_device *device,
|
||||
const VkAllocationCallbacks *pAllocator);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
#include "vulkan/util/vk_util.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_device_memory.h"
|
||||
#include "panvk_private.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include "panvk_event.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_private.h"
|
||||
|
||||
VKAPI_ATTR VkResult VKAPI_CALL
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
|
||||
#include "pan_props.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_device_memory.h"
|
||||
#include "panvk_image.h"
|
||||
#include "panvk_instance.h"
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
#include "vk_log.h"
|
||||
#include "vk_util.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_instance.h"
|
||||
#include "panvk_physical_device.h"
|
||||
#include "panvk_private.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
*/
|
||||
|
||||
#include "panvk_pipeline.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_private.h"
|
||||
|
||||
#include "nir/nir.h"
|
||||
|
|
|
|||
|
|
@ -133,49 +133,6 @@ void panvk_priv_bo_destroy(struct panvk_priv_bo *bo,
|
|||
VkResult panvk_wsi_init(struct panvk_physical_device *physical_device);
|
||||
void panvk_wsi_finish(struct panvk_physical_device *physical_device);
|
||||
|
||||
#define PANVK_MAX_QUEUE_FAMILIES 1
|
||||
|
||||
struct panvk_device {
|
||||
struct vk_device vk;
|
||||
|
||||
struct {
|
||||
struct pan_kmod_vm *vm;
|
||||
struct pan_kmod_dev *dev;
|
||||
struct pan_kmod_allocator allocator;
|
||||
} kmod;
|
||||
|
||||
struct panvk_priv_bo *tiler_heap;
|
||||
struct panvk_priv_bo *sample_positions;
|
||||
|
||||
struct panvk_meta meta;
|
||||
|
||||
struct vk_device_dispatch_table cmd_dispatch;
|
||||
|
||||
struct panvk_queue *queues[PANVK_MAX_QUEUE_FAMILIES];
|
||||
int queue_count[PANVK_MAX_QUEUE_FAMILIES];
|
||||
|
||||
struct {
|
||||
struct pandecode_context *decode_ctx;
|
||||
} debug;
|
||||
};
|
||||
|
||||
static inline struct panvk_device *
|
||||
to_panvk_device(struct vk_device *dev)
|
||||
{
|
||||
return container_of(dev, struct panvk_device, vk);
|
||||
}
|
||||
|
||||
#if PAN_ARCH
|
||||
VkResult
|
||||
panvk_per_arch(create_device)(struct panvk_physical_device *physical_device,
|
||||
const VkDeviceCreateInfo *pCreateInfo,
|
||||
const VkAllocationCallbacks *pAllocator,
|
||||
VkDevice *pDevice);
|
||||
|
||||
void panvk_per_arch(destroy_device)(struct panvk_device *device,
|
||||
const VkAllocationCallbacks *pAllocator);
|
||||
#endif
|
||||
|
||||
#define TILER_DESC_WORDS 56
|
||||
|
||||
struct panvk_batch {
|
||||
|
|
@ -345,7 +302,6 @@ void panvk_cmd_preload_fb_after_batch_split(struct panvk_cmd_buffer *cmdbuf);
|
|||
|
||||
VK_DEFINE_HANDLE_CASTS(panvk_cmd_buffer, vk.base, VkCommandBuffer,
|
||||
VK_OBJECT_TYPE_COMMAND_BUFFER)
|
||||
VK_DEFINE_HANDLE_CASTS(panvk_device, vk.base, VkDevice, VK_OBJECT_TYPE_DEVICE)
|
||||
|
||||
#ifdef PAN_ARCH
|
||||
#include "panvk_vX_cmd_buffer.h"
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
*/
|
||||
|
||||
#include "panvk_shader.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_private.h"
|
||||
|
||||
#include "pan_shader.h"
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
|
||||
#include "panvk_buffer.h"
|
||||
#include "panvk_buffer_view.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_private.h"
|
||||
|
||||
#include "vk_format.h"
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
|
||||
#include "panvk_buffer.h"
|
||||
#include "panvk_cmd_pool.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_event.h"
|
||||
#include "panvk_image.h"
|
||||
#include "panvk_image_view.h"
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#include "genxml/gen_macros.h"
|
||||
|
||||
#include "panvk_buffer_view.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_image.h"
|
||||
#include "panvk_image_view.h"
|
||||
#include "panvk_private.h"
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
#include "panvk_descriptor_set.h"
|
||||
#include "panvk_descriptor_set_layout.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_pipeline_layout.h"
|
||||
#include "panvk_private.h"
|
||||
#include "panvk_sampler.h"
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
#include "vk_cmd_enqueue_entrypoints.h"
|
||||
#include "vk_common_entrypoints.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_instance.h"
|
||||
#include "panvk_macros.h"
|
||||
#include "panvk_physical_device.h"
|
||||
#include "panvk_private.h"
|
||||
#include "panvk_queue.h"
|
||||
|
||||
#include "genxml/decode.h"
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
#include "vk_format.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_image.h"
|
||||
#include "panvk_image_view.h"
|
||||
#include "panvk_private.h"
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include "pan_encoder.h"
|
||||
#include "pan_shader.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_private.h"
|
||||
|
||||
#include "vk_format.h"
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
#include "pan_blitter.h"
|
||||
#include "pan_props.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_image.h"
|
||||
#include "panvk_physical_device.h"
|
||||
#include "panvk_private.h"
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#include "pan_props.h"
|
||||
#include "pan_shader.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_image.h"
|
||||
#include "panvk_meta.h"
|
||||
#include "panvk_physical_device.h"
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
#include "pan_shader.h"
|
||||
|
||||
#include "panvk_buffer.h"
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_image.h"
|
||||
#include "panvk_physical_device.h"
|
||||
#include "panvk_private.h"
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_pipeline_layout.h"
|
||||
#include "panvk_private.h"
|
||||
#include "panvk_shader.h"
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@
|
|||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_pipeline.h"
|
||||
#include "panvk_pipeline_layout.h"
|
||||
#include "panvk_private.h"
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
#include "genxml/gen_macros.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_entrypoints.h"
|
||||
#include "panvk_macros.h"
|
||||
#include "panvk_pipeline_layout.h"
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
|
||||
#include "decode.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_event.h"
|
||||
#include "panvk_image.h"
|
||||
#include "panvk_image_view.h"
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
#include "genxml/gen_macros.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_private.h"
|
||||
#include "panvk_sampler.h"
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
|
||||
#include "genxml/gen_macros.h"
|
||||
|
||||
#include "panvk_device.h"
|
||||
#include "panvk_instance.h"
|
||||
#include "panvk_physical_device.h"
|
||||
#include "panvk_pipeline_layout.h"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue