summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* pan/mdg: Move condense_writemask to disasmAlyssa Rosenzweig2020-04-292-22/+22
| | | | | | | The compiler should *never* use this. Packing should be 1 way. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Pass through some types from schedulingAlyssa Rosenzweig2020-04-291-0/+4
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Don't crash on unknown branch targetAlyssa Rosenzweig2020-04-291-1/+2
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Make some branch targets more explicitAlyssa Rosenzweig2020-04-291-0/+2
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Always print the maskAlyssa Rosenzweig2020-04-291-3/+1
| | | | | | | Meaningful for fp16. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Specialize swizzle to typeAlyssa Rosenzweig2020-04-291-6/+12
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Lower specials to 32-bitAlyssa Rosenzweig2020-04-291-0/+6
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Move sampler_type emission to pack timeAlyssa Rosenzweig2020-04-292-16/+16
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Set texture full fields at pack timeAlyssa Rosenzweig2020-04-292-5/+9
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Track texture typesAlyssa Rosenzweig2020-04-291-1/+10
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Track v_mov type (force uint32 for now?)Alyssa Rosenzweig2020-04-291-0/+2
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Denoise printsAlyssa Rosenzweig2020-04-291-9/+21
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Track a primary type for I/OAlyssa Rosenzweig2020-04-291-15/+17
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Another goofy comment goneAlyssa Rosenzweig2020-04-291-9/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Track ALU dest typeAlyssa Rosenzweig2020-04-291-2/+3
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Track ALU src typesAlyssa Rosenzweig2020-04-291-18/+20
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Add type fields to IRAlyssa Rosenzweig2020-04-292-7/+13
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/bi: Share ALU type printingAlyssa Rosenzweig2020-04-293-31/+34
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Set lower_flrp16Alyssa Rosenzweig2020-04-291-0/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Remove old hackAlyssa Rosenzweig2020-04-291-3/+0
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793>
* pan/mdg: Remove goofy 16-bit commentAlyssa Rosenzweig2020-04-291-8/+0
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792>
* pan/mdg: Don't break SSAAlyssa Rosenzweig2020-04-291-7/+2
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792>
* pan/mdg: SSA_FIXED_MINIMUM already covered by PAN_IS_REGAlyssa Rosenzweig2020-04-292-3/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792>
* pan/mdg: Use PAN_IS_REGAlyssa Rosenzweig2020-04-296-21/+17
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792>
* pan/mdg: Remove nir_alu_src_indexAlyssa Rosenzweig2020-04-293-10/+4
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792>
* pan/bi: Use common IR indicesAlyssa Rosenzweig2020-04-296-57/+24
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792>
* panfrost: Move Bifrost IR indexing to commonAlyssa Rosenzweig2020-04-291-0/+32
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792>
* panfrost: Fix BO reference countingAlyssa Rosenzweig2020-04-291-2/+2
| | | | | | | | Typo. Fixes: 3283c7f4dad ("panfrost: Inline reference counting routines") Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792>
* ac: enable displayable DCC on Navi12 & Navi14Marek Olšák2020-04-291-4/+7
| | | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697>
* ac/surface: validate that DCC is enabled correctly on gfx9+Marek Olšák2020-04-291-0/+69
| | | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697>
* ac/surface: add code for gfx10 displayable DCCMarek Olšák2020-04-296-26/+88
| | | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697>
* ac/surface: move non-displayable DCC to the end of the bufferMarek Olšák2020-04-291-3/+6
| | | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697>
* ac/surface: don't compute DCC if it's unsupported by DCN on gfx9+Marek Olšák2020-04-292-21/+30
| | | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697>
* ac/surface: match get_display_flag() with expectations for is_displayableMarek Olšák2020-04-291-1/+7
| | | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697>
* ac/surface: replace RADEON_SURF_OPTIMIZE_FOR_SPACE with !FORCE_SWIZZLE_MODEMarek Olšák2020-04-295-10/+8
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697>
* ac/surface: remove RADEON_SURF_TC_COMPATIBLE_HTILE and assume it's always setMarek Olšák2020-04-294-23/+30
| | | | | | | | | | | So that drivers can enable it without worrying how the texture was allocated. v2: reworked the mechanism, hopefully fixes now added Bas Nieuwenhuizen's diff to fix radv Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> (v1) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697>
* ac/surface: rename micro tile mode enums like gfx10 uses themMarek Olšák2020-04-294-15/+17
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697>
* winsys/svga: Optionally avoid caching buffer mapsThomas Hellstrom2020-04-294-12/+22
| | | | | | | | | | | | | Mapping of graphics kernel buffers is quite costly. Therefore the svga drm winsys caches all kernel buffer maps. However, that may lead to less testing coverage of the unmap paths and (possibly) processes running out of virtual memory space. Introduce a possibility to avoid that caching by setting the environment variable SVGA_FORCE_KERNEL_UNMAPS to 1. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Reviewed-by: Matthew McClure <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4804>
* gallium/pipebuffer: Use persistent maps for slabsThomas Hellstrom2020-04-293-4/+14
| | | | | | | | | | | | | | | Instead of the ugly practice of relying on the provider caching maps, introduce and use persistent pipebuffer maps. Providers that can't handle persistent maps can't use the slab manager. The only current user is the svga drm winsys which always maps persistently. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Charmaine Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4804>
* radv: Use smaller esgs_itemsize for ACO.Timur Kristóf2020-04-294-23/+30
| | | | | | Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388>
* aco: Use new default driver locations.Timur Kristóf2020-04-291-107/+17
| | | | | | | | | | | | | | | | | | | | | | | The way the new locations are set up has much fewer gaps between each I/O slot, so this results in a massive reduction in the LDS usage of tessellation shaders. Totals (GFX10): VGPRS: 3976792 -> 3974864 (-0.05 %) Code Size: 260552784 -> 260532860 (-0.01 %) bytes LDS: 48723 -> 30179 (-38.06 %) blocks Max Waves: 1053407 -> 1053583 (0.02 %) Totals from affected shaders (1407 shaders on GFX10): SGPRS: 59144 -> 59216 (0.12 %) VGPRS: 63024 -> 61096 (-3.06 %) Code Size: 2695508 -> 2675584 (-0.74 %) bytes LDS: 47109 -> 28565 (-39.36 %) blocks Max Waves: 12999 -> 13175 (1.35 %) Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388>
* radv: Use new linking helper to set default driver locations.Timur Kristóf2020-04-292-0/+58
| | | | | | Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388>
* nir: Add new linking helper to set linked driver locations.Timur Kristóf2020-04-292-0/+108
| | | | | | | | | | | | | | This commit introduces a new function nir_assign_linked_io_var_locations which is intended to help with assigning driver locations to shaders during linking, primarily aimed at the VS->TCS->TES->GS stages. It ensures that the linked shaders have the same driver locations, and it also packs these as close to each other as possible. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388>
* aco: Set config->lds_size when TES or VS is running on HW ESGS.Timur Kristóf2020-04-291-0/+1
| | | | | | | | | | This doesn't fix anything, just reports the LDS size used by merged ESGS shaders, such as vertex_geometry_gs and tess_eval_geometry_gs. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388>
* aco: Calculate workgroup size of legacy GS.Timur Kristóf2020-04-291-1/+5
| | | | | | Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388>
* aco: Remember VS/TCS output driver locations.Timur Kristóf2020-04-292-10/+18
| | | | | | | | | | Instead of relying on calling shader_io_get_unique_index repeatedly, remember the which output driver location corresponds to which varying slot. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388>
* aco: Use context variables instead of calculating TCS inputs/outputs.Timur Kristóf2020-04-292-11/+7
| | | | | | | | | | | | VS needs the number of TCS inputs, and TES needs the number of TCS outputs. It is error-prone to repeat those calculations in both instruction selection and setup. Just set them in one place instead. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Rhys Perry <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388>
* radv: Refactor calculate_tess_lds_size and get_tcs_num_patches.Timur Kristóf2020-04-293-21/+25
| | | | | | | | | | | | | | Previously these functions needed the bit mask of the TCS outputs and patch outputs written, and concluded the number of outputs from that. Now, they take the number of outputs and patch outputs instead. This will allow the backend compiler to better optimize the LDS layout. Signed-off-by: Timur Kristóf <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388>
* aco: consider blocks unreachable if they are in the logical cfgRhys Perry2020-04-296-9/+2
| | | | | | | | | | | | | | unreachable was true if the last block is unreachable in the linear cfg, but it should also be true if it is unreachable in the logical cfg. Fixes dEQP-VK.graphicsfuzz.for-with-ifs-and-return Signed-off-by: Rhys Perry <[email protected]> Fixes: 8d8c864beba399ae4ee2267f680d1f600ad32767 ('aco: improve check for unreachable loop continue blocks') Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4764>
* egl/wayland: Fix zwp_linux_dmabuf usageChristopher James Halse Rogers2020-04-291-12/+20
| | | | | | | | | | | | | | | | | | | | | | There's no guarantee that the formats advertised by wl_drm and the formats advertised by zwp_linux_dmabuf_v1 are the same. get_back_bo() handles this by falling back from createImageWithModifiers() to createImage() when there's a wl_drm format but no corresponding linux_dmabuf format, but create_wl_buffer() unconditionally tries to create a linux_dmabuf buffer unless DRIimage has DRM_FORMAT_MOD_INVALID. Fix this by always checking if the DRIimage modifier has been advertised by zwp_linux_dmabuf_v1, and falling back to wl_drm if not. If DRM_FORMAT_MOD_INVALID has been advertised then we trust the client has allocated something appropriate and treat any modifier as matching. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2220 Signed-off-by: Christopher James Halse Rogers <[email protected]> Reviewed-by: Daniel Stone <[email protected]> Reviewed-by: Simon Ser <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4294>