mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 02:38:04 +02:00
microsoft/spirv_to_dxil: Add a draw_id field to vertex_runtime_data
So we can support the draw_id system value. Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15912>
This commit is contained in:
parent
5121e6dd7e
commit
7673697256
2 changed files with 7 additions and 0 deletions
|
|
@ -103,6 +103,9 @@ lower_shader_system_values(struct nir_builder *builder, nir_instr *instr,
|
|||
case nir_intrinsic_load_base_instance:
|
||||
offset = offsetof(struct dxil_spirv_vertex_runtime_data, base_instance);
|
||||
break;
|
||||
case nir_intrinsic_load_draw_id:
|
||||
offset = offsetof(struct dxil_spirv_vertex_runtime_data, draw_id);
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
|
@ -527,6 +530,9 @@ spirv_to_dxil(const uint32_t *words, size_t word_count,
|
|||
return false;
|
||||
|
||||
struct spirv_to_nir_options spirv_opts = {
|
||||
.caps = {
|
||||
.draw_parameters = true,
|
||||
},
|
||||
.ubo_addr_format = nir_address_format_32bit_index_offset,
|
||||
.ssbo_addr_format = nir_address_format_32bit_index_offset,
|
||||
.shared_addr_format = nir_address_format_32bit_offset_as_64bit,
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ struct dxil_spirv_vertex_runtime_data {
|
|||
uint16_t z_flip_mask;
|
||||
};
|
||||
};
|
||||
uint32_t draw_id;
|
||||
};
|
||||
|
||||
enum dxil_spirv_yz_flip_mode {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue