Mike Blumenkrantz
1c8bcad81a
gallium: add pipe cap for scissored clears and pass scissor state to clear() hook
...
this adds a new pipe cap that drivers can support which enables passing buffer
clears with scissor test enabled through to be handled by the driver instead
of having mesa draw a quad
also adjust all existing clear() hooks to have the new parameter
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com >
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4310 >
2020-04-29 18:05:06 +00:00
Caio Marcelo de Oliveira Filho
882928dcaa
i965: Use correct constant for max_variable_local_size
...
Fixes: 5664bd6db3
("i965: Implement ARB_compute_variable_group_size")
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4799 >
2020-04-29 17:12:42 +00:00
Mike Blumenkrantz
91375f13ce
iris: move iris_vtable to iris_screen
...
instead of inlining this into every context, now a struct is used in the screen
struct to reduce memory usage and simplify a couple of the methods
Closes: https://gitlab.freedesktop.org/kwg/mesa/-/issues/6
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4376 >
2020-04-29 16:59:45 +00:00
Jason Ekstrand
e581ddeeee
intel/fs: Don't delete coalesced MOVs if they have a cmod
...
Shader-db results on ICL:
total instructions in shared programs: 17133088 -> 17133287 (<.01%)
instructions in affected programs: 61300 -> 61499 (0.32%)
helped: 0
HURT: 199
This means it's likely fixing 199 bugs. :-) All the changed shaders are
in Mad Max. It's surprisingly difficult to get the back-end compiler to
generate a pattern that hits this we don't tend to emit a lot coalescable
MOVs. The pattern in Mad Max that's able to hit is fsign(fsat(x)) under
the right conditions.
Closes : #2820
Cc: mesa-stable@lists.freedesktop.org
Tested-by: Ian Romanick <ian.d.romanick@intel.com >
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4773 >
2020-04-29 16:45:51 +00:00
Marek Olšák
6fe7d6758a
st/mesa: expose more SPIR-V capabilities
...
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4760 >
2020-04-29 16:25:06 +00:00
Marek Olšák
a2542deb63
mesa: report GL_INVALID_OPERATION for invalid glTextureBuffer target
...
This fixes:
KHR-GL46.direct_state_access.textures_buffer_errors
KHR-GL46.direct_state_access.textures_buffer_range_errors
Fixes: 98e64e538a
- main: Added entry point for glTextureBuffer
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4759 >
2020-04-29 15:58:45 +00:00
Alyssa Rosenzweig
ffa314eab3
pan/mdg: Replicate 16-bit swizzles
...
We don't support vec8 quite yet anyway, this fixes dot products.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
c571d31b8b
pan/mdg: Ensure fdot is scalar out in disasm
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
95664b177f
pan/mdg: Move condense_writemask to disasm
...
The compiler should *never* use this. Packing should be 1 way.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
efc9ab6dcc
pan/mdg: Pass through some types from scheduling
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
d8d7df6f09
pan/mdg: Don't crash on unknown branch target
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
e27fd4b3ec
pan/mdg: Make some branch targets more explicit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
dfa7c26ff8
pan/mdg: Always print the mask
...
Meaningful for fp16.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
459cf59c61
pan/mdg: Specialize swizzle to type
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
62768590d5
pan/mdg: Lower specials to 32-bit
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
bb0e85fca4
pan/mdg: Move sampler_type emission to pack time
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
08af4c788d
pan/mdg: Set texture full fields at pack time
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
4fb02174a3
pan/mdg: Track texture types
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
53c183736e
pan/mdg: Track v_mov type (force uint32 for now?)
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
74fadc8859
pan/mdg: Denoise prints
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
714eba8762
pan/mdg: Track a primary type for I/O
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
04f76ad8ae
pan/mdg: Another goofy comment gone
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
ecf946638e
pan/mdg: Track ALU dest type
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
6757c480ab
pan/mdg: Track ALU src types
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
742b272314
pan/mdg: Add type fields to IR
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
b9f7f06a61
pan/bi: Share ALU type printing
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
6c08e294c8
pan/mdg: Set lower_flrp16
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
05f5267f23
pan/mdg: Remove old hack
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4793 >
2020-04-29 15:35:54 +00:00
Alyssa Rosenzweig
d7f98a87f2
pan/mdg: Remove goofy 16-bit comment
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792 >
2020-04-29 15:18:38 +00:00
Alyssa Rosenzweig
3b10bcd417
pan/mdg: Don't break SSA
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792 >
2020-04-29 15:18:38 +00:00
Alyssa Rosenzweig
23337fd590
pan/mdg: SSA_FIXED_MINIMUM already covered by PAN_IS_REG
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792 >
2020-04-29 15:18:38 +00:00
Alyssa Rosenzweig
63eec105b2
pan/mdg: Use PAN_IS_REG
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792 >
2020-04-29 15:18:38 +00:00
Alyssa Rosenzweig
d4600c4340
pan/mdg: Remove nir_alu_src_index
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792 >
2020-04-29 15:18:38 +00:00
Alyssa Rosenzweig
fbbe3d4b75
pan/bi: Use common IR indices
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792 >
2020-04-29 15:18:38 +00:00
Alyssa Rosenzweig
5860b18665
panfrost: Move Bifrost IR indexing to common
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792 >
2020-04-29 15:18:38 +00:00
Alyssa Rosenzweig
e3062edff4
panfrost: Fix BO reference counting
...
Typo.
Fixes: 3283c7f4da
("panfrost: Inline reference counting routines")
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4792 >
2020-04-29 15:18:38 +00:00
Marek Olšák
22a4cb4937
ac: enable displayable DCC on Navi12 & Navi14
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697 >
2020-04-29 14:53:25 +00:00
Marek Olšák
3b45631d7a
ac/surface: validate that DCC is enabled correctly on gfx9+
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697 >
2020-04-29 14:53:25 +00:00
Marek Olšák
5e31e4b697
ac/surface: add code for gfx10 displayable DCC
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697 >
2020-04-29 14:53:25 +00:00
Marek Olšák
e2fbba7720
ac/surface: move non-displayable DCC to the end of the buffer
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697 >
2020-04-29 14:53:25 +00:00
Marek Olšák
a3dc7fffbb
ac/surface: don't compute DCC if it's unsupported by DCN on gfx9+
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697 >
2020-04-29 14:53:25 +00:00
Marek Olšák
5d785f99b7
ac/surface: match get_display_flag() with expectations for is_displayable
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697 >
2020-04-29 14:53:25 +00:00
Marek Olšák
3dc2ccc14c
ac/surface: replace RADEON_SURF_OPTIMIZE_FOR_SPACE with !FORCE_SWIZZLE_MODE
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697 >
2020-04-29 14:53:25 +00:00
Marek Olšák
f6d87ec8a9
ac/surface: remove RADEON_SURF_TC_COMPATIBLE_HTILE and assume it's always set
...
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 <pierre-eric.pelloux-prayer@amd.com > (v1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697 >
2020-04-29 14:53:25 +00:00
Marek Olšák
25d3cc293e
ac/surface: rename micro tile mode enums like gfx10 uses them
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4697 >
2020-04-29 14:53:25 +00:00
Thomas Hellstrom
298e247776
winsys/svga: Optionally avoid caching buffer maps
...
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 <thellstrom@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Reviewed-by: Matthew McClure <mcclurem@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4804 >
2020-04-29 13:45:12 +00:00
Thomas Hellstrom
422148de52
gallium/pipebuffer: Use persistent maps for slabs
...
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 <thellstrom@vmware.com >
Reviewed-by: Charmaine Lee <charmainel@vmware.com >
Reviewed-by: Brian Paul <brianp@vmware.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4804 >
2020-04-29 13:45:12 +00:00
Timur Kristóf
e4e1a0ac13
radv: Use smaller esgs_itemsize for ACO.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388 >
2020-04-29 11:51:04 +00:00
Timur Kristóf
ee5f04c9c9
aco: Use new default driver locations.
...
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 <timur.kristof@gmail.com >
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388 >
2020-04-29 11:51:04 +00:00
Timur Kristóf
efa4976709
radv: Use new linking helper to set default driver locations.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4388 >
2020-04-29 11:51:04 +00:00