aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* radeonsi/gfx10: implement NGG culling for 4x wave32 subgroupsMarek Olšák2020-01-2012-54/+951
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi/gfx10: move GE_PC_ALLOC setting to shader statesMarek Olšák2020-01-205-15/+40
| | | | | | | | The value is not changed. I just use a different way to compute it. The value will vary with NGG culling. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi/gfx10: don't initialize VGPRs not used by NGG passthroughMarek Olšák2020-01-201-3/+5
| | | | | | v2: TES doesn't use the GS PrimitiveID Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi/gfx10: merge main and pos/param export IF blocks into one if possibleMarek Olšák2020-01-201-4/+21
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi/gfx10: export primitives at the beginning of VS/TESMarek Olšák2020-01-203-26/+66
| | | | | | | This decreases VGPR usage and will allow us to merge some IF blocks in shaders. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi/gfx10: move s_sendmsg gs_alloc_req to the beginning of shadersMarek Olšák2020-01-203-3/+13
| | | | | | This will allow us to merge some IF blocks in shaders. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi/gfx10: correct VS PrimitiveID implementation for NGGMarek Olšák2020-01-201-12/+13
| | | | | | | | | We didn't use the correct LDS pointer, though it probably doesn't matter, because I think that nothing else is using LDS here. This commit makes it consistent with all other esgs_ring use. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi/gfx10: update comments and remove invalid TODOsMarek Olšák2020-01-201-12/+1
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* ac: add ac_build_readlane without optimization barrierMarek Olšák2020-01-202-4/+17
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* ac: add prefix bitcount functionsMarek Olšák2020-01-202-0/+64
| | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi: turn an assertion into return in si_nir_store_output_tcsMarek Olšák2020-01-201-3/+5
| | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi: fix doubles and int64Marek Olšák2020-01-202-7/+7
| | | | | | Fixes: 57bd73e2296 - radeonsi: remove llvm_type_is_64bit Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* radeonsi: don't invoke decompression inside internal launch_gridMarek Olšák2020-01-203-4/+22
| | | | | | | | Decompress resources properly but don't do it inside launch_grid to prevent recursion. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Cc: 19.3 <[email protected]>
* radeonsi: clean up how internal compute dispatches are handledMarek Olšák2020-01-201-22/+13
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Cc: 19.3 <[email protected]>
* Revert "radeonsi: unbind image before compute clear"Marek Olšák2020-01-201-5/+0
| | | | | | | | This reverts commit 3a527eda7ceee37643f948bfcf05285c5aa3a4d6. It's incorrect. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
* aco: implement nir_intrinsic_load_barycentric_at_sample on GFX6Samuel Pitoiset2020-01-201-1/+27
| | | | | | | | | | | GFX6 doesn't have FLAT instructions which means we have to emit a 64-bit MUBUF load. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-By: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3432> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3432>
* aco: add new addr64 bit to MUBUF instructions on GFX6-GFX7Samuel Pitoiset2020-01-204-0/+7
| | | | | | | | | | According to the different ISA docs (and to LLVM), this bit seems to only exists on GFX6-GFX7. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-By: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3432>
* aco: do not use the vec3 variant for loads on GFX6Samuel Pitoiset2020-01-201-0/+14
| | | | | | | | | GFX6 only supports vec3 with load/store format. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-By: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3432>
* aco: do not use the vec3 variant for stores on GFX6Samuel Pitoiset2020-01-201-2/+3
| | | | | | | | | GFX6 only supports vec3 with load/store format. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-By: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3432>
* aco: fix constant folding of SMRD instructions on GFX6Samuel Pitoiset2020-01-201-1/+3
| | | | | | | | | SMRD instructions have an 8-bit dword offset on SI. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-By: Timur Kristóf <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3432>
* anv: Canonicalize buffer formats for image/buffer copiesJason Ekstrand2020-01-201-20/+42
| | | | | | | | | | | | | | Some formats, in particular YCbCr formats and ASTC have additional restrictions. We already whack ASTC formats to RGBA32_UINT because the hardware doesn't allow LINEAR with ASTC. However, we need to fix YCbCr formats as well because they come with alignment restrictions that we can't guarantee are satisfied. We're using blorp_copy to do the copies so we may as well just stomp formats for everything. Fixes: b24b93d5843 "anv: enable VK_KHR_sampler_ycbcr_conversion" Reviewed-by: Lionel Landwerlin <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3460> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3460>
* anv/blorp: Rename buffer image stride parametersJason Ekstrand2020-01-201-9/+10
| | | | | | | | The new names fit better with the Vulkan names and don't pretend to be an actual image extent. Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3460>
* Revert "gallium: add st_context_iface::flush_resource to call FLUSH_VERTICES"Daniel Stone2020-01-202-21/+0
| | | | | | | This reverts commit bec9c90b5ecf9cc2dc580f9ff297f94ba5aa3506. Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3472> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3472>
* Revert "st/dri: do FLUSH_VERTICES before calling flush_resource"Daniel Stone2020-01-201-4/+6
| | | | | | This reverts commit 3ba16d36c988a1c7b31c7fe44c1b6a24d9d8227d. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3472>
* aco: fix fall-through test in try_remove_simple_block() with back-edgesRhys Perry2020-01-201-1/+3
| | | | | | | | | | | | | 3bca0af2 enhanced empty block determination which exposed this bug and created an infinite loop in a Guild Wars 2 shader. Signed-off-by: Rhys Perry <[email protected]> Fixes: 3bca0af25dbf6d6b162463138100abb20bc1a1cc ('aco: ignore parallelcopies to the same register on jump threading') Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2364 Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3452> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3452>
* docs/GL4: update gallium/swr featuresKrzysztof Raszkowski2020-01-201-3/+3
| | | | Reviewed-by: Jan Zielinski <[email protected]>
* aco: fix stack buffer overflow in apply_sgprs()Rhys Perry2020-01-201-1/+2
| | | | | | | | Signed-off-by: Rhys Perry <[email protected]> Fixes: cef78797191 ('aco: rewrite apply_sgprs()') Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2361 Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3442> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3442>
* anv: add assert for isl_mod_info in choose_isl_tiling_flagsTapani Pälli2020-01-201-0/+1
| | | | | | | | | CID: 1457859 Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3469> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3469>
* anv: fix assert in GetImageDrmFormatModifierPropertiesEXTTapani Pälli2020-01-201-1/+1
| | | | | | | | CID: 1457861 Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3469>
* isl/gen12: add reminder comment about missing WA with 3D surfacesTapani Pälli2020-01-201-0/+13
| | | | | | | Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3441> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3441>
* panfrost: Dynamically allocate shader variantsIcecream952020-01-182-3/+23
| | | | | | | | | This fixes a crash in LZDoom where over 16 shader variants are needed for a few shaders in some maps, and should also save a few kilobytes of RAM as most of the time only one or two variants of the 8 previously allocated are actually needed. Reviewed-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Expose some functionality with dEQP flagAlyssa Rosenzweig2020-01-181-3/+3
| | | | | | | | These features are stable enough that they don't need to be hidden. Signed-off-by: Alyssa Rosenzweig <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3464> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3464>
* pan/midgard: Fix recursive csel schedulingAlyssa Rosenzweig2020-01-181-0/+4
| | | | | | | | | | | | | | | | Corner case causing invalid scheduling on shaders with nested csels, i.e. GLSL code resembling: (foo ? bool1 : bool2) ? x : y By explicitly disallowing csels this is fixed. Fixes INSTR_INVALID_ENC on a glamor shader (noticeable with slowdown and visual corruption when scrolling "too far" on GTK apps). Signed-off-by: Alyssa Rosenzweig <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3463> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3463>
* panfrost: Identify un/pack colour opcodesAlyssa Rosenzweig2020-01-183-0/+9
| | | | | | | | | We still need to identify formats in the disassembler, but this will at least get the opcode name clear. Signed-off-by: Alyssa Rosenzweig <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3462> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3462>
* pan/midgard: Bytemasks should round up, not round downAlyssa Rosenzweig2020-01-183-9/+8
| | | | | | | Otherwise we'll lost components in DCE. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3462>
* panfrost: Compact the bo_access readers arrayIcecream952020-01-181-4/+9
| | | | | | | | | | | | | | | | | | Previously, the array bo_access->readers was only cleared when there were no unsignaled fences, which in some situations never happened. That resulted in the array having thousands of NULL pointers, but only a handful of active readers. With this patch, all the unsignaled readers are moved to the front of the array, effectively building a new array only containing the active readers in-place. This results in the readers array usually only having a couple of elements. Reviewed-by: Boris Brezillon <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3419> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3419>
* zink: support arrays of samplersErik Faye-Lund2020-01-182-22/+60
| | | | | Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3275> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3275>
* zink: support sampling non-float texturesErik Faye-Lund2020-01-181-6/+7
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3275>
* zink: store image-type per textureErik Faye-Lund2020-01-181-7/+6
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3275>
* zink: avoid incorrect vector-constructionErik Faye-Lund2020-01-181-2/+2
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3275>
* zink: support offset-variants of texturingErik Faye-Lund2020-01-183-5/+17
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3275>
* zink: implement nir_texop_txsErik Faye-Lund2020-01-183-4/+50
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3275>
* docs: fixup indentationErik Faye-Lund2020-01-183-44/+48
| | | | | | | | | | The most canonical indentation-style here is two spaces, which is what the standard boilerplate in all documents use. So let's normalize to that. Reviewed-by: Eric Engestrom <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3443> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3443>
* docs: remove pointless, stray newlineErik Faye-Lund2020-01-181-2/+1
| | | | | Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3443>
* docs: use [1] instead of asterisk for footnoteErik Faye-Lund2020-01-181-3/+3
| | | | | | | While we're at it, make it a link as well. Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3443>
* docs: remove trailing newlinesErik Faye-Lund2020-01-181-3/+0
| | | | | Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3443>
* docs: remove leading spacesErik Faye-Lund2020-01-189-241/+241
| | | | | | | | There's no good reason to have leading space in these pre-formatted blocks. It looks strange, so let's get rid of it. Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3443>
* docs: remove trailing headerErik Faye-Lund2020-01-181-2/+0
| | | | | | | | This header has been there since the document was added, but contains nothing. So let's get rid of it. Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3443>
* docs: use figure/figcaption instead of tablesErik Faye-Lund2020-01-182-24/+35
| | | | | Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3443>
* docs: do not use definition-list for sub-topicsErik Faye-Lund2020-01-181-29/+14
| | | | | | | | | | | | The dl-tag isn't a neat tool for defining sub-headings, it's a semantic tool for defining definitions and their meaning. Let's insetad use normal sub-headings instead. To make the last few paragraphs stand out from the above, let's add a sub-heading for those as well. Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3443>