mesa/src/amd/vulkan/radv_shader_object.h
Samuel Pitoiset 87fde606cf radv: use SPDX-License-Identifier
Only files under src/amd/vulkan/** are concerned.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28599>
2024-04-08 07:17:31 +00:00

52 lines
1.1 KiB
C

/*
* Copyright © 2016 Red Hat.
* Copyright © 2016 Bas Nieuwenhuizen
*
* based in part on anv driver which is:
* Copyright © 2015 Intel Corporation
*
* SPDX-License-Identifier: MIT
*/
#ifndef RADV_SHADER_OBJECT_H
#define RADV_SHADER_OBJECT_H
#include "radv_shader.h"
struct radv_shader_object {
struct vk_object_base base;
gl_shader_stage stage;
VkShaderCodeTypeEXT code_type;
/* Main shader */
struct radv_shader *shader;
struct radv_shader_binary *binary;
/* Shader variants */
/* VS before TCS */
struct {
struct radv_shader *shader;
struct radv_shader_binary *binary;
} as_ls;
/* VS/TES before GS */
struct {
struct radv_shader *shader;
struct radv_shader_binary *binary;
} as_es;
/* GS copy shader */
struct {
struct radv_shader *copy_shader;
struct radv_shader_binary *copy_binary;
} gs;
uint32_t push_constant_size;
uint32_t dynamic_offset_count;
};
VK_DEFINE_NONDISP_HANDLE_CASTS(radv_shader_object, base, VkShaderEXT, VK_OBJECT_TYPE_SHADER_EXT);
#endif /* RADV_SHADER_OBJECT_H */