Noticias

Wine 11.10 ya está disponible con vkd3d 2.0, mejoras de compatibilidad con VBScript y más.

La última versión del nivel de compatibilidad de Windows Wine 11.10 ha llegado con nuevas funciones y correcciones de errores. Por lo general, vemos una nueva versión estable importante de Wine por año, por lo que esperamos Wine 12 en algún momento de enero de 2027. Valve actualmente tiene Proton 11, basado en Wine 11, en versión beta para juegos de Steam.

Estos son los aspectos más destacados de Wine 11.10 (registro de cambios):

  • Incluido en el paquete, vkd3d se ha actualizado a la versión 2.0.
  • La compatibilidad con XPath se ha reimplementado sin libxml2.
  • Mejoras adicionales de compatibilidad con VBScript.
  • Varias correcciones de errores.

Se observó que se solucionaron 17 errores, incluidos problemas con Star Wars Racer, Age of Empires III, Star Wars: Knights of the Old Republic, Photolemur 3, Vocaloid 6 y otros.

vkd3d 2.0, la biblioteca de traducción de Direct3D a Vulkan de Wine lanzada a principios de mayo, también tiene muchos cambios importantes para admitir nuevas funciones:

libvkd3d

  • Se pueden crear recursos con un formato combinado de profundidad y plantilla, como DXGI_FORMAT_R32G8X24_TYPELESS, sin configurar el indicador D3D12_RESOURCE_FLAG_ALLOW_DEPTH_STENCIL. Las aplicaciones rara vez crean dichos recursos; Normalmente, los recursos con un formato combinado de profundidad/plantilla se utilizan con una representación de profundidad/plantilla y una representación de recursos de sombreador, o únicamente con una representación de profundidad/plantilla.

  • La sintaxis de la variable de entorno VKD3D_DEBUG se ha ampliado para proporcionar un control más granular sobre la salida de depuración. Consulte la sección Variables de entorno del archivo README para obtener una descripción de la sintaxis extendida.

