The card in question: Thames [Radeon HD 7550M/7570M/7650M] (Radeon HD 7570M) I am starting to face mounting issues as a lot of modern software have started to abandon OpenGL in favor of Vulkan, and if its possible, I just want to try for the learning opportunity

  • dkc@lemmy.world
    link
    fedilink
    English
    arrow-up
    17
    ·
    1 day ago

    Hey man, I don’t want to discourage you, but this is one of those things where if you have to ask how to do something you’re probably not experienced enough to do it. That being said, as a learning opportunity even if you don’t make it far you’ll still learn a lot about how GPUs work.

    I’d start by looking at any existing drivers you can find and see if you can document or find documentation for the commands fed to the GPU. From there you can look at the Mesa project for examples of converting Vulkan to instructions for specific processors and see if you can get it to all fit together for your project.

      • teawrecks
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        9 hours ago

        Yeah, so the best beginner resource (especially for old hardware) is honestly this old blog series A Trip Through the Graphics Pipeline. But importantly, it was written before modern dx12/vulkan were around, so it will use dx9 terminogy. Also, it’s possible that certain aspects of the vulkan api aren’t possible to faithfully implement to spec with older hardware (while still maintaining reasonable performance, or possibly at all).

        From there, it’s probably best to try and implement a backend for your GPU into the radv mesa driver, so probably go take a look at how other GPUs are done.

        You will need to become familiar with the AMD GPU programming docs, here.

        I’m not going to be one of the naysayers here who says you shouldn’t even try to do this, but as an ex-graphics driver dev, I think you will find pretty quickly that you have your work cut out for you. It would probably be easier to implement a Vulkan-on-OGL translation layer.

        Both GPU hardware and drivers are developed by teams of professionals, each of which is hyper specialized in a few components, because none have the time or ability to be familiar with everything about all components (at least, not while also being effective). I’m not saying you can’t do it, and I’m not saying you wouldn’t learn a LOT doing it, but I am saying that by the time you finish, you could have worked a minimum wage job and purchased a dozen 5090s 😉.

        Edit: and oh right, then there’s reading through the Vulkan spec, which, if it’s your first graphics API, will take months, if not years to digest.