• AnyOldName3@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 days ago

    Being x86 or not doesn’t have much impact. The CPU instruction set is dealt with by the compiler, and the only differences that show through will be which memory access bugs and race conditions end up having symptoms. The effort comes in because the GPU is programmed completely differently, so a lot of the rendering code needs to be rewritten from scratch, most PCs with good GPUs don’t have unified memory, so you need to manage when things are transferred to the GPU and back, and you’re not targeting one single piece of hardware, but instead many different ones that support different features, perform differently when asked to do the same thing, do different things in cases where the API specification says they can, and do different things when there’s a graphics driver bug.

    Things aren’t as complicated as they were when porting things to and from the PS3, which had co-processors that had to be managed separately, or from the Dreamcast, which had a GPU that supported a bunch of things that couldn’t be done on a PC GPU until around 2010. The change wasn’t down to the CPU, and was instead that consoles no longer have weird extra hardware that PCs don’t, so you can typically just try and do the same things in the same ways and it’ll almost always be possible.