Skip to content
  • Sagar Ghuge's avatar
    mesa: Add support for AMD_depth_clamp_separate · 5650d399
    Sagar Ghuge authored and Anuj Phogat's avatar Anuj Phogat committed
    
    
    Enable _mesa_PushAttrib() and _mesa_PopAttrib() to handle
    GL_DEPTH_CLAMP_NEAR_AMD and GL_DEPTH_CLAMP_FAR_AMD tokens.
    
    Remove DepthClamp, because DepthClampNear + DepthClampFar replaces it,
    as suggested by Marek Olsak.
    
    Driver that enables AMD_depth_clamp_separate will only ever look at
    DepthClampNear and DepthClampFar, as suggested by Ian Romanick.
    
    v2: 1) Remove unnecessary parentheses (Marek Olsak)
        2) if AMD_depth_clamp_separate is unsupported, TEST_AND_UPDATE
           GL_DEPTH_CLAMP only (Marek Olsak)
        3) Clamp against near and far plane separately (Marek Olsak)
        4) Clip point separately for near and far Z clipping plane (Marek
           Olsak)
    
    v3: Clamp raster position zw to the range [min(n,f), 0] for near plane
        and [0, max(n,f)] for far plane (Marek Olsak)
    
    v4: Use MIN2 and MAX2 instead of CLAMP (Marek Olsak)
    
    Signed-off-by: Sagar Ghuge's avatarSagar Ghuge <sagar.ghuge@intel.com>
    Reviewed-by: default avatarIan Romanick <ian.d.romanick@intel.com>
    Reviewed-by: default avatarMarek Olšák <marek.olsak@amd.com>
    5650d399