Skip to content
  • Kenneth Graunke's avatar
    Revert recent changes about not including compute in combined limits. · 9d670fd8
    Kenneth Graunke authored
    As far as I can tell, no one reviewed these changes, they made i965
    assert fail on driver load, and I am not certain they are correct.
    (Hopefully reverting these does not break radeonsi too badly...)
    
    The uniform related changes seem fine and reasonable, but the texture
    image units change is possibly incorrect.  According to the
    OES_tessellation_shader spec issue 5:
    
       (5) How are aggregate shader limits computed?
    
        RESOLVED: Following the GL 4.4 model, but we restrict uniform
        buffer bindings to 12/stage instead of 14, this results in
    
            MAX_UNIFORM_BUFFER_BINDINGS = 72
                This is 12 bindings/stage * 6 shader stages, allowing a static
                partitioning of the bindings even though at most 5 stages can
                appear in a program object).
            MAX_COMBINED_UNIFORM_BLOCKS = 60
                This is 12 blocks/stage * 5 stages, since compute shaders can't
                be mixed with other stages.
            MAX_COMBINED_TEXTURE_IMAGE_UNITS = 96
                This is 16 textures/stage * 6 stages.
    
    which definitely is including compute shaders in that last limit.
    Not including compute shaders breaks the following test:
    dEQP-GLES31.functional.state_query.integer.max_combined_texture_image_units_getinteger
    
    There was enough breakage that I figured we should just send this back
    to the drawing board.
    
    Revert "i965: don't include compute resources in "Combined" limits"
    Revert "st/mesa: don't include compute resources in "Combined" limits"
    Revert "mesa: don't include compute resources in MAX_COMBINED_* limits"
    
    This reverts commit b03dcb1e.
    This reverts commit cff290df.
    This reverts commit 45f87a48.
    9d670fd8