Commit graph

141603 commits

Author SHA1 Message Date
Dave Airlie
5888b71847 crocus/gen8: port over vs/gs/ds state changes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
457f21aa91 crocus/gen8: add depth stencil state support
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
524eae8b78 crocus/gen8: add viewport support
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
d12a9eda72 crocus/gen8: add rasterizer state changes.
Port over raster packet and state changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
6613c0ac37 crocus/gen8: refactor blend state for gen8
gen8 emits these packets differently, port the i965 style

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
4025c9d340 crocus/gen8: add PS blend command support.
This adds support for new gen8 command

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
22b9063aee crocus/gen8: add VF SGVS support.
This is moved functionality on gen8

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
5b32fccd3f crocus/gen8: add SBE swiz support
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
88bba6a49e crocus/gen8: add streamout support
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
750e0c1ff3 crocus/gen8: add PMA fix from iris
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
786cf437db crocus/gen8: add VF topology support
this is a new command on gen8

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
961ee7e72b crocus/gen8: state base address + misc setup state.
This ports over SBA setup and some misc packets needed to
setup the context

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
515f9f5e40 crocus/gen8: add support for vertex instancing and index buffers.
This ports over the VF instancing code from iris

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
abc990df9b crocus/gen8: add raw pipe control support for gen8 workarounds
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
117fdacc2b crocus/gen8: limit vertex buffer workarounds to ivb
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
36fd6152f6 crocus/gen8: extending gen7 binding table pointers
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
643475bad3 crocus/gen8: add l3 config support
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
d0a96d6817 crocus/gen8: add sampler / border color support for gen8
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:21 +00:00
Dave Airlie
0cec8eed70 crocus/gen8: extend predicate handling to gen8.
This adds some gen8 specific code to do MI_PREDICATE properly,
otherwise just extends the hsw code

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
aac830ec65 crocus: extend hsw cut index to gen8
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
a422823a61 crocus/gen8: extend image support to gen8
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
60c03d003a crocus/gen8: extend some compute + state functions to gen8
This just extends some hsw functionality to gen8

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
27b86a8b5c crocus/gen8: add push constant support (extend hsw)
This just extends the gen7 checks and adds the gen8 value

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
72e5778579 crocus: extend l3 config setup to gen8
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
7210e98c00 crocus/query: add gen8 support to queries by extending hsw checks
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
6b5b2237a0 crocus/stencil: limit stencil workaround to gen7
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
fa52824f3d crocus: limit texture gather workarounds to gen7/hsw
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
df0e131b43 crocus/gen8: limit some pipe controls to gen7/hsw
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
22ee372eb3 crocus: refactor blend state code.
This just refactors this code before adding gen8 support which
needs more changes in this area.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
a9c1c75e9c crocus: convert a bunch of is_haswell into verx10 checks.
This just make things easier when gen8 support is added

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
ae17ffedb7 crocus: fixup workaround_bo to match 965.
Always add to the batch, and don't set the reloc write flag when
adding to reloc list, as this will confuse the render/compute sync
code and cause over syncing.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
1ced421330 crocus: rename genX proto functions to avoid iris conflicts.
If we start adding gen8, then conflicts occur, but the crocus
ones into their own namespace to avoid this.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
7cfc41aa6b crocus: fixup stray tab
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Dave Airlie
f557d11f15 crocus: drop dead gen prototypes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11507>
2021-06-22 18:56:20 +00:00
Emma Anholt
553743e04a i915g: Clear xfails for vertex texturing.
Fixes: 7378c64792 ("i915: Disable vertex texturing and delete the code.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11512>
2021-06-22 11:06:56 -07:00
Emma Anholt
4ef8eebdc7 i915g: Use the color swizzle to reshuffle the blend const color.
If we're remapping RGBA from the shader into dst channels, we also need to
remap the blend constant color.  The previous static mapping only worked
for ARGB cbufs, but we get ABGR in surfaceless deqp.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11512>
2021-06-22 11:06:56 -07:00
Emma Anholt
0fda53b574 i915g: Simplify color write mask setup.
Use the surface's precomputed swizzle instead of doing a local format
table.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11512>
2021-06-22 11:06:37 -07:00
Emma Anholt
bd4121fe04 i915g: Move cbuf color swizzle lookup to CSO creation time.
Saves walking the loop, and makes a nice place to store a swizzle for use
in other atoms.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11512>
2021-06-22 11:06:37 -07:00
Emma Anholt
5b3840d961 i915g: Compute 3DSTATE_BUF_INFO flags at surface create time.
No need to compute them at state emit.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11512>
2021-06-22 11:06:37 -07:00
Emma Anholt
f8867b3d98 i915g: Create an i915_surface for our pipe_surfaces.
Nothing added in yet, just wrapping the struct.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11512>
2021-06-22 11:06:37 -07:00
Emma Anholt
51458ba9e9 i915g: Remove nr_cbufs loop.
This hardware definitely only does one cbuf.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11512>
2021-06-22 11:06:36 -07:00
Boyuan Zhang
c6da3827d0 radeon/vcn: use st_rps_bits only when it's set
Fixes: c9baccb5

For certain player which doesn't implement st_rps_bits, or when st_rps_bits
is set to 0 (e.g. it doesn't have rps explicitly defined in slice header),
we don't set st_rps_bits and the related flag, since we don't skip parsing
the rps structure in these cases.

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11432>
2021-06-22 17:42:08 +00:00
Jason Ekstrand
806498eee8 docs/isl: Consistently use 3-space tabs
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11529>
2021-06-22 17:37:55 +00:00
Jason Ekstrand
105a51b166 docs/nir: Use 3-space tabs
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11529>
2021-06-22 17:37:55 +00:00
Jason Ekstrand
2175cc3920 editorconfig: Use 3-space tabs for .rst
This is what all the sphinx examples do and is what most of docs/
currently does.

Acked-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11529>
2021-06-22 17:37:55 +00:00
Emma Anholt
7c6084634f ci/llvmpipe: Mark two more multithread program link flakes.
Seen in #mesa-swrast-ci since adding the IRC channel.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11534>
2021-06-22 17:23:59 +00:00
Emma Anholt
5cb043cf82 freedreno: Cooperate with tc to stop checking the BC for resource_busy().
The resource_busy() hook was having to check the batch cache for usage of
the resource, since TC didn't know how long our driver would.  By
committing to calling the tc_driver_internal_flush_notify() hook on
non-deferred flushes, TC keeps track of which buffers have been used but
not flushed and considers them busy, saving us needing to look in the BC
(which we won't be able to do once we move it to being per-context).

drawoverhead test results (all numbers are throughput, n=5):

   1, DrawElements ( 1 VBO| 0 UBO|  0    ) w/ no state change:      -4.94214% +/- 2.45047%
   7, DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ vertex attrib change: 48.3992% +/- 5.02827%
   8, DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ 1 texture change:     26.0974% +/- 1.14932%
   9, DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ 8 textures change:    12.6963% +/- 3.01077%
  17, DrawElements ( 1 VBO| 8 UBO|  8 Tex) w/ 8 UBOs change:        54.3846% +/- 35.0049%

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11513>
2021-06-22 09:51:21 -07:00
Mike Blumenkrantz
6d0aceae4d vk/util: add macros for multidraw
this simplifies implementations since a lot of the code is going to be
copy/pasted around, enabling related tweaks to be made in a centralized place

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11496>
2021-06-22 15:53:03 +00:00
Samuel Pitoiset
8c968b8301 radv: advertise extendedDynamicState2LogicOp
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/10880>
2021-06-22 15:32:31 +00:00
Samuel Pitoiset
8efa897168 radv: implement dynamic logic op
This is part of VK_EXT_extended_dynamic_state2.

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/10880>
2021-06-22 15:32:31 +00:00