sombreador libvkd3d

  • Nuevas características y mejoras para el tipo de fuente HLSL:

    • Almacenar operaciones en la memoria compartida de un grupo estructurado de subprocesos.
    • Operaciones interconectadas sobre representaciones desordenadas estructuradas y/o masivas y memoria compartida de un grupo de hilos.
    • Una nueva etapa de optimización para la eliminación de subexpresiones comunes.
    • Soporte inicial para bucles en los perfiles de destino 2–3 del modelo de sombreado.
    • Uso más eficiente de registros temporales, principalmente debido a mejoras en el asignador de registros y la introducción del pase de escritura de salida. Esto es especialmente cierto para los perfiles de destino del modelo de sombreador 1-3, donde la cantidad de registros temporales es relativamente limitada y, de lo contrario, no podríamos compilar algunos sombreadores.
    • Funciones integradas tex3Dbias(), tex3Dlod() y texCUBElod().
    • Semántica de entrada/salida de «SV_ClipDistance» y «SV_CullDistance».
    • Semántica de salida para el sombreador de píxeles SV_StencilRef.
    • Se corrigió el procesamiento de operaciones InterlockedMin() e InterlockedMax() en entradas con diferentes signos. Cuando una de las entradas es de tipo «uint», la otra también se convierte/promociona a «uint».
    • El indicador VKD3D_SHADER_COMPILE_OPTION_BACKCOMPAT_MAP_SEMANTIC_NAMES ahora asigna adicionalmente los nombres semánticos del modelo de sombreado 3 «VFACE» y «VPOS» a sus equivalentes del modelo de sombreado 4+.
    • Convolución de módulo constante de expresiones de punto flotante. Es decir, 'x % y', donde 'x' e 'y' son constantes de punto flotante.
    • El alcance de las variables declaradas en las cláusulas de inicialización del bucle for se ha ampliado para extenderse más allá del final del bucle. Aquellos.,
      'para (int i = 0; i
    • El análisis de coma flotante ahora es independiente de la configuración regional. Anteriormente, el analizador HLSL utilizaba el separador decimal de la configuración regional actual al analizar literales de punto flotante en lugar del separador decimal HLSL, que siempre es «.». personaje. Tenga en cuenta que esto sólo afecta a los programas que establecen una configuración regional distinta a la local «C» original, por ejemplo llamando a la función setlocale().
  • Nuevas características y mejoras para el tipo de fuente de efectos (FX):

    • El análisis de los índices de operandos en el bloque eval() estaba roto y arreglado.
    • Se reconoce la operación 'umod' de FXLVM.
  • Nuevas características y mejoras para el tipo de fuente de código de bytes Direct3D heredado:

    • Las siguientes instrucciones:
      • m4x4, m3x4, m4x3, m3x3 y m3x2
      • fase
      • profundidad del texto
      • texreg2ar, texreg2gb y texreg2rgb
    • Modificadores de fuente «_dz», «_db», «_dw» y «_da». Se utilizan con las instrucciones «texcrd» y «texld».
    • La entrada del sombreador de píxeles registra vFace y vPos.
    • Modelo de sombreador 3. Salida del tamaño del punto del sombreador de vértices. Los modelos de sombreador 1 y 2 utilizan el registro de salida «oPts» para generar tamaños de píxeles; El modelo Shader 3 utiliza un registro «o» genérico con la declaración «dcl_psize».
    • La salida de los sombreadores de vértices del modelo de sombreado 1 y 2 está limitada al rango de 0 a 1.
  • El tipo de fuente DXIL admite punteros de referencia directa en operaciones de carga, almacenamiento, lectura/modificación/escritura atómica y comparación/intercambio.

  • El tipo de fuente DXIL admite valores de referencia de plantilla especificados por el sombreador de píxeles.

  • El objetivo experimental Metal Shading Language (MSL) admite valores de referencia de plantilla especificados por el sombreador de píxeles.

  • El objetivo del ensamblaje del sombreador Direct3D admite constantes inmediatas de 16 bits. Generalmente son creados por fuentes DXIL.

  • El destino de compilación del sombreador Direct3D admite las siguientes marcas globales:

    • «64UAV»
    • «ROV»
    • «UAVLoadAdditionalFormats»
    • «UAV en cada etapa»
    • 'todos los recursos vinculados'
    • 'enable11_1ShaderExtensions'
    • 'int64Ops'
    • 'nativoBajaPrecisión'
    • 'stencilRef'
    • 'viewportAndRTArrayIndex'
    • 'ondas'
  • Nuevas interfaces:

    • La estructura vkd3d_shader_scan_denormal_mode_info extiende la estructura vkd3d_shader_compile_info y puede usarse para obtener el modo anormal usado para números de punto flotante.
    • El valor de enumeración VKD3D_SHADER_SPIRV_EXTENSION_KHR_FLOAT_CONTROLS indica compatibilidad con la extensión SPV_KHR_float_controls en el entorno de destino SPIR-V.
    • La opción de compilación VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F16 especifica el modo anormal utilizado para números de punto flotante de 16 bits.
    • La opción de compilación VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F32 especifica el modo anormal utilizado para números de punto flotante de 32 bits.
    • La opción de compilación VKD3D_SHADER_COMPILE_OPTION_DENORMAL_MODE_F64 especifica el modo anormal utilizado para números de punto flotante de 64 bits.
    • El indicador VKD3D_SHADER_COMPILE_OPTION_CONST_GLOBAL_UNIFORMS especifica que todos los uniformes de ámbito global deben tratarse como «constantes» en las fuentes HLSL.
    • Al seleccionar VKD3D_SHADER_API_2_0, la compilación fallará si el sombreador de destino no puede especificar el modo de punto flotante desnormalizado requerido. Para el objetivo SPIR-V, esto requiere la extensión SPV_KHR_float_controls así como las capacidades correspondientes en el entorno de destino. Las opciones de compilación mencionadas anteriormente le permiten anular los modos anormales especificados por el sombreador de origen.
  • La sintaxis de la variable de entorno VKD3D_SHADER_DEBUG se ha ampliado para proporcionar un control más granular sobre la salida de depuración. Consulte la sección Variables de entorno del archivo README para obtener una descripción de la sintaxis extendida.

libvkd3d-utils

  • Las funciones D3DCompile(), D3DCompile2(), D3DCompile2VKD3D() y D3DPreprocess() admiten el uso de D3D_COMPILE_STANDARD_FILE_INCLUDE como controlador de inclusión.

  • Si no se especifican los indicadores D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY, D3DCompile2VKD3D() tratará todos los uniformes de ámbito global como «constantes» para las versiones del compilador 37 y superiores. Esto también se aplica a D3DCompile() y D3DCompile2(), que se comportan como el compilador de la versión 47.

Artículo tomado de MuyLinux.xyz.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba