Skip to content
  • Tomeu Vizoso's avatar
    panfrost: Allocate shaders in their own BOs · 950b5fc5
    Tomeu Vizoso authored
    
    
    Instead of all shaders being stored in a single BO, have each shader in
    its own.
    
    This removes the need for a 16MB allocation per context, and allows us
    to place transient blend shaders in BOs marked as executable (before
    they were allocated in the transient pool, which shouldn't be
    executable).
    
    v2: - Store compiled blend shaders in a malloc'ed buffer, to avoid
          reading from GPU-accessible memory when patching (Alyssa).
        - Free struct panfrost_blend_shader (Alyssa).
        - Give the job a reference to regular shaders when emitting
          (Alyssa).
    
    v3: - Split out the allocation flags change (Rob).
    
    Signed-off-by: default avatarTomeu Vizoso <tomeu.vizoso@collabora.com>
    Reviewed-by: default avatarAlyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
    950b5fc5