āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ¨ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ Direct3D 1.4 āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ Vkd3d 12 āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§‡āĻ›ā§‡

āĻ“āĻ¯āĻŧāĻžāĻ‡āĻ¨ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ Direct3D 1.4 āĻāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¸āĻš vkd3d 12 āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻ¯āĻž āĻ­āĻ˛āĻ•āĻžāĻ¨ āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻāĻĒāĻŋāĻ†āĻ‡āĻ¤ā§‡ āĻ¸āĻŽā§āĻĒā§āĻ°āĻšāĻžāĻ° āĻ•āĻ˛ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻŸāĻŋāĻ¤ā§‡ Direct3D 3 āĻāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¸āĻš libvkd12d āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ, shader āĻŽāĻĄā§‡āĻ˛ 3 āĻāĻŦāĻ‚ 4 āĻāĻ° āĻ…āĻ¨ā§āĻŦāĻžāĻĻāĻ• āĻ¸āĻš libvkd5d-shader āĻāĻŦāĻ‚ Direct3D 3 āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻĒā§‹āĻ°ā§āĻŸāĻŋāĻ‚ āĻ¸āĻšāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ¸āĻš libvkd12d-utils, āĻ¸ā§‡āĻ‡āĻ¸āĻžāĻĨā§‡ āĻĄā§‡āĻŽā§‹ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ Direct3D 12 āĻĨā§‡āĻ•ā§‡ glxgears āĻāĻ°āĨ¤ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒ āĻ•ā§‹āĻĄ LGPLv2.1 āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸āĻ•ā§ƒāĻ¤ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

libvkd3d āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— Direct3D 12 āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡, āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ—ā§āĻ°āĻžāĻĢāĻŋāĻ•ā§āĻ¸ āĻāĻŦāĻ‚ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻŋāĻ‚ āĻ¸ā§āĻŦāĻŋāĻ§āĻž, āĻ¸āĻžāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž, āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ˛ āĻāĻŦāĻ‚ āĻšāĻŋāĻĒ āĻšā§āĻ¯āĻžāĻ¨ā§āĻĄāĻ˛āĻ—ā§āĻ˛āĻŋ, āĻ°ā§āĻŸ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°, āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻŦāĻšāĻŋāĻ°ā§āĻ­ā§‚āĻ¤ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸, āĻ¸ā§āĻ¯āĻžāĻŽā§āĻĒāĻ˛āĻžāĻ°, āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ°, āĻ°ā§āĻŸ āĻ§ā§āĻ°ā§āĻŦāĻ•, āĻĒāĻ°ā§‹āĻ•ā§āĻˇ āĻ°ā§‡āĻ¨ā§āĻĄāĻžāĻ°āĻŋāĻ‚, āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋ *( ) āĻāĻŦāĻ‚ āĻ•āĻĒāĻŋ*()āĨ¤

libvkd3d-shader āĻāĻ•āĻŸāĻŋ āĻŽāĻ§ā§āĻ¯āĻŦāĻ°ā§āĻ¤ā§€ SPIR-V āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻžāĻ¯āĻŧ shader āĻŽāĻĄā§‡āĻ˛ 4 āĻāĻŦāĻ‚ 5-āĻāĻ° āĻŦāĻžāĻ‡āĻŸāĻ•ā§‹āĻĄā§‡āĻ° āĻ…āĻ¨ā§āĻŦāĻžāĻĻ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ•āĻ°ā§‡āĨ¤ āĻ­āĻžāĻ°ā§āĻŸā§‡āĻ•ā§āĻ¸, āĻĒāĻŋāĻ•ā§āĻ¸ā§‡āĻ˛, āĻŸā§‡āĻ¸ā§‡āĻ˛ā§‡āĻļāĻ¨, āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻœā§āĻ¯āĻžāĻŽāĻŋāĻ¤āĻŋ āĻļā§‡āĻĄāĻžāĻ°, āĻ°ā§āĻŸ āĻ¸āĻŋāĻ—āĻ¨ā§‡āĻšāĻžāĻ° āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻļā§‡āĻĄāĻžāĻ° āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻĒāĻžāĻŸāĻŋāĻ—āĻŖāĻŋāĻ¤, āĻĒāĻžāĻ°āĻŽāĻžāĻŖāĻŦāĻŋāĻ• āĻāĻŦāĻ‚ āĻŦāĻŋāĻŸ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨, āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻŦāĻ‚ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻŦāĻžāĻš āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻ°, āĻ¨āĻŽā§āĻ¨āĻž, āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻāĻŦāĻ‚ āĻ˛ā§‹āĻĄ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€, āĻ…-āĻ•ā§āĻ°āĻŽāĻŦāĻŋāĻšā§€āĻ¨ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ (āĻ‡āĻ‰āĻāĻ­āĻŋ, āĻ†āĻ¨āĻ…āĻ°ā§āĻĄāĻžāĻ°āĻĄ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ­āĻŋāĻ‰)āĨ¤

āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻļā§āĻŦā§‡:

  • DirectX 9.0 āĻĨā§‡āĻ•ā§‡ HLSL (High-level Shader Language) āĻļā§‡āĻĄāĻžāĻ° āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ‰āĻ¨ā§āĻ¨āĻ¤āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ­āĻ˛āĻ•āĻžāĻ¨ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ VK_EXT_descriptor_indexing āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻžāĻ•āĻžāĻ°ā§€ āĻšāĻŋāĻĒā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  • āĻ­āĻ˛āĻ•āĻžāĻ¨ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ K_KHR_timeline_semaphore-āĻāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§‡āĻĄāĻŧāĻž āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ‰āĻ¤ā§āĻ¸: opennet.ru

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