mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2025-09-12 18:50:22 -07:00
vkd3d-shader: Represent descriptor information in the vsir program.
This commit is contained in:
committed by
Henri Verbeet
parent
4308fa3f68
commit
2377db33db
Notes:
Henri Verbeet
2025-03-18 16:04:30 +01:00
Approved-by: Henri Verbeet (@hverbeet) Approved-by: Elizabeth Figura (@zfigura) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1430
@@ -64,7 +64,6 @@ struct vkd3d_glsl_generator
|
||||
|
||||
const struct vkd3d_shader_interface_info *interface_info;
|
||||
const struct vkd3d_shader_descriptor_offset_info *offset_info;
|
||||
const struct vkd3d_shader_scan_descriptor_info1 *descriptor_info;
|
||||
const struct vkd3d_shader_scan_combined_resource_sampler_info *combined_sampler_info;
|
||||
};
|
||||
|
||||
@@ -130,7 +129,7 @@ static const struct glsl_resource_type_info *shader_glsl_get_resource_type_info(
|
||||
static const struct vkd3d_shader_descriptor_info1 *shader_glsl_get_descriptor(struct vkd3d_glsl_generator *gen,
|
||||
enum vkd3d_shader_descriptor_type type, unsigned int idx, unsigned int space)
|
||||
{
|
||||
const struct vkd3d_shader_scan_descriptor_info1 *info = gen->descriptor_info;
|
||||
const struct vkd3d_shader_scan_descriptor_info1 *info = &gen->program->descriptors;
|
||||
|
||||
for (unsigned int i = 0; i < info->descriptor_count; ++i)
|
||||
{
|
||||
@@ -146,7 +145,7 @@ static const struct vkd3d_shader_descriptor_info1 *shader_glsl_get_descriptor(st
|
||||
static const struct vkd3d_shader_descriptor_info1 *shader_glsl_get_descriptor_by_id(
|
||||
struct vkd3d_glsl_generator *gen, enum vkd3d_shader_descriptor_type type, unsigned int id)
|
||||
{
|
||||
const struct vkd3d_shader_scan_descriptor_info1 *info = gen->descriptor_info;
|
||||
const struct vkd3d_shader_scan_descriptor_info1 *info = &gen->program->descriptors;
|
||||
|
||||
for (unsigned int i = 0; i < info->descriptor_count; ++i)
|
||||
{
|
||||
@@ -2080,7 +2079,7 @@ static void shader_glsl_generate_sampler_declaration(struct vkd3d_glsl_generator
|
||||
static void shader_glsl_generate_descriptor_declarations(struct vkd3d_glsl_generator *gen)
|
||||
{
|
||||
const struct vkd3d_shader_scan_combined_resource_sampler_info *sampler_info = gen->combined_sampler_info;
|
||||
const struct vkd3d_shader_scan_descriptor_info1 *info = gen->descriptor_info;
|
||||
const struct vkd3d_shader_scan_descriptor_info1 *info = &gen->program->descriptors;
|
||||
const struct vkd3d_shader_descriptor_info1 *descriptor;
|
||||
unsigned int i;
|
||||
|
||||
@@ -2431,7 +2430,6 @@ static void shader_glsl_init_limits(struct vkd3d_glsl_generator *gen, const stru
|
||||
|
||||
static void vkd3d_glsl_generator_init(struct vkd3d_glsl_generator *gen,
|
||||
struct vsir_program *program, const struct vkd3d_shader_compile_info *compile_info,
|
||||
const struct vkd3d_shader_scan_descriptor_info1 *descriptor_info,
|
||||
const struct vkd3d_shader_scan_combined_resource_sampler_info *combined_sampler_info,
|
||||
struct vkd3d_shader_message_context *message_context)
|
||||
{
|
||||
@@ -2455,12 +2453,10 @@ static void vkd3d_glsl_generator_init(struct vkd3d_glsl_generator *gen,
|
||||
|
||||
gen->interface_info = vkd3d_find_struct(compile_info->next, INTERFACE_INFO);
|
||||
gen->offset_info = vkd3d_find_struct(compile_info->next, DESCRIPTOR_OFFSET_INFO);
|
||||
gen->descriptor_info = descriptor_info;
|
||||
gen->combined_sampler_info = combined_sampler_info;
|
||||
}
|
||||
|
||||
int glsl_compile(struct vsir_program *program, uint64_t config_flags,
|
||||
const struct vkd3d_shader_scan_descriptor_info1 *descriptor_info,
|
||||
const struct vkd3d_shader_scan_combined_resource_sampler_info *combined_sampler_info,
|
||||
const struct vkd3d_shader_compile_info *compile_info,
|
||||
struct vkd3d_shader_code *out, struct vkd3d_shader_message_context *message_context)
|
||||
@@ -2474,7 +2470,7 @@ int glsl_compile(struct vsir_program *program, uint64_t config_flags,
|
||||
VKD3D_ASSERT(program->normalisation_level == VSIR_NORMALISED_SM6);
|
||||
|
||||
vkd3d_glsl_generator_init(&generator, program, compile_info,
|
||||
descriptor_info, combined_sampler_info, message_context);
|
||||
combined_sampler_info, message_context);
|
||||
ret = vkd3d_glsl_generator_generate(&generator, out);
|
||||
vkd3d_glsl_generator_cleanup(&generator);
|
||||
|
||||
|
Reference in New Issue
Block a user