Mesa (master): 34 new commits

Bas Nieuwenhuizen bnieuwenhuizen at kemper.freedesktop.org
Tue Apr 19 16:32:31 UTC 2016


URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=464cef5b06e65aa740704e4adac68b7f5fee1b88
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Mar 19 15:16:50 2016 +0100

    radeonsi: enable TGSI support cap for compute shaders
    
    v2: Use chip_class instead of family.
    
    v3: Check kernel version for SI.
    
    v4: Preemptively allow amdgpu winsys for SI.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f32d5d59fff7a4ef42cd2811ef4116c5827b9a0
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Tue Apr 19 14:08:13 2016 +0200

    radeonsi: Consider input SGPR count for compute shader SGPR count.
    
    si_shader_create corrects the SGPR count with si_fix_num_sgprs. We then
    recompute the rsrc1 register to use the new SGPR count.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c833ba1ab7ffe615d8c025a7452984083c1143b
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Tue Apr 19 13:52:32 2016 +0200

    radeonsi: Add CE synchronization for compute dispatches.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0b729c544ab0f25cd90af5daffdff0940743e14
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Apr 2 13:39:54 2016 +0200

    mesa/st: enable compute shaders if images are also supported
    
    v2: Also depend on atomic counters.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=41d79bcbfa64f6f72b0090e12838073983ea6e5b
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Apr 2 11:37:06 2016 +0200

    radeonsi: clean up compute flush
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a92c0842892bf55a82b7d95ab5a3b7dfbb83407
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sun Mar 27 11:14:34 2016 +0200

    radeonsi: do not do two full flushes on every compute dispatch
    
    v2: Add more CS_PARTIAL_FLUSH events.
    
    Essentially every place with waits on finishing for pixel shaders
    also has a write after read hazard with compute shaders.
    
    Invalidating L2 waits implicitly on pixel and compute shaders,
    so, we don't need a CS_PARTIAL_FLUSH for switching FBO.
    
    v3: Add CS_PARTIAL_FLUSH events even if we already have INV_GLOBAL_L2.
    
    According to Marek the INV_GLOBAL_L2 events don't wait for compute
    shaders to finish, so wait for them explicitly.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e764ee13ae21e3c1dbda24daeb2d08c5e7c81871
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Mar 19 13:56:29 2016 +0100

    radeonsi: split setting graphics and compute descriptors
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=061ce9399a08f3edd4f5af16afd36bb14d58c864
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Mar 19 18:41:20 2016 +0100

    radeonsi: split texture decompression for compute shaders
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e56514f6316e48ee2231841d45695ff2b8f8b4f5
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Tue Apr 5 17:38:38 2016 +0200

    radeonsi: update predicate condition for compute dispatches
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3083d841e04e14d3682e55cf5d1004f5310e9d4
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Mar 19 15:15:20 2016 +0100

    radeonsi: implement TGSI compute dispatch
    
    v2: - Use radeon_set_sh_reg_seq.
        - Set predicate bit for conditional rendering.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1349dd16ff4f0e40e9ecefcb818302752cd0bf38
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Apr 2 13:19:42 2016 +0200

    radeonsi: only emit compute shader state when switching shaders
    
    v2: - Do check if anything changed earlier
        - Use emitted_program instead of emitted_bo to prevent
          shaders with shader->bo = NULL confusing the check
        - Use radeon_set_sh_reg*
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ba1f66a73d493c49a3a329d9f3882ddbae4147b0
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Apr 2 13:04:18 2016 +0200

    radeonsi: rework compute scratch buffer
    
    Instead of having a scratch buffer per program, have one per
    context.
    
    Also removed the per kernel wave count calculations, but
    that only helped if the total number of waves in the dispatch
    was smaller than sctx->scratch_waves.
    
    v2: Fix style issue.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=107f4d3538e6eeab396bf41a4d4334950adf81ac
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Apr 2 12:35:36 2016 +0200

    radeonsi: do per cs setup for compute shaders once per cs
    
    Also removes PKT3_CONTEXT_CONTROL as that is already being done
    by si_begin_new_cs, when emitting init_config.
    
    v2: - Use radeon_set_sh_reg_seq.
        - Also set COMPUTE_STATIC_THREAD_MGMT_SE2 / SE3 for CIK+
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=52d3584decfa00f3f96633edd7f2b6c4a0febabf
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Apr 2 12:48:05 2016 +0200

    radeonsi: don't pass scratch buffer to user SGPRs
    
    As far as I can see we use relocations for clover too.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=422a19f76fce5a308f380d02b54e426ebd7aa87f
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Apr 2 12:04:15 2016 +0200

    radeonsi: split input upload off from si_launch_grid
    
    Also uses a dynamically allocated buffer using u_upload_alloc.
    The old buffer per program approach required serializing all
    dispatches of the same program.
    
    v2: - Clarified commit message.
        - Use radeon_set_sh_reg_seq.
        - Also upload input buffer for clover kernels, even when
          input_size is 0, as it contains grid parameters.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=898298efc93ea873b6e537fda028508349d41628
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Mar 19 14:07:33 2016 +0100

    radeonsi: implement TGSI compute shader creation
    
    v2: Moved scratch_enabled initialization after compile.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=85fd7817eef4639ad69ad27807827f335f8b3ed0
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Sat Mar 19 13:54:55 2016 +0100

    radeonsi: update shader count for compute shaders
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=da88c2a8e85350875aa60ef9cd2442666b2109ec
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Mon Mar 28 03:01:56 2016 +0200

    radeonsi: set maximum work group size based on block size
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b082147b788ee45862f8d1b0e1b47478d6b99447
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Tue Mar 29 13:20:26 2016 +0200

    radeonsi: implement shared atomics
    
    v2: - Use single region
        - Use get_memory_ptr
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8acf3e501b40aa30371105c18187441085369dfe
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Tue Mar 29 13:17:40 2016 +0200

    radeonsi: implement shared memory load/store
    
    v2: - Use single region
        - Combine address calculation
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=84a6761ae34105fbdb38757a07e229b2392545d3
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Tue Mar 29 17:51:49 2016 +0200

    radeonsi: add shared memory
    
    Declares the shared memory as a global variable so that
    LLVM is aware of it and it does not conflict with passes
    like AMDGPUPromoteAlloca.
    
    v2: - Use ctx->i8.
        - Dropped null-check for declare_memory_region.
        - Changed memory region array to single region.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>
    Reviewed-by: Edward O'Callaghan <eocallaghan at alterapraxis.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=753a3e472b4c026d96f9984b02b53f596a0d595e
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Thu Mar 17 14:12:21 2016 +0100

    radeonsi: lower compute shader arguments
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>
    Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=008d977d01255cca50fd222caea04f6787cb3b59
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Thu Mar 10 21:39:20 2016 +0100

    radeonsi: Use CE for all descriptors.
    
    v2: Load previous list for new CS instead of re-emitting
        all descriptors.
    
    v3: Do radeon_add_to_buffer_list in si_ce_upload.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0b6c463dac4a25c927f419e65023979cc45ce60d
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Wed Apr 13 23:30:55 2016 +0200

    gallium/util: Add u_bit_scan_consecutive_range64.
    
    For use by radeonsi.
    
    v2: Make sure that it works for all 64 bits set.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=058b54c6244416e47ec211e2300624cd9e3ae623
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Fri Apr 15 01:00:41 2016 +0200

    radeonsi: Replace list_dirty with a mask.
    
    We can then upload only the dirty ones with the constant engine.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=aabc7d61d6826164f5ecf8243a6265af6c6ee62c
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Thu Mar 10 21:23:49 2016 +0100

    radeonsi: Add CE uploader.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d7ddd6819b1007ee1490755068660fbc436e974
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Thu Mar 10 21:19:37 2016 +0100

    radeonsi: Allocate chunks of CE ram.
    
    v2: Use 32 byte alignment.
    
    v3: Don't allocate CE space for vertex buffer descriptors.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=86c71ff989f39401e3a8195aabcaae8dae89146b
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Thu Mar 10 21:01:39 2016 +0100

    radeonsi: Add CE synchronization.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=fe1ef23b6698a55613bc7c4d46bd68aeff080d43
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Thu Mar 10 20:59:16 2016 +0100

    radeonsi: Add CE packet definitions.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8fee75d606e83b1f0d665fef9ea59ba24fc6682d
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Wed Apr 13 22:31:17 2016 +0200

    radeonsi: Create CE IB.
    
    Based on work by Marek Olšák.
    
    v2: Add preamble IB.
    
    Leaves the load packet in the space calculation as the
    radeon winsys might not be able to support a premable.
    
    The added space calculation may look expensive, but
    is converted to a constant with (at least) -O2 and -O3.
    
    v3: - Fix code style.
        - Remove needed space for vertex buffer descriptors.
        - Fail when the preamble cannot be created.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7201230582e060aa2eb79c825d3188b437ef7bb8
Author: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
Date:   Thu Apr 14 02:11:07 2016 +0200

    winsys/amdgpu: Enlarge const IB size.
    
    Necessary to prevent performance regressions due to extra flushing.
    
    Probably should enlarge it even further when also updating
    uniforms through the CE, but this seems large enough for now.
    
    v2: Add preamble IB.
    
    Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7997b5f005d4051e84bf64d6d1294f3da5076e5a
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Aug 8 14:02:02 2015 +0200

    winsys/amdgpu: Add support for const IB.
    
    v2: Use the correct IB to update request (Bas Nieuwenhuizen)
    v3: Add preamble IB. (Bas Nieuwenhuizen)
    Reviewed-by: Marek Olšák <marek.olsak at amd.com>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e78170f388fdabf3b981839ae265632b974f5569
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Aug 8 13:27:38 2015 +0200

    winsys/amdgpu: split IB data into a new structure in preparation for CE
    
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4b77c764a2469b20cfe49ec3ea3cca8e49dea92
Author: Marek Olšák <marek.olsak at amd.com>
Date:   Sat Aug 8 14:12:10 2015 +0200

    gallium/radeon: move ring_type into winsyses
    
    Not used by drivers.
    
    Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>




More information about the mesa-commit mailing list