Announcement

Collapse
No announcement yet.

The GPLv3 GPU Is Now Available

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #21
    Hi all,
    I am Frank Bruno and the GPLGPU is my core. Please feel free to ask questions if you'd like. I wanted to clear some things up:

    1) This core is not intended for people to use to replace current graphics. It's not that powerful. It's faster than the original ASIC 15 years or so ago, but it's still the same price if you were to buy an FPGA large enough to compile to. That said, by all means if someone wants to use it to replace their graphics, feel free. I'd love to hear about it. Once I replace the PCI core with an AXI/ AMBA interface, you could put it in an FPGA w/ a PCIe interface.

    2) There is a market for cores like this. Some companies need 2D only or basic 3D and have very long life cycles. FPGAs solve these problems. In many cases, to re-cerify software is much more expensive than replacing the hardware. The trade off I am making is to give people access to the code to play with, contribute to and to learn. I'm hoping that people on the software side of the house can help with drivers and hardware types might play with it and improve performance.

    3) I took an OpenCL course over the summer to see how far graphics has come over the years. It's come a long way. I do want to work on an OpenCL core at some point, but real life often gets in the way. This core will not ever run OpenCL simply because it's a fixed graphics pipeline base on OpenGL 1.x

    Anyways, I hope some of you see value in the project. I do. Andreas of Parallela fame tweeted about this and I hope to be collaborating with him to get the graphics onto his board shortly.

    I know some see the value and some don't. Likely it's the HW people vs the SW. I think there is value at looking how projects are done. I know someone said it's a mess, but I think you'll find it's not. It's very well organized and not too hard to follow if you dig into it.

    Comment


    • #22
      Even if it doesn't do modern graphics processing, it is still extremely interesting. Guess now is as good time as any to learn more about Verilog.

      Comment


      • #23
        What does "licensed under the GPL v3.0 for non-commercial use" actually mean? Is this non-commercial restriction an extra clause in addition to GPL?

        Comment


        • #24
          Originally posted by ssvb View Post
          What does "licensed under the GPL v3.0 for non-commercial use" actually mean? Is this non-commercial restriction an extra clause in addition to GPL?
          I don't think I said noncommercial use. If I did, let me know where and I'll change it.
          GPLv3 allows commercial use if you GPLv3 all of the code in the device. If you were to build a system with this, it would need to be open source.
          The core is licensable under a version for commercial use in which case a company doesn't need to release their whole design.

          Comment


          • #25
            Originally posted by fbruno View Post
            I don't think I said noncommercial use. If I did, let me know where and I'll change it.
            I found this "non-commercial" reference in https://github.com/asicguy/gplgpu/bl...cs/GPLGPU.docx

            Also the 2D accelerator part does not seem have full support for Porter-Duff compositing [1][2] yet or am I getting it wrong?

            Comment


            • #26
              Thanks for pointing that out. I'll fix it.
              The 2D supports openGL Alpha blending. If it's missing from the Spec, I'll add it. You can see the modes here: http://www.glprogramming.com/red/chapter06.html Not sure if it's the same as the modes you mentioned, but it looks similar.

              In 2D, it can use the alpha channel from the source/ Dest buffers in 32Bpp. In 16Bpp it uses constant registers. In 32Bpp you can optionally use the constants rather than the alpha channel.

              There are a set of blending tests, but in my attempt to unify some of the test code, I broke the tests. I'll upload them as soon as I get the 3D tests up.

              Comment


              • #27
                Originally posted by fbruno View Post
                The 2D supports openGL Alpha blending. If it's missing from the Spec, I'll add it. You can see the modes here: http://www.glprogramming.com/red/chapter06.html Not sure if it's the same as the modes you mentioned, but it looks similar.

                In 2D, it can use the alpha channel from the source/ Dest buffers in 32Bpp. In 16Bpp it uses constant registers. In 32Bpp you can optionally use the constants rather than the alpha channel.
                Yes, some alpha blending support is indeed available. But after quickly skimming through the documentation, it does not seem to be sufficient to support everything that is needed for SVG, PDF, XRENDER, cairo 2D library, html5 canvas and the other modern 2D graphics workloads. I understand that this GPU design is very old and probably predates some of these relatively modern things. However anything open source is supposed to be upgradable/fixable by you and/or by the hobbyist community

                Personally, I'm not sure if the fixed 2D pipeline has much use nowadays and whether it has any advantages (better power consumption?) over modern programmable GPU pipelines. But Samsung, Rockchip, Allwinner and the other SoC vendors still seem to have G2D units in their silicon.

                There are a set of blending tests, but in my attempt to unify some of the test code, I broke the tests. I'll upload them as soon as I get the 3D tests up.
                Tests are very much welcome. Thanks.

                By the way, have you seen the recently announced http://www.lowrisc.org/ with RISC-V CPU core? It seems to be a very interesting project (if it succeeds). Does anybody know what kind of GPU are they going to use?

                Comment

                Working...
                X