Tapani Pälli
ad2e80ee53
anv: dynamic line rasterization mode
...
This affects following packets:
3DSTATE_RASTER
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Tapani Pälli
fe5a259723
anv: dynamic line stipple enable
...
This affects following packets:
3DSTATE_WM
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Tapani Pälli
0a6d0fed9d
anv: dynamic rasterization stream
...
This affects following packets:
3DSTATE_STREAMOUT
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Tapani Pälli
0f33d7061b
anv: dynamic state for tessellation domain origin
...
This affects following packets:
3DSTATE_TE
v2: remove render target check, move cmd_emit_te and
stop merging it, cleanups (Lionel)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Tapani Pälli
cc0ada2d67
anv: dynamic state for polygon mode
...
Remove 'polygon_mode' from pipeline and read it from
dynamic state instead.
This affects following packets:
3DSTATE_CLIP
3DSTATE_RASTER
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18879 >
2022-10-11 16:29:04 +00:00
Rohan Garg
c0c243f1cb
anv, iris: Disable pre fetching the binding table entries on DG2
...
On DG2 the HW will fetch the binding entries into the cache
for every single thread when a compute walker is dispatched,
wiping out the advantages of the cache prefetch.
The spec also advises to not do a cache prefetch when we have more than
31 binding table entries, but most real world applications will never
hit that limit.
Signed-off-by: Rohan Garg <rohan.garg@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18498 >
2022-10-11 15:16:09 +02:00
Tapani Pälli
b62d1c257e
anv: mark debug variables with ASSERTED
...
To clean up compilation warnings about unused variables
when asserts are disabled.
v2: UNUSED -> ASSERTED (Eric Engestrom)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19016 >
2022-10-11 04:14:30 +00:00
Tapani Pälli
c9c9a5b78d
intel/fs: mark debug variables with ASSERTED
...
To clean up compilation warnings about unused variables
when asserts are disabled.
v2: UNUSED -> ASSERTED (Eric Engestrom)
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19016 >
2022-10-11 04:14:30 +00:00
Lionel Landwerlin
1e29a1a8c5
anv: add grl build dependency on entrypoints
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7446
Fixes: f3ddfd81b4 ("anv: Build BVHs on the GPU with GRL")
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19007 >
2022-10-10 19:14:07 +00:00
Lionel Landwerlin
1964899c28
intel: add INTEL_DEBUG=capture-all to capture everything upon hang
...
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18977 >
2022-10-07 07:45:22 +00:00
Jason Ekstrand
650880105e
vulkan,lavapipe: Use a tri-state enum for depth clip enable
...
This should make it a lot more clear how depth clip enables work.
Annoyingly, because of the way they originally worked in Vulkan 1.0,
it's dependent on the depth clamp if the state isn't set in the pipeline
and isn't declared dynamic. The enum is explicitly set up so that
drivers don't need to be aware of this change unless they already
implement VK_EXT_extended_dynamic_state3. If depth clamp/clamp are not
dynamic, depth clip will be either TRUE or FALSE which map to 1/0 so the
field can still be treated as a boolean.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18889 >
2022-10-07 06:22:32 +00:00
Iván Briano
406a1854d0
vulkan_hasvk: set READ/WRITE_WITHOUT_FORMAT for buffer views
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18958 >
2022-10-05 09:45:57 -07:00
Iván Briano
b75fbfdd46
anv: set READ/WRITE_WITHOUT_FORMAT for buffer views
...
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18958 >
2022-10-05 09:45:50 -07:00
José Roberto de Souza
0066e60fc4
anv: Split the debug part of anv_queue_exec_locked()
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
José Roberto de Souza
bc384e24f0
anv: Use Vulkan types for priority as much as possible
...
Continuing the work to split i915_drm.h specific code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
José Roberto de Souza
f5a58b8886
anv: Split i915 specific parts of anv_queue_submit_simple_batch()
...
This will make easier to spot more places where the code can
simplified after the hasvk split.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
José Roberto de Souza
35ed40f356
anv: Move fetch of i915 physical device parameters
...
Move everything that depends on i915_drm.h to its own function,
in a future MR will move the parameters that are also needed by
Iris to intel_device_info.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
José Roberto de Souza
a17783b066
intel/dev: Split i915 specific parts of intel_get_device_info_from_fd()
...
Continuing the work to split i915_drm.h specific code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
José Roberto de Souza
03b959286e
intel: Make engine related functions and types not i915 dependent
...
There is too much i915_drm.h code spread, this patch start to fix that
by re-organizing engine related code.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18942 >
2022-10-04 18:35:50 +00:00
Tapani Pälli
1cf1a94f97
intel: revert preemption disable via VFG changes
...
This register will not be whitelisted and this change will be
done in kernel instead.
This change reverts commits d5d4604a , ddcd6b38 , 27c5b93d .
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18897 >
2022-10-04 10:38:49 +00:00
Emma Anholt
0ae3eb834d
ci/iris: Update iris traces checksums.
...
The previous commits in this MR caused a minor rendering change for
Unvanquished.
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18466 >
2022-10-03 17:18:31 +00:00
José Roberto de Souza
1e87834980
intel: Share code to read render timestamp
...
Timestamp read is not in any hot path so there is no down-sides in
share the same function between iris, crocus, anv and hasvk.
Also while at it also dropping the functions to read MMIO from kernel,
the only use is read render timestamp so we don't need it.
v2:
- fix compilaton of ds
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Signed-off-by: José Roberto de Souza <jose.souza@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18920 >
2022-10-03 06:26:50 -07:00
Dylan Baker
1f0a0a46d9
meson: run genxml sort tests
...
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
3f0da1bbfa
intel/genxml: run gen_sort_tags on all of the xml
...
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
106da29196
intel/genxml: add a validation mode to gen_sort_tags
...
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
1386fd6a7b
intel/genxml: add 'nonzero' to gen_sort_tags
...
which was added in ebe2a2b5f6 .
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
92857fd5c9
intel/genxml: don't overwrite the input of gen_sort_tags in place
...
otherwise we can be left with garbage
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
c0aeeb93a8
intel/genxml: remove unused variable in gen_sort_tags.py
...
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
27d89a673d
intel/genxml: use a not in {x, y} instead of a != x or a != y
...
It's faster, less code, and more idiomatic
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
4fd2e15855
intel/genxml: add type annotations to gen_sort_tags.py
...
let static analysis help us out
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
3f9fe21988
intel/genxml: don't use parens with python assert statement
...
assert is a statement in python, not a function. Useing parens with it
leads to madness, because assert takes two arguments in the form `assert
expression: bool, message: str`. With parens though it's tempting to
write `assert(expression, message)`, which results in an assert that is
*always* true, because a non-empty tuple (which is what is written) is
*never* false.
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
f286451ada
intel/genxml: use a set for lookups
...
Python will pre-compute the set since it's const, and the performance of
a set search is significantly better than that of a list search
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Dylan Baker
e04ece53d7
intel/genxml: use a single pattern for res
...
regex is expensive, do less of it.
Reviewd-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18917 >
2022-10-01 14:03:49 -07:00
Caio Oliveira
6cda887ac6
intel/compiler: Explicitly include build-id when linking intel_clc
...
Ensure that the program will have a build-id.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18924 >
2022-10-01 16:42:07 +00:00
Tapani Pälli
60be71aeaa
anv: limit to default fast clear color when image used for transfer
...
v2: use vk_image_layout_to_usage_flags for detecting
transfer usage (Nanley)
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7189
Signed-off-by: Tapani Pälli <tapani.palli@intel.com >
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18836 >
2022-09-30 10:14:01 +00:00
Kenneth Graunke
b61b1d5a4c
Revert "intel/compiler: Vectorize gl_TessLevelInner/Outer[] writes"
...
This reverts commit abba55382f .
The assertions I added late in the process broke shader-db, and my
quick fix broke CI, so let's just revert it for now and I'll resubmit
this later when it's working better.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7385
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18895 >
2022-09-29 17:39:18 -07:00
Marcin Ślusarz
9bac88856d
intel/compiler: fix loading of draw_id from task & mesh payload
...
Previously both destination and source were floats, so no casting was
performed, but with 7664c85b1d source register was reinterpreted as
unsigned integer, so MOV started casting that integer to float.
Fixes: 7664c85b1d ("intel/compiler: Create and use struct for TASK and MESH thread payloads")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18886 >
2022-09-29 17:17:25 +00:00
Jason Ekstrand
10bc2cd3ae
vulkan: Rename viewport_state::negative_one_to_one
...
This makes it a bit clearer what it's for.
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18878 >
2022-09-29 05:00:10 +00:00
Lionel Landwerlin
582bf4d9f7
anv: flag BO for write combine when CPU visible and potentially in lmem
...
This should fix a performance regression with the internal kernel
branch which does not support the upstream I915_MMAP_OFFSET_FIXED.
With I915_MMAP_OFFSET_FIXED we defer the mapping flags to the kernel
since it knows better where buffers are going to end up (lmem or smem).
The internal kernel doesn´t have that and there we should use write
combined for anything that can be in lmem.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18841 >
2022-09-28 09:51:31 +00:00
Mark Janes
c8f563b633
anv: Allocate buffers with write-combined local memory
...
Marginally improves DG1 performance (< 1%)
v2: Only on local mem (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18841 >
2022-09-28 09:51:31 +00:00
Mark Janes
5c62ad34b6
anv: Use WC mapped local memory for block pool BO
...
Improve DG1 performance:
Fallout: +7%
Talos: +15%
v2: Don't drop SNOOP (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18841 >
2022-09-28 09:51:31 +00:00
Mark Janes
755b413ffa
anv: Track BOs that need a write-combined mapping
...
v2: simplify logic a bit (Lionel)
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18841 >
2022-09-28 09:51:31 +00:00
Kenneth Graunke
a778f3edd3
blorp: Fix typo in blorp_xy_block_copy_blt
...
suppotred -> supported (Thanks to Tapani for catching this.)
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15183 >
2022-09-28 08:41:35 +00:00
Kenneth Graunke
759d51c367
blorp: Implement blitter clears via XY_FAST_COLOR_BLT
...
Vulkan transfer queues need this functionality. A lot of the code is
pretty similar to what we have for XY_BLOCK_COPY_BLT.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15183 >
2022-09-28 08:41:35 +00:00
Kenneth Graunke
5f4ad65daf
blorp: Make blitter_supports_aux accessible from multiple files.
...
We'll want it in blorp_clear.c shortly.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15183 >
2022-09-28 08:41:35 +00:00
Kenneth Graunke
98bd984977
intel/genxml: Add XY_FAST_COLOR_BLT
...
We'll need to use this for VkCmdFillBuffer on transfer queues.
Reviewed-by: Ivan Briano <ivan.briano@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15183 >
2022-09-28 08:41:35 +00:00
Jason Ekstrand
647773a094
intel/devinfo: DG2 supports ray-tracing
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jason Ekstrand
4c0dbe6420
anv: Advertise ray-tracing on DG2
...
Also disable ray-tracing support if with_intel_vk_rt is not set.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Jordan Justen
e565d1e4ea
anv/meson: Use anv_flags and anv_cpp_flags in genX compiles
...
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00
Lionel Landwerlin
64e8b0d255
anv: use the right dispatch size for tracing shaders
...
We assumed the trampoline shader would always be SIMD8.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Zhang, Jianxun <jianxun.zhang@intel.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16970 >
2022-09-28 05:38:37 +00:00