mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-28 05:38:11 +02:00
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37769>
43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
/*
|
|
* Copyright © 2016 Bas Nieuwenhuizen
|
|
*
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
#ifndef RADV_PIPELINE_LAYOUT_H
|
|
#define RADV_PIPELINE_LAYOUT_H
|
|
|
|
#include "util/mesa-blake3.h"
|
|
|
|
#include "radv_constants.h"
|
|
|
|
#include "vk_object.h"
|
|
|
|
struct radv_device;
|
|
|
|
struct radv_pipeline_layout {
|
|
struct vk_object_base base;
|
|
struct {
|
|
struct radv_descriptor_set_layout *layout;
|
|
uint32_t dynamic_offset_start;
|
|
} set[MAX_SETS];
|
|
|
|
uint32_t num_sets;
|
|
uint32_t dynamic_offset_count;
|
|
uint16_t dynamic_shader_stages;
|
|
|
|
bool independent_sets;
|
|
|
|
blake3_hash hash;
|
|
};
|
|
|
|
VK_DEFINE_NONDISP_HANDLE_CASTS(radv_pipeline_layout, base, VkPipelineLayout, VK_OBJECT_TYPE_PIPELINE_LAYOUT)
|
|
|
|
void radv_pipeline_layout_init(struct radv_device *device, struct radv_pipeline_layout *layout, bool independent_sets);
|
|
void radv_pipeline_layout_finish(struct radv_device *device, struct radv_pipeline_layout *layout);
|
|
|
|
void radv_pipeline_layout_add_set(struct radv_pipeline_layout *layout, uint32_t set_idx,
|
|
struct radv_descriptor_set_layout *set_layout);
|
|
void radv_pipeline_layout_hash(struct radv_pipeline_layout *layout);
|
|
|
|
#endif /* RADV_PIPELINE_LAYOUT_H */
|