{"id":1022,"date":"2020-01-17T10:31:46","date_gmt":"2020-01-17T09:31:46","guid":{"rendered":"https:\/\/blogs.igalia.com\/itoral\/?p=1022"},"modified":"2020-01-17T10:31:46","modified_gmt":"2020-01-17T09:31:46","slug":"i-am-working-on-the-raspberry-pi-4-mesa-v3d-driver","status":"publish","type":"post","link":"https:\/\/blogs.igalia.com\/itoral\/2020\/01\/17\/i-am-working-on-the-raspberry-pi-4-mesa-v3d-driver\/","title":{"rendered":"I am working on the Raspberry Pi 4 Mesa V3D driver"},"content":{"rendered":"<p>Yeah&#8230; this blog post is well overdue, but better late than never! So yes, I am currently working on progressing the <strong>Raspberry Pi 4 Mesa driver stack<\/strong>, together with my Igalian colleagues Pi\u00f1eiro and Chema, continuing the fantastic work started by Eric Anholt on the <strong>Mesa V3D driver<\/strong>.<\/p>\n<p>The <strong><a href=\"https:\/\/www.raspberrypi.org\/products\/raspberry-pi-4-model-b\/\">Raspberry Pi 4<\/a> sports a Video Core VI GPU<\/strong> that is capable of <strong>OpenGL ES 3.2<\/strong>, so it is a big update from the <em>Raspberry Pi 3<\/em>, which could only do <em>OpenGL ES 2.0.<\/em> Another big change with the <em>Raspberry Pi<\/em> 4 is that <strong>the Mesa v3d driver is the driver used by default with Raspbian<\/strong>. Because both GPUs are quite different, Eric had to write an all new driver for the <em>Raspberry Pi 4<\/em>, and that is why there are two drivers in Mesa: the <strong>VC4 driver is for the Raspberry Pi 3<\/strong>, while the <strong>V3D driver targets the Raspberry Pi 4<\/strong>.<\/p>\n<p>As for what we have been working on exactly, I wrote a <a href=\"https:\/\/www.raspberrypi.org\/blog\/vc4-and-v3d-opengl-drivers-for-raspberry-pi-an-update\/\">long post on the Raspberry Pi blog<\/a> some months ago with a lot of the details, but for those looking for the quick summary:<\/p>\n<ul>\n<li>Shader compiler optimizations.<\/li>\n<li>Significant <strong>Transform Feedback<\/strong> fixes and improvements.<\/li>\n<li>Implemented <strong>OpenGL Logic Operations<\/strong>.<\/li>\n<li>A bunch of <strong>bugfixes for Piglit<\/strong> test failures.<\/li>\n<li>Set up a <strong>Continuous Integration<\/strong> system to identify regressions.<\/li>\n<li>Rebased and merge Eric&#8217;s work on <strong>Compute Shaders<\/strong>.<\/li>\n<li>Many bug fixes targeting the <strong>Khronos OpenGL ES Conformance Test Suite (CTS)<\/strong>.<\/li>\n<\/ul>\n<p>So that&#8217;s it for the late news. I hope to do a better job keeping this blog updated with the news this year, and to start with that I will be writing a couple of additional posts to highlight a few significant development milestones we achieved recently, so stay tuned for more!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yeah&#8230; this blog post is well overdue, but better late than never! So yes, I am currently working on progressing the Raspberry Pi 4 Mesa driver stack, together with my Igalian colleagues Pi\u00f1eiro and Chema, continuing the fantastic work started by Eric Anholt on the Mesa V3D driver. The Raspberry Pi 4 sports a Video &hellip; <a href=\"https:\/\/blogs.igalia.com\/itoral\/2020\/01\/17\/i-am-working-on-the-raspberry-pi-4-mesa-v3d-driver\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;I am working on the Raspberry Pi 4 Mesa V3D driver&#8221;<\/span><\/a><\/p>\n","protected":false},"author":16,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-1022","post","type-post","status-publish","format-standard","hentry","category-graphics"],"_links":{"self":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/posts\/1022","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/comments?post=1022"}],"version-history":[{"count":7,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/posts\/1022\/revisions"}],"predecessor-version":[{"id":1029,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/posts\/1022\/revisions\/1029"}],"wp:attachment":[{"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/media?parent=1022"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/categories?post=1022"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.igalia.com\/itoral\/wp-json\/wp\/v2\/tags?post=1022"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}