On Thu, 16 Dec 2021 at 19:19, Andrey Gusev andrey.goosev@gmail.com wrote:
@@ -709,6 +709,7 @@ static const struct wined3d_format_vertex_info format_vertex_info[] = {WINED3DFMT_R16G16B16A16_SNORM, WINED3D_FFP_EMIT_SHORT4N, GL_SHORT}, {WINED3DFMT_R16G16_UNORM, WINED3D_FFP_EMIT_USHORT2N, GL_UNSIGNED_SHORT}, {WINED3DFMT_R16G16B16A16_UNORM, WINED3D_FFP_EMIT_USHORT4N, GL_UNSIGNED_SHORT},
- {WINED3DFMT_R11G11B10_FLOAT, WINED3D_FFP_EMIT_FLOAT3, GL_FLOAT},
Unfortunately it's a little harder than that. GL_FLOAT expects 32-bit float components (i.e., like R32_FLOAT), while WINED3DFMT_R11G11B10_FLOAT is a packed "11.11.10" floating-point format. This needs GL_UNSIGNED_INT_10F_11F_11F_REV, provided by the ARB_vertex_type_10f_11f_11f_rev extension.
The WINED3DFMT_R10G10B10A2_UNORM format is somewhat similar; you could use that as an example.