Jason Ekstrand
26e6da90ab
anv: Refactor cmd_buffer_setup_attachments
...
This commit just renames some things so that we use names for temporary
variables which are more consistent with other places in the code-base.
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Jason Ekstrand
36a74835df
anv: Stop allowing non-zero clear colors in input attachments
...
Previously, we bent over backwards to allow non-zero clear colors input
attachments whenever we could. However, very few apps use input
attachments and very few use non-zero clear colors. Getting rid of
support for non-zero clear colors input attachments will allow us to
treat them identically to textures which should help us simplify things
a good bit.
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Jason Ekstrand
bf92e96d9c
anv: Disallow fast-clears which require format-reinterpretation
...
In order to actually hit this case you have to be using a very odd
color/view combination. The common cases of clear-to-zero and 0/1 clear
colors with an sRGB view don't require any re-interpretation. This is
probably better than always resolving whenever we have a format mismatch
like we are today because that hits the sRGB case every time.
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Jason Ekstrand
20e72e435c
intel: Move swizzle_color_value from blorp to ISL
...
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Jason Ekstrand
814dc66935
anv: Allocate surface states per-subpass
...
Instead of allocating surface states for attachments in BeginRenderPass,
we now allocate them in begin_subpass. Also, since we're zeroing
things, we can be a bit cleaner about or implementation and just fill
out all those passes for which we have allocated surface states.
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Jason Ekstrand
a3d185d091
anv: Split command buffer attachment setup in three
...
This commit splits genX(cmd_buffer_setup_attachments)() into three
functions: one which sets up cmd_buffer->state.attachments, one which
allocates surface states, and one which fills out the surface states.
While we're here, we make both functions take the framebuffer (if any)
as an argument instead of pulling it from the command buffer so it's
more clear what things are inputs to the functions. We also make the
render pass and framebuffer parameters const as those are immutable
objects. The only functional change here should be that we now
vk_zalloc the attachments which should be a bit safer.
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Jason Ekstrand
c195d55161
anv: Mark images written in end_subpass
...
This makes a lot more sense than marking them written in begin_subpass
since, at that point, we haven't written them yet. This should reduce
the chances of accidental extra resolves.
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Jason Ekstrand
d5e30872ca
anv: Use ANV_FROM_HANDLE for pInheritanceInfo fields
...
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Jason Ekstrand
7cbc5fde13
anv: Assert surface states are valid
...
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Jason Ekstrand
eaa8f043cd
anv: Stop filling out the clear color in compute_aux_usage
...
It's a pointless micro-optimization that just makes compute_aux_usage
unnecessarily entangled with setting up surface states.
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Jason Ekstrand
5808efdf40
anv: Add TRANSFER_SRC to pass usage not subpass usage
...
The subpass usage flags are supposed to always be one bit and never
multiple bits. However, when adding in TRANSFER_SRC usage for resolve
attachments we were adding it to the subpass bits and not the render
pass bits. This potentially is causing issues where images aren't
getting marked written properly.
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Jason Ekstrand
513ed7542a
anv: Return an error if allocating attachment memory fails
...
Reviewed-by: Rafael Antognolli <rafael.antognolli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4393 >
2020-04-28 22:45:39 +00:00
Samuel Pitoiset
0549fba3cc
radv: advertise VK_AMD_memory_overallocation_behavior
...
Doom Eternal explicitly allows overallocation via this extension
but that shouldn't change anything because it's the default RADV
behavior.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4785 >
2020-04-28 21:03:26 +00:00
Samuel Pitoiset
5832f2b8a3
radv: track memory heaps usage if overallocation is explicitly disallowed
...
By default, RADV supports overallocation by the sense that it doesn't
reject an allocation if the target heap is full.
With VK_AMD_overallocation_behaviour, apps can disable overallocation
and the driver should account for all allocations explicitly made by
the application, and reject if the heap is full.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4785 >
2020-04-28 21:03:26 +00:00
Samuel Pitoiset
32035cca3f
radv: remove unused radv_device_memory::map_size field
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4785 >
2020-04-28 21:03:25 +00:00
Ian Romanick
7b869710a1
nir/algebraic: Require operands to iand be 32-bit
...
With the mask value 0x80000000, the other operand must be 32-bit. This
fixes failures in
dEQP-VK.subgroups.ballot_mask.ext_shader_subgroup_ballot.*.gl_subgroupgemaskarb_*
tests from Vulkan 1.2.2 CTS.
Checking one of the tests, it appears that the tests are doing 64-bit
iand with 0x0000000080000000, then comparing the result with zero.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2834
Fixes: 88eb8f190b ("nir/algebraic: Simplify logic to detect sign of an integer")
Reviewed-by: Eric Anholt <eric@anholt.net >
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4770 >
2020-04-28 20:33:56 +00:00
Rob Clark
656051d735
freedreno/ir3/ra: only assign array base in first pass
...
In particular, we specifically don't want to let the base change between
passes, as it could end up conflicting with registers assigned in the
first pass.
Mostly-closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2838
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4780 >
2020-04-28 20:06:49 +00:00
Rob Clark
3d8ec96762
freedreno/ir3/ra: split out helper for array assignment
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4780 >
2020-04-28 20:06:49 +00:00
Rob Clark
6313b8d881
freedreno/ir3/ra: use ir3_debug_print helper
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4780 >
2020-04-28 20:06:49 +00:00
Rob Clark
8b3ac7084a
freedreno/ir3/ra: remove unused variable
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4780 >
2020-04-28 20:06:49 +00:00
Rob Clark
997828e31b
freedreno/computer: add script to test widening/narrowing
...
Just something I hacked together to help figure out which instructions
can fold in a wideing/narrowing conversion.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4780 >
2020-04-28 20:06:49 +00:00
Alyssa Rosenzweig
6b551d9f36
pan/bi: Add initial fcmp test
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
778e27b5ac
pan/bit: Interpret CMP
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
71501972e9
pan/bit: Prepare condition evaluation for vectors
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
0b8724c340
pan/bi: Relax double-abs condition
...
Only if both ports (<==> registers) same.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
81156ad55a
pan/bi: Pack fma.fcmp16
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
7a689470d0
pan/bi: Factor out fp16 abs logic
...
Also used for fcmp16
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
c94d41ad7c
pan/bi: Pack FMA 32 FCMP
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
1520131d82
pan/bi: Fix source mod testing for CMP
...
Outputs u32.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
12ca99f2c1
pan/bi: Structify ADD ICMP 32
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
ddcefefa7d
pan/bi: Structify FMA ICMP 16
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
3d41468e7d
pan/bi: Structify FMA ICMP 32
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
527d7303ca
pan/bi: Structify ADD FCMP16
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
74795dd328
pan/bi: Structify FMA FCMP16
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
28afe3037a
pan/bi Strucitfy ADD FCMP 32
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
c861292ce2
pan/bi: Structify FMA FCMP
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
7fe3c145d9
pan/bi: Remove bi_round_op
...
No purpose.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
95fc71ece2
pan/bi: Deduplicate csel/cmp cond
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
df486689c0
pan/bi(t): Fix SELECT tests
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
814f2f1d33
pan/bi: Add CSEL.8 opcode
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
e23d191245
pan/bi: Add FCMP.GL.v2f16 on ADD opcode
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
b4f2d3a51c
pan/bi: Add 64-bit int compares
...
Likewise.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
52cc7165c6
pan/bi: Add some 8-bit compares
...
Not all but enough to see the pattern.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
2f286eed2a
pan/bi: Add CSEL.64 opcode
...
Chain twice for full 64-bit CSEL.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Alyssa Rosenzweig
100edfe26d
pan/bi: Add bool->float opcodes
...
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4789 >
2020-04-28 17:17:48 +00:00
Samuel Pitoiset
523e9603d3
radv: enable FMASK for color attachments only
...
The reason behind this is that FMASK requires CMASK and also that
FMASK for non color attachments looks unnecessary. It's currently
much easier to add this simple check because the driver tries to
always enable DCC first and if we enable FMASK only if CMASK, we
might loose some FMASK compressions.
This helps fixing some new robustness2 tests which fails because
only FMASK is enabled.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4783 >
2020-04-28 17:23:05 +02:00
Jason Ekstrand
81ac741f89
anv: Expose CS workgroup sizes based on a maximum of 64 threads
...
Otherwise, we'll hit asserts in brw_compile_cs.
Fixes: cf12faef61 "intel/compiler: Restrict cs_threads to 64"
Closes : #2835
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4746 >
2020-04-28 14:51:08 +00:00
Jason Ekstrand
86f67952d3
intel/devinfo: Compute the correct L3$ size for Gen12
...
Fixes: 8125d7960b "intel/dev: Add preliminary device info for Tigerlake"
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Tested-by: Clayton Craft <clayton.a.craft@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4782 >
2020-04-28 14:34:17 +00:00
Bas Nieuwenhuizen
7262c743dc
radv: Determine memory type for import based on fd.
...
This would be necessary for an application to figure out if the
memory was allocated using a memory type with VK_MEMORY_PROPERTY_PROTECTED_BIT.
It also allows one to determine VRAM vs. GTT etc.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4751 >
2020-04-28 15:45:03 +02:00
Bas Nieuwenhuizen
f30983be3a
radv/winsys: Add function to get domains/flags from fd.
...
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4751 >
2020-04-28 15:45:00 +02:00