|
ReactOS 0.4.17-dev-934-g091855f
|
#include "vkd3d_shader_private.h"
Go to the source code of this file.
Classes | |
| struct | root_signature_parser_context |
| struct | root_signature_writer_context |
| #define VKD3D_ROOT_SIGNATURE_1_0_DESCRIPTOR_RANGE_FLAGS (VKD3D_SHADER_DESCRIPTOR_RANGE_FLAG_DESCRIPTORS_VOLATILE | VKD3D_SHADER_DESCRIPTOR_RANGE_FLAG_DATA_VOLATILE) |
| #define VKD3D_ROOT_SIGNATURE_1_0_ROOT_DESCRIPTOR_FLAGS VKD3D_SHADER_ROOT_DESCRIPTOR_FLAG_DATA_VOLATILE |
Definition at line 25 of file dxbc.c.
Referenced by parse_dxbc(), vkd3d_shader_serialize_dxbc(), and vkd3d_shader_serialize_root_signature().
|
static |
Definition at line 1532 of file dxbc.c.
Referenced by convert_root_signature_to_v1_0().
|
static |
Definition at line 1651 of file dxbc.c.
Referenced by convert_root_signature_to_v1_1().
|
static |
Definition at line 1594 of file dxbc.c.
Referenced by vkd3d_shader_convert_root_signature().
|
static |
Definition at line 1715 of file dxbc.c.
Referenced by vkd3d_shader_convert_root_signature().
| void dxbc_writer_add_section | ( | struct dxbc_writer * | dxbc, |
| uint32_t | tag, | ||
| const void * | data, | ||
| size_t | size | ||
| ) |
Definition at line 41 of file dxbc.c.
Referenced by add_section(), and tpf_write_sfi0().
| void dxbc_writer_init | ( | struct dxbc_writer * | dxbc | ) |
Definition at line 36 of file dxbc.c.
Referenced by tpf_compile().
| int dxbc_writer_write | ( | struct dxbc_writer * | dxbc, |
| struct vkd3d_shader_code * | out | ||
| ) |
Definition at line 100 of file dxbc.c.
Referenced by tpf_compile().
|
static |
Definition at line 297 of file dxbc.c.
Referenced by shader_extract_from_dxbc(), shader_parse_input_signature(), and vkd3d_shader_parse_root_signature().
|
static |
Definition at line 1516 of file dxbc.c.
Referenced by convert_root_parameters_to_v_1_0(), and convert_root_signature_to_v1_0().
|
static |
Definition at line 1635 of file dxbc.c.
Referenced by convert_root_parameters_to_v_1_1(), and convert_root_signature_to_v1_1().
| void free_dxbc_shader_desc | ( | struct dxbc_shader_desc * | desc | ) |
Definition at line 573 of file dxbc.c.
Referenced by dxil_parse(), shader_extract_from_dxbc(), and tpf_parse().
|
static |
Definition at line 1140 of file dxbc.c.
Referenced by shader_write_descriptor_table(), shader_write_descriptor_table1(), shader_write_root_parameters(), shader_write_root_signature(), and vkd3d_shader_serialize_root_signature().
|
static |
Definition at line 477 of file dxbc.c.
Referenced by shader_parse_input_signature().
|
static |
Definition at line 350 of file dxbc.c.
Referenced by shader_parse_signature().
|
static |
Definition at line 165 of file dxbc.c.
Referenced by for_each_dxbc_section(), and vkd3d_shader_parse_dxbc().
Definition at line 118 of file dxbc.c.
Referenced by shader_parse_static_samplers().
Definition at line 110 of file dxbc.c.
Referenced by parse_dxbc(), read_float(), shader_parse_descriptor_ranges(), shader_parse_descriptor_ranges1(), shader_parse_descriptor_table(), shader_parse_descriptor_table1(), shader_parse_root_constants(), shader_parse_root_descriptor(), shader_parse_root_descriptor1(), shader_parse_root_parameters(), shader_parse_root_parameters1(), shader_parse_root_signature(), shader_parse_signature(), shader_parse_static_samplers(), and skip_dword_unknown().
Definition at line 105 of file dxbc.c.
Referenced by parse_dxbc(), shader_parse_descriptor_ranges(), shader_parse_descriptor_ranges1(), shader_parse_descriptor_table(), shader_parse_descriptor_table1(), shader_parse_root_constants(), shader_parse_root_descriptor(), shader_parse_root_descriptor1(), shader_parse_root_parameters(), shader_parse_root_parameters1(), shader_parse_root_signature(), shader_parse_signature(), and shader_parse_static_samplers().
|
static |
Definition at line 1032 of file dxbc.c.
Referenced by vkd3d_shader_parse_root_signature().
| int shader_extract_from_dxbc | ( | const struct vkd3d_shader_code * | dxbc, |
| struct vkd3d_shader_message_context * | message_context, | ||
| const char * | source_name, | ||
| struct dxbc_shader_desc * | desc | ||
| ) |
Definition at line 580 of file dxbc.c.
Referenced by dxil_parse(), and tpf_parse().
Definition at line 146 of file dxbc.c.
Referenced by shader_parse_signature().
|
static |
Definition at line 610 of file dxbc.c.
Referenced by shader_parse_descriptor_table().
|
static |
Definition at line 654 of file dxbc.c.
Referenced by shader_parse_descriptor_table1().
|
static |
Definition at line 688 of file dxbc.c.
Referenced by shader_parse_root_parameters().
|
static |
Definition at line 715 of file dxbc.c.
Referenced by shader_parse_root_parameters1().
| int shader_parse_input_signature | ( | const struct vkd3d_shader_code * | dxbc, |
| struct vkd3d_shader_message_context * | message_context, | ||
| struct shader_signature * | signature | ||
| ) |
Definition at line 493 of file dxbc.c.
Referenced by vkd3d_shader_parse_input_signature().
|
static |
Definition at line 742 of file dxbc.c.
Referenced by shader_parse_root_parameters(), and shader_parse_root_parameters1().
|
static |
Definition at line 764 of file dxbc.c.
Referenced by shader_parse_root_parameters().
|
static |
Definition at line 796 of file dxbc.c.
Referenced by shader_parse_root_parameters1().
|
static |
Definition at line 820 of file dxbc.c.
Referenced by shader_parse_root_signature().
|
static |
Definition at line 868 of file dxbc.c.
Referenced by shader_parse_root_signature().
|
static |
Definition at line 949 of file dxbc.c.
Referenced by rts0_handler().
|
static |
Definition at line 368 of file dxbc.c.
Referenced by isgn_handler(), and shdr_handler().
|
static |
Definition at line 916 of file dxbc.c.
Referenced by shader_parse_root_signature().
|
static |
Definition at line 641 of file dxbc.c.
Referenced by shader_parse_descriptor_ranges1().
|
static |
Definition at line 785 of file dxbc.c.
Referenced by shader_parse_root_descriptor1().
|
static |
Definition at line 1164 of file dxbc.c.
Referenced by shader_write_descriptor_table().
|
static |
Definition at line 1180 of file dxbc.c.
Referenced by shader_write_descriptor_table1().
|
static |
Definition at line 1197 of file dxbc.c.
Referenced by shader_write_root_parameters().
|
static |
Definition at line 1208 of file dxbc.c.
Referenced by shader_write_root_parameters().
|
static |
|
static |
|
static |
|
static |
Definition at line 1242 of file dxbc.c.
Referenced by shader_write_root_signature().
|
static |
Definition at line 1317 of file dxbc.c.
Referenced by vkd3d_shader_serialize_root_signature().
|
static |
Definition at line 1145 of file dxbc.c.
Referenced by vkd3d_shader_serialize_root_signature().
|
static |
Definition at line 1293 of file dxbc.c.
Referenced by shader_write_root_signature().
|
static |
Definition at line 505 of file dxbc.c.
Referenced by shader_extract_from_dxbc().
Definition at line 130 of file dxbc.c.
Referenced by shader_parse_signature().
|
static |
Definition at line 1339 of file dxbc.c.
Referenced by validate_root_signature_desc().
|
static |
Definition at line 1380 of file dxbc.c.
Referenced by validate_root_signature_desc().
|
static |
Definition at line 1421 of file dxbc.c.
Referenced by vkd3d_shader_serialize_root_signature().
|
static |
Definition at line 1122 of file dxbc.c.
Referenced by shader_write_root_signature().
|
static |
Definition at line 1068 of file dxbc.c.
Referenced by shader_write_root_parameters(), shader_write_root_signature(), and validate_root_signature_desc().
|
static |
Definition at line 1086 of file dxbc.c.
Referenced by shader_write_root_parameters().
|
static |
Definition at line 1077 of file dxbc.c.
Referenced by shader_write_root_parameters(), and validate_root_signature_desc().
|
static |
Definition at line 1095 of file dxbc.c.
Referenced by shader_write_root_parameters().
|
static |
Definition at line 1104 of file dxbc.c.
Referenced by shader_write_root_signature(), and shader_write_static_samplers().
|
static |
Definition at line 1113 of file dxbc.c.
Referenced by shader_write_static_samplers().
| int vkd3d_shader_convert_root_signature | ( | struct vkd3d_shader_versioned_root_signature_desc * | dst, |
| enum vkd3d_shader_root_signature_version | version, | ||
| const struct vkd3d_shader_versioned_root_signature_desc * | src | ||
| ) |
Convert a structural representation of a root signature to a different version of structural representation.
This function corresponds to ID3D12VersionedRootSignatureDeserializer::GetRootSignatureDescAtVersion().
| dst | A pointer to a vkd3d_shader_versioned_root_signature_desc structure in which the converted signature will be stored. Members of dst may be allocated by vkd3d-shader. The signature should be freed with vkd3d_shader_free_root_signature() when no longer needed. |
| version | The desired version to convert src to. This version must not be equal to src->version. |
| src | Input root signature description. |
Definition at line 1756 of file dxbc.c.
Referenced by d3d12_versioned_root_signature_deserializer_GetRootSignatureDescAtVersion(), and vkd3d_parse_root_signature_v_1_0().
| void vkd3d_shader_free_dxbc | ( | struct vkd3d_shader_dxbc_desc * | dxbc | ) |
Free the contents of a vkd3d_shader_dxbc_desc structure allocated by another vkd3d-shader function, such as vkd3d_shader_parse_dxbc().
This function may free the vkd3d_shader_dxbc_desc::sections member, but does not free the structure itself.
| dxbc | The vkd3d_shader_dxbc_desc structure to free. |
Definition at line 290 of file dxbc.c.
Referenced by d3d10_effect_parse(), d3dcompiler_get_blob_part(), d3dcompiler_shader_reflection_init(), d3dcompiler_strip_shader(), for_each_dxbc_section(), parse_fx10_preshader(), vkd3d_shader_parse_dxbc(), vkd3d_shader_parse_dxbc_source_type(), and wined3d_shader_extract_from_dxbc().
| int vkd3d_shader_parse_dxbc | ( | const struct vkd3d_shader_code * | dxbc, |
| uint32_t | flags, | ||
| struct vkd3d_shader_dxbc_desc * | desc, | ||
| char ** | messages | ||
| ) |
Parse a DXBC blob contained in a vkd3d_shader_code structure.
| dxbc | A vkd3d_shader_code structure containing the DXBC blob to parse. |
| flags | A combination of zero or more elements of enum vkd3d_shader_parse_dxbc_flags. |
| desc | A vkd3d_shader_dxbc_desc structure describing the contents of the DXBC blob. Its vkd3d_shader_dxbc_section_desc structures will contain pointers into the input blob; its contents are only valid while the input blob is valid. The contents of this structure should be freed with vkd3d_shader_free_dxbc() when no longer needed. |
| messages | Optional output location for error or informational messages produced by the parser. This string is null-terminated and UTF-8 encoded. The messages are allocated by vkd3d-shader and should be freed with vkd3d_shader_free_messages() when no longer needed. If no messages are produced by the parser, this parameter may receive NULL instead of a valid string pointer. |
Definition at line 320 of file dxbc.c.
Referenced by d3d10_effect_parse(), d3dcompiler_get_blob_part(), d3dcompiler_shader_reflection_init(), d3dcompiler_strip_shader(), parse_fx10_preshader(), vkd3d_shader_parse_dxbc_source_type(), and wined3d_shader_extract_from_dxbc().
| int vkd3d_shader_parse_root_signature | ( | const struct vkd3d_shader_code * | dxbc, |
| struct vkd3d_shader_versioned_root_signature_desc * | root_signature, | ||
| char ** | messages | ||
| ) |
Convert a byte code description of a shader root signature to a structural description which can be easily parsed by C code.
This function corresponds to ID3D12VersionedRootSignatureDeserializer::GetUnconvertedRootSignatureDesc().
This function performs the reverse transformation of vkd3d_shader_serialize_root_signature().
This function parses a standalone root signature, and should not be confused with vkd3d_shader_parse_input_signature().
| dxbc | Compiled byte code, in DXBC format. |
| root_signature | Output location in which the decompiled root signature will be stored. Members of root_signature may be allocated by vkd3d-shader. The signature should be freed with vkd3d_shader_free_root_signature() when no longer needed. |
| messages | Optional output location for error or informational messages produced by the parser. This string is null-terminated and UTF-8 encoded. The messages are allocated by vkd3d-shader and should be freed with vkd3d_shader_free_messages() when no longer needed. If no messages are produced by the parser, this parameter may receive NULL instead of a valid string pointer. |
Definition at line 1043 of file dxbc.c.
Referenced by d3d12_versioned_root_signature_deserializer_init(), and vkd3d_parse_root_signature_v_1_0().
| int vkd3d_shader_serialize_dxbc | ( | size_t | section_count, |
| const struct vkd3d_shader_dxbc_section_desc * | sections, | ||
| struct vkd3d_shader_code * | dxbc, | ||
| char ** | messages | ||
| ) |
Serialize a DXBC description into a blob stored in a vkd3d_shader_code structure.
| section_count | The number of DXBC sections to serialize. |
| sections | An array of vkd3d_shader_dxbc_section_desc structures to serialize. |
| dxbc | A pointer to a vkd3d_shader_code structure in which the serialized blob will be stored. The output blob is allocated by vkd3d-shader and should be freed with vkd3d_shader_free_shader_code() when no longer needed. |
| messages | Optional output location for error or informational messages produced by the serializer. This string is null-terminated and UTF-8 encoded. The messages are allocated by vkd3d-shader and should be freed with vkd3d_shader_free_messages() when no longer needed. If no messages are produced by the serializer, this parameter may receive NULL instead of a valid string pointer. |
Definition at line 53 of file dxbc.c.
Referenced by D3DCompile2(), d3dcompiler_get_blob_part(), d3dcompiler_strip_shader(), and dxbc_writer_write().
| int vkd3d_shader_serialize_root_signature | ( | const struct vkd3d_shader_versioned_root_signature_desc * | root_signature, |
| struct vkd3d_shader_code * | dxbc, | ||
| char ** | messages | ||
| ) |
Convert a structural description of a shader root signature to a byte code format capable of being read by ID3D12Device::CreateRootSignature. The compiled signature is compatible with Microsoft D3D 12.
This function corresponds to D3D12SerializeVersionedRootSignature().
| root_signature | Description of the root signature. |
| dxbc | A pointer to a vkd3d_shader_code structure in which the compiled code will be stored. The compiled signature is allocated by vkd3d-shader and should be freed with vkd3d_shader_free_shader_code() when no longer needed. |
| messages | Optional output location for error or informational messages produced by the serializer. This string is null-terminated and UTF-8 encoded. The messages are allocated by vkd3d-shader and should be freed with vkd3d_shader_free_messages() when no longer needed. If no messages are produced by the serializer, this parameter may receive NULL instead of a valid string pointer. |
Definition at line 1447 of file dxbc.c.
Referenced by vkd3d_serialize_root_signature(), and vkd3d_serialize_versioned_root_signature().