{"id":112796,"date":"2024-01-10T15:10:14","date_gmt":"2024-01-10T13:10:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/dostupen-vcc-c-c-kompilyator-dlya-vulkan"},"modified":"2024-01-10T15:10:14","modified_gmt":"2024-01-10T13:10:14","slug":"dostupen-vcc-c-c-kompilyator-dlya-vulkan","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/dostupen-vcc-c-c-kompilyator-dlya-vulkan","title":{"rendered":"Saadaval on Vcc, C\/C++ kompilaator Vulkanile","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00e4rast kolme aasta arendust on esitlemisel uurimisprojekt Vcc (Vulkan Clang Compiler), mis on suunatud kompilaatori loomisele, mis suudab t\u00f5lkida C++ keeles kirjutatud koodi GPU-dele, mis toetavad Vulkan graafilist API-d. Erinevalt GPU programmeerimise mudelitest, mis p\u00f5hinevad \u0161eedrikoodide keeltel GLSL ja HLSL, arendab Vcc ideed loobuda t\u00e4ielikult eraldi \u0161eedrikoodide keeltest ja v\u00f5imaldab C\/C++ koodi otsest kompileerimist Vulkanile. Projekti arengut jagatakse MIT litsentsi alusel.     <\/p>\n<p>Koodi kompileerimiseks kasutatakse projekti LLVM ja Clang komponente eesrindlikena. GPU-l toimimiseks arendatakse v\u00e4lja oma vahepealne \u0161eedri esitusviis Shady ning kompilaator, mis muudab koodi sellesse esitusviisi. V\u00f5imaluse korral toetatakse tavalise standardse C\/C++ koodi kompileerimist, ning GPU-spetsiifiliste v\u00f5imaluste toetamiseks pakutakse mitu t\u00e4iendavat sisseehitatud funktsiooni.    <\/p>\n<p>Vcc kasutab programmi t\u00e4itmise juhtimiseks C\/C++ sisseehitatud v\u00f5imalusi, sealhulgas 'goto' operaatori kasutamise v\u00f5imalust. Funktsioonide kutsumine, rekursiivne funktsioonide t\u00e4itmine, f\u00fc\u00fcsiliste ja funktsioonin\u00e4idikute, samuti tagatud n\u00e4idikute kasutamine on lubatud, samuti n\u00e4idikute aritmeetilised operatsioonid ja t\u00fc\u00fcpide paigutamise m\u00e4\u00e4ramine m\u00e4lus.    <\/p>\n<p>C\/C++ v\u00f5imaluste, nagu funktsioonid ja n\u00e4idikud, toetamiseks on Shady vahe- esitus laiendatud eristruktuuride toega. \u00dcldiselt p\u00f5hineb Shady vahe-esitus SPIR-V 3-l ja kasutab laiendatud v\u00f5imaluste rakendamiseks emulatsiooni, mida ei ole v\u00f5imalik otseselt SPIR-V peal teostada. Spetsiifilistele shader-programmidele m\u00f5eldud v\u00f5imaluste kasutamiseks pakutakse sisseehitatud funktsioone ja annotatsioone.         #include        descriptor_set(0) descriptor_binding(1) uniform sampler2D texSampler;       location(0) input vec3 vertexColor;     location(1) input vec2 texCoord;       location(0) output vec4 outColor;       fragment_shader void main() {         vec4 fragColor;         fragColor.xyz = vertexColor;         fragColor.w = 1.0f;         outColor = texture2D(texSampler, texCoord) * fragColor;     }      <\/p>\n<p>T\u00f6\u00f6ks on vajalik Vulkan 1.1 toega GPU, VK_KHR_buffer_device_address laiendused ja Int8, Int16 ning Int64 t\u00fc\u00fcbid. Vcc on \u00fchilduv Vulkan draiveritega radv (AMD Mesa), amdvlk (AMD), nvk (NVIDIA), anv (Intel Mesa) ning AMD, Intel Arc ja NVIDIA patenteeritud draiveritega. Teostuspiirangutena mainitakse C++ erandite toetuse puudumist, malloc\/free funktsioonide k\u00e4ttesaamatust ning funktsioonide ja pointerite \u00fclekandmatust host-s\u00fcsteemi ja GPU vahel.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60413\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 Vcc (Vulkan Clang Compiler), \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421++ \u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0435 \u043d\u0430 GPU, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 API Vulkan. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f GPU \u043d\u0430 \u0431\u0430\u0437\u0435 \u044f\u0437\u044b\u043a\u043e\u0432 \u0448\u0435\u0439\u0434\u0435\u0440\u043e\u0432 GLSL \u0438 HLSL \u0432 Vcc \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0430\u0437\u0430 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u0448\u0435\u0439\u0434\u0435\u0440\u043e\u0432 \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-112796","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 Vcc (Vulkan Clang Compiler), \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421++ \u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0435 \u043d\u0430 GPU, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 API Vulkan. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f GPU \u043d\u0430 \u0431\u0430\u0437\u0435 \u044f\u0437\u044b\u043a\u043e\u0432 \u0448\u0435\u0439\u0434\u0435\u0440\u043e\u0432 GLSL \u0438 HLSL \u0432 Vcc \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0430\u0437\u0430 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u0448\u0435\u0439\u0434\u0435\u0440\u043e\u0432 \u0438\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/dostupen-vcc-c-c-kompilyator-dlya-vulkan\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d Vcc, C\/C++ \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043b\u044f Vulkan | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 Vcc (Vulkan Clang Compiler), \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421++ \u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0435 \u043d\u0430 GPU, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 API Vulkan. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f GPU \u043d\u0430 \u0431\u0430\u0437\u0435 \u044f\u0437\u044b\u043a\u043e\u0432 \u0448\u0435\u0439\u0434\u0435\u0440\u043e\u0432 GLSL \u0438 HLSL \u0432 Vcc \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0430\u0437\u0430 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u0448\u0435\u0439\u0434\u0435\u0440\u043e\u0432 \u0438\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/dostupen-vcc-c-c-kompilyator-dlya-vulkan\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-01-10T13:10:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-01-10T13:10:14+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Saadaval Vcc, C\/C++ kompilaator Vulkan'i jaoks | ProHoster","description":"P\u00e4rast kolme aastat arendust\u00f6\u00f6d on esitletud uurimisprojekti Vcc (Vulkan Clang Compiler), mille eesm\u00e4rk on luua kompilaator, mis suudab t\u00f5lkida C++ koodi esitluseks, mida saavad kasutada Vulkani grafikat API toega GPU-d. Erinevalt GPU programmeerimise mudelitest, mis p\u00f5hinevad \u0161edereike keeltes GLSL ja HLSL, arendab Vcc ideed, et t\u00e4ielikult loobuda eraldi \u0161edereike keelte kasutamisest ja","canonical_url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/dostupen-vcc-c-c-kompilyator-dlya-vulkan","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d Vcc, C\/C++ \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043b\u044f Vulkan | ProHoster","og:description":"\u041f\u043e\u0441\u043b\u0435 \u0442\u0440\u0451\u0445 \u043b\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 Vcc (Vulkan Clang Compiler), \u043d\u0430\u0446\u0435\u043b\u0435\u043d\u043d\u044b\u0439 \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421++ \u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u0435 \u043d\u0430 GPU, \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0449\u0438\u0445 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0439 API Vulkan. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f GPU \u043d\u0430 \u0431\u0430\u0437\u0435 \u044f\u0437\u044b\u043a\u043e\u0432 \u0448\u0435\u0439\u0434\u0435\u0440\u043e\u0432 GLSL \u0438 HLSL \u0432 Vcc \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u0430\u0437\u0430 \u043e\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u0448\u0435\u0439\u0434\u0435\u0440\u043e\u0432 \u0438","og:url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/dostupen-vcc-c-c-kompilyator-dlya-vulkan","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-01-10T13:10:14+00:00","article:modified_time":"2024-01-10T13:10:14+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/112796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=112796"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/112796\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=112796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=112796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=112796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}