vkd3d-shader/dxil: Generate I/O signatures with 16-bit component types for native 16-bit shaders.

Which incidentally matches the I/O signatures from the DXBC container.
This commit is contained in:
Henri Verbeet
2025-02-05 17:54:39 +01:00
parent f5d702b09a
commit fe4143ad19
Notes: Henri Verbeet 2025-02-24 16:26:29 +01:00
Approved-by: Conor McCarthy (@cmccarthy)
Approved-by: Giovanni Mascellani (@giomasce)
Approved-by: Henri Verbeet (@hverbeet)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1371
6 changed files with 50 additions and 14 deletions

View File

@@ -2069,15 +2069,22 @@ static const char *get_component_type_name(enum vkd3d_shader_component_type type
{
switch (type)
{
case VKD3D_SHADER_COMPONENT_VOID: return "void";
case VKD3D_SHADER_COMPONENT_UINT: return "uint";
case VKD3D_SHADER_COMPONENT_INT: return "int";
case VKD3D_SHADER_COMPONENT_FLOAT: return "float";
case VKD3D_SHADER_COMPONENT_BOOL: return "bool";
case VKD3D_SHADER_COMPONENT_DOUBLE: return "double";
case VKD3D_SHADER_COMPONENT_UINT64: return "uint64";
default: return "??";
case VKD3D_SHADER_COMPONENT_VOID: return "void";
case VKD3D_SHADER_COMPONENT_UINT: return "uint";
case VKD3D_SHADER_COMPONENT_INT: return "int";
case VKD3D_SHADER_COMPONENT_FLOAT: return "float";
case VKD3D_SHADER_COMPONENT_BOOL: return "bool";
case VKD3D_SHADER_COMPONENT_DOUBLE: return "double";
case VKD3D_SHADER_COMPONENT_UINT64: return "uint64";
case VKD3D_SHADER_COMPONENT_INT64: return "int64";
case VKD3D_SHADER_COMPONENT_FLOAT16: return "float16";
case VKD3D_SHADER_COMPONENT_UINT16: return "uint16";
case VKD3D_SHADER_COMPONENT_INT16: return "int16";
case VKD3D_SHADER_COMPONENT_TYPE_FORCE_32BIT:
break;
}
return "??";
}
static const char *get_minimum_precision_name(enum vkd3d_shader_minimum_precision prec)