{"id":109072,"date":"2020-02-11T17:38:09","date_gmt":"2020-02-11T17:38:09","guid":{"rendered":"http:\/\/gamefromscratch.com\/post.aspx?id=bc8bb8dc-2eab-4453-a354-c6f4df3a4420"},"modified":"2020-02-11T17:38:09","modified_gmt":"2020-02-11T17:38:09","slug":"godot-vulkan-branch-now-master-on-github","status":"publish","type":"post","link":"https:\/\/sickgaming.net\/blog\/2020\/02\/11\/godot-vulkan-branch-now-master-on-github\/","title":{"rendered":"Godot Vulkan Branch Now Master On GitHub"},"content":{"rendered":"<p>The comes a time in every project where you have to switch from a developmental Work In Progress branch to the main branch and that time just occurred for the Godot game engine.&nbsp; The WIP Vulkan (and C++14) port is now the official branch on the Godot Github.<\/p>\n<p>Details from the <a href=\"https:\/\/godotengine.org\/article\/headsup-vulkan-merged-master-branch-unstable\">Godot news page<\/a>:<\/p>\n<blockquote>\n<p>The Vulkan port is not ready yet, but we need to get it merged into the <code>master<\/code> branch as a lot of further development planned for Godot 4.0 depends on it.<\/p>\n<p>We plan to rework a lot of Godot&#8217;s internals (<code>core<\/code>) to allow fixing long-standing design issues and improving performance (including GDScript performance improvements). Moreover, our long-awaited port to C++14 will also happen now that the <code>vulkan<\/code> branch is merged into <code>master<\/code>, and many other codebase-wide changes were waiting for this: code style changes, Display\/OS split, renaming of 3D nodes to unify our conventions, etc.<\/p>\n<p>The scope of the planned changes means that it would be impossible to do these changes in the <code>master<\/code> branch while keeping the <code>vulkan<\/code> branch separate, just as it would not be possible to do all those changes in the <code>vulkan<\/code> branch itself before merging into <code>master<\/code>: any rebase\/merge would become extremely difficult due to the sheer amount of lines of code that will change.<\/p>\n<p>Up until now, we&#8217;ve been very cautious with regard to what changes we allow in the <code>vulkan<\/code> branch, as well as what new PRs we merge in <code>master<\/code>, to ensure that the <code>vulkan<\/code> branch can always be rebased on top of <code>master<\/code> for a later merge. I&#8217;ve been rebasing it periodically over the past 8 months, and even though we&#8217;ve been very conservative in the scope of the changes, in later months a full rebase could easily take me a full day of work.<\/p>\n<p>So we need everything in the main branch to stop limiting ourselves.<\/p>\n<\/blockquote>\n<p>Moving the development branch from 3.2 to 4.0 has some side effects, specifically outstanding Pull Requests.&nbsp; Unfortunately the simplest option seems to be the best in this case, to close those requests and hopefully \u201cport\u201d them to the new master branch.<\/p>\n<blockquote>\n<p>While closing PRs may seem a bit abrupt, we ask all contributors to understand that this is done to help us cope with the sheer amount of proposals in parallel to having to refactor a lot of the engine&#8217;s codebase. This closing does not mean that we <em>reject<\/em> the PRs, nor that we do not seem them as worthy contributions. But by asking the authors to re-assess their own proposals and make them compatible with Godot 4.0, we will save a lot of precious development time and get ourselves some breathing air in the current overcrowded PRs.<\/p>\n<p>Closed PRs will have the <code>salvageable<\/code> label, which we use to denote PRs with code that could be salvaged to make a new, updated (and possibly improved) PR, either by the original author or by a new contributor. So we will not lose code in the process, since everything will still be accessible from the closed PRs and easily identifiable thanks to the <code>salvageable<\/code> label.<\/p>\n<\/blockquote>\n<p>If you use a major release version downloaded from Godot\u2019s download page or from Steam, this change doesn\u2019t actually effect you.&nbsp; If you want to check out the new Vulkan master branch but don\u2019t want to build the code yourself, you can get a <a href=\"https:\/\/hugo.pro\/projects\/godot-builds\/\">nightly build here<\/a>.<\/p>\n<p>Learn more about this change and it\u2019s ramifications in the <a href=\"https:\/\/youtu.be\/7kpSUd-8zHs\">video<\/a> below.<\/p>\n<p align=\"center\">[youtube https:\/\/www.youtube.com\/watch?v=7kpSUd-8zHs&#038;w=853&#038;h=480] <\/p>\n<p class=\"under\"> <span class=\"categories\"><a href=\"https:\/\/www.gamefromscratch.com\/category\/GameDev-News.aspx\">GameDev News<\/a><\/span> <span class=\"tags\"><a href=\"https:\/\/www.gamefromscratch.com\/?tag=\/Godot\" rel=\"tag\">Godot<\/a><\/span> <\/p>\n<hr>\n<p> &lt;!&#8211;<\/p>\n<p>&#8211;&gt;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The comes a time in every project where you have to switch from a developmental Work In Progress branch to the main branch and that time just occurred for the Godot game engine.&nbsp; The WIP Vulkan (and C++14) port is now the official branch on the Godot Github. Details from the Godot news page: The [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[71],"tags":[72],"class_list":["post-109072","post","type-post","status-publish","format-standard","hentry","category-game-development","tag-gamedev-news"],"_links":{"self":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/109072","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/comments?post=109072"}],"version-history":[{"count":0,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/109072\/revisions"}],"wp:attachment":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media?parent=109072"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/categories?post=109072"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/tags?post=109072"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}