• Ben Skeggs's avatar
    drm/nv40: implement ctxprog/state generation · 054b93e4
    Ben Skeggs authored
    The context programs are *very* simple compared to the ones used by
    the binary driver.  There's notes in nv40_grctx.c explaining most of
    the things we don't implement.  If we discover if/why any of it is
    required further down the track, we'll handle it then.
    
    The PGRAPH state generated for each chipset should match what NVIDIA
    do almost exactly (there's a couple of exceptions).  If someone has
    a lot of time on their hands, they could figure out the mapping of
    object/method to PGRAPH register and demagic the initial state a little,
    it's not terribly important however.
    
    At time of commit, confirmed to be working at least well enough for
    accelerated X (and where tested, for 3D apps) on NV40, NV43, NV44, NV46,
    NV49, NV4A, NV4B and NV4E.
    
    A module option has been added to force the use of external firmware
    blobs if it becomes required.
    Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
    054b93e4
nv40_graph.c 12.1 KB