panvk: Move panvk_descriptor_{set,pool} definitions to panvk_descriptor_set.h
Along with the various SW-descriptor definitions. 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:
committed by
Marge Bot
parent
4a16aaafb5
commit
a944d7270b
@@ -24,6 +24,8 @@
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
* DEALINGS IN THE SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "panvk_descriptor_set.h"
|
||||
#include "panvk_private.h"
|
||||
#include "panvk_sampler.h"
|
||||
|
||||
|
||||
@@ -0,0 +1,85 @@
|
||||
/*
|
||||
* Copyright © 2021 Collabora Ltd.
|
||||
* SPDX-License-Identifier: MIT
|
||||
*/
|
||||
|
||||
#ifndef PANVK_DESCRIPTOR_SET_H
|
||||
#define PANVK_DESCRIPTOR_SET_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include "vk_object.h"
|
||||
|
||||
struct panvk_descriptor_pool;
|
||||
struct panvk_descriptor_set_layout;
|
||||
struct panvk_priv_bo;
|
||||
|
||||
struct panvk_desc_pool_counters {
|
||||
unsigned samplers;
|
||||
unsigned combined_image_samplers;
|
||||
unsigned sampled_images;
|
||||
unsigned storage_images;
|
||||
unsigned uniform_texel_bufs;
|
||||
unsigned storage_texel_bufs;
|
||||
unsigned input_attachments;
|
||||
unsigned uniform_bufs;
|
||||
unsigned storage_bufs;
|
||||
unsigned uniform_dyn_bufs;
|
||||
unsigned storage_dyn_bufs;
|
||||
unsigned sets;
|
||||
};
|
||||
|
||||
struct panvk_descriptor_pool {
|
||||
struct vk_object_base base;
|
||||
struct panvk_desc_pool_counters max;
|
||||
struct panvk_desc_pool_counters cur;
|
||||
struct panvk_descriptor_set *sets;
|
||||
};
|
||||
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(panvk_descriptor_pool, base, VkDescriptorPool,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_POOL)
|
||||
|
||||
/* This has to match nir_address_format_64bit_bounded_global */
|
||||
struct panvk_ssbo_addr {
|
||||
uint64_t base_addr;
|
||||
uint32_t size;
|
||||
uint32_t zero; /* Must be zero! */
|
||||
};
|
||||
|
||||
struct panvk_bview_desc {
|
||||
uint32_t elems;
|
||||
};
|
||||
|
||||
struct panvk_image_desc {
|
||||
uint16_t width;
|
||||
uint16_t height;
|
||||
uint16_t depth;
|
||||
uint8_t levels;
|
||||
uint8_t samples;
|
||||
};
|
||||
|
||||
struct panvk_buffer_desc {
|
||||
struct panvk_buffer *buffer;
|
||||
VkDeviceSize offset;
|
||||
VkDeviceSize size;
|
||||
};
|
||||
|
||||
struct panvk_descriptor_set {
|
||||
struct vk_object_base base;
|
||||
struct panvk_descriptor_pool *pool;
|
||||
const struct panvk_descriptor_set_layout *layout;
|
||||
struct panvk_buffer_desc *dyn_ssbos;
|
||||
void *ubos;
|
||||
struct panvk_buffer_desc *dyn_ubos;
|
||||
void *samplers;
|
||||
void *textures;
|
||||
void *img_attrib_bufs;
|
||||
uint32_t *img_fmts;
|
||||
|
||||
struct panvk_priv_bo *desc_bo;
|
||||
};
|
||||
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(panvk_descriptor_set, base, VkDescriptorSet,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_SET)
|
||||
|
||||
#endif
|
||||
@@ -67,6 +67,7 @@
|
||||
#include "pan_desc.h"
|
||||
#include "pan_jc.h"
|
||||
#include "pan_texture.h"
|
||||
#include "panvk_descriptor_set.h"
|
||||
#include "panvk_macros.h"
|
||||
#include "panvk_mempool.h"
|
||||
#include "panvk_pipeline.h"
|
||||
@@ -336,27 +337,6 @@ struct panvk_cmd_event_op {
|
||||
struct panvk_event *event;
|
||||
};
|
||||
|
||||
struct panvk_buffer_desc {
|
||||
struct panvk_buffer *buffer;
|
||||
VkDeviceSize offset;
|
||||
VkDeviceSize size;
|
||||
};
|
||||
|
||||
struct panvk_descriptor_set {
|
||||
struct vk_object_base base;
|
||||
struct panvk_descriptor_pool *pool;
|
||||
const struct panvk_descriptor_set_layout *layout;
|
||||
struct panvk_buffer_desc *dyn_ssbos;
|
||||
void *ubos;
|
||||
struct panvk_buffer_desc *dyn_ubos;
|
||||
void *samplers;
|
||||
void *textures;
|
||||
void *img_attrib_bufs;
|
||||
uint32_t *img_fmts;
|
||||
|
||||
struct panvk_priv_bo *desc_bo;
|
||||
};
|
||||
|
||||
#define MAX_SETS 4
|
||||
|
||||
struct panvk_descriptor_set_binding_layout {
|
||||
@@ -484,28 +464,6 @@ panvk_pipeline_layout_ubo_index(const struct panvk_pipeline_layout *layout,
|
||||
array_index;
|
||||
}
|
||||
|
||||
struct panvk_desc_pool_counters {
|
||||
unsigned samplers;
|
||||
unsigned combined_image_samplers;
|
||||
unsigned sampled_images;
|
||||
unsigned storage_images;
|
||||
unsigned uniform_texel_bufs;
|
||||
unsigned storage_texel_bufs;
|
||||
unsigned input_attachments;
|
||||
unsigned uniform_bufs;
|
||||
unsigned storage_bufs;
|
||||
unsigned uniform_dyn_bufs;
|
||||
unsigned storage_dyn_bufs;
|
||||
unsigned sets;
|
||||
};
|
||||
|
||||
struct panvk_descriptor_pool {
|
||||
struct vk_object_base base;
|
||||
struct panvk_desc_pool_counters max;
|
||||
struct panvk_desc_pool_counters cur;
|
||||
struct panvk_descriptor_set *sets;
|
||||
};
|
||||
|
||||
enum panvk_dynamic_state_bits {
|
||||
PANVK_DYNAMIC_VIEWPORT = 1 << 0,
|
||||
PANVK_DYNAMIC_SCISSOR = 1 << 1,
|
||||
@@ -522,13 +480,6 @@ enum panvk_dynamic_state_bits {
|
||||
PANVK_DYNAMIC_ALL = (1 << 12) - 1,
|
||||
};
|
||||
|
||||
/* This has to match nir_address_format_64bit_bounded_global */
|
||||
struct panvk_ssbo_addr {
|
||||
uint64_t base_addr;
|
||||
uint32_t size;
|
||||
uint32_t zero; /* Must be zero! */
|
||||
};
|
||||
|
||||
union panvk_sysval_vec4 {
|
||||
float f32[4];
|
||||
uint32_t u32[4];
|
||||
@@ -760,10 +711,6 @@ VK_DEFINE_HANDLE_CASTS(panvk_queue, vk.base, VkQueue, VK_OBJECT_TYPE_QUEUE)
|
||||
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(panvk_cmd_pool, vk.base, VkCommandPool,
|
||||
VK_OBJECT_TYPE_COMMAND_POOL)
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(panvk_descriptor_pool, base, VkDescriptorPool,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_POOL)
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(panvk_descriptor_set, base, VkDescriptorSet,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_SET)
|
||||
VK_DEFINE_NONDISP_HANDLE_CASTS(panvk_descriptor_set_layout, vk.base,
|
||||
VkDescriptorSetLayout,
|
||||
VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT)
|
||||
|
||||
@@ -46,14 +46,11 @@
|
||||
|
||||
#include "panvk_buffer.h"
|
||||
#include "panvk_cs.h"
|
||||
#include "panvk_descriptor_set.h"
|
||||
#include "panvk_sampler.h"
|
||||
|
||||
#define PANVK_DESCRIPTOR_ALIGN 8
|
||||
|
||||
struct panvk_bview_desc {
|
||||
uint32_t elems;
|
||||
};
|
||||
|
||||
static void
|
||||
panvk_fill_bview_desc(struct panvk_bview_desc *desc,
|
||||
struct panvk_buffer_view *view)
|
||||
@@ -61,14 +58,6 @@ panvk_fill_bview_desc(struct panvk_bview_desc *desc,
|
||||
desc->elems = view->vk.elements;
|
||||
}
|
||||
|
||||
struct panvk_image_desc {
|
||||
uint16_t width;
|
||||
uint16_t height;
|
||||
uint16_t depth;
|
||||
uint8_t levels;
|
||||
uint8_t samples;
|
||||
};
|
||||
|
||||
static void
|
||||
panvk_fill_image_desc(struct panvk_image_desc *desc,
|
||||
struct panvk_image_view *view)
|
||||
|
||||
Reference in New Issue
Block a user