Jason Ekstrand
236ca76376
anv: Wire up the new status check
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13427 >
2021-11-16 10:02:08 -06:00
Jason Ekstrand
e9662e0154
vulkan/device: Add a check_status hook
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13427 >
2021-11-16 10:02:08 -06:00
Jason Ekstrand
955f329fbe
anv: Use the new common device lost tracking
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13427 >
2021-11-16 10:02:08 -06:00
Jason Ekstrand
dd89ef96d7
vulkan: Pull the device lost framework from ANV
...
It's a bit on the over-complicated side but the objective is to make the
debug log messages show up in the same thread as the first
VK_ERROR_DEVICE_LOST so we don't massively confuse the app. It's
unknown if this is actually ever a problem but, with submit happening
off on its own thread, logging errors from threads the client doesn't
know about doesn't seem like a massively great plan.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13427 >
2021-11-16 10:02:08 -06:00
Jason Ekstrand
e6b4678fdb
anv: Move device memory maps back to anv_device_memory
...
This effectively partially reverts 13fe43714c
("anv: Add helpers in
anv_allocator for mapping BOs") where we both added helpers and reworked
memory mapping to stash the maps on the BO. The problem comes with
external memory. Due to GEM rules, if a memory object is exported and
then imported or imported twice, we have to deduplicate the anv_bo
struct but, according to Vulkan rules, they are separate VkDeviceMemory
objects. This means we either need to always map whole objects and
reference-count the map or we need to handle maps separately for
separate VkDeviceMemory objects. For now, take the later path.
Fixes: 13fe43714c
("anv: Add helpers in anv_allocator for mapping BOs")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5612
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13795 >
2021-11-16 15:18:03 +00:00
Mike Blumenkrantz
32c0c5fcd9
mesa: convert unsupported primtypes during display list compilation
...
this adds primitive type translation in before the draw reaches gallium,
which massively increases performance by avoiding any sort of buffer readback
fixes #5249
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13741 >
2021-11-16 14:12:03 +00:00
Mike Blumenkrantz
97ba2f2fd4
move util/indices to core util
...
these are useful tools to have outside of gallium
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Acked-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13741 >
2021-11-16 14:12:03 +00:00
Kenneth Graunke
88e4d3809c
intel/genxml: Decode VALIGN/HALIGN values in XY_BLOCK_COPY_BLT
...
For easier readability in INTEL_DEBUG=bat.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13809 >
2021-11-16 11:38:30 +00:00
Kenneth Graunke
406ff7473a
intel/genxml: Fix XY_BLOCK_COPY_BLT destination tiling field type
...
Fixes: 2f58a63b2f
("intel/genxml: Add XY_BLOCK_COPY_BLT on Tigerlake and later.")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13809 >
2021-11-16 11:38:30 +00:00
Kenneth Graunke
29025f66fd
intel/genxml: Fix MI_FLUSH_DW to actually specify the length properly
...
Fixes: 569afd37f1
("intel/genxml: Copy gen12.xml to gen125.xml")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13809 >
2021-11-16 11:38:30 +00:00
Kenneth Graunke
ebc0099d89
intel/genxml: Collapse leading underscores on prefixed value defines
...
We prefix names with an underscore to make them "safe" C identifiers
when necessary. For example, a value of "32x32" would become "_32x32".
However, when specifying something like
<field ... prefix="BLOCK_SIZE">
<value name="32x32" value="0"/>
</field>
we already have a prefix that makes the field name safe. We'd rather
generate a name with a single underscore, i.e.
#define BLOCK_SIZE_32x32 0
rather than
#define BLOCK_SIZE__32x32 0
This also fixes up affected defines in crocus.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13809 >
2021-11-16 11:38:30 +00:00
Kenneth Graunke
cd7d3c7ae3
intel/genxml: Simplify prefix handling for field value lists
...
When a <field> tag has multiple <value> children, listing symbolic names
for possible field values, we generate #defines for each value, with an
optional prefix. I don't know why, but this code was checking whether
self.default is None. We want to generate the same list of #defines,
with a prefix, regardless of whether the field has a default value
specified or not.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13809 >
2021-11-16 11:38:30 +00:00
Kenneth Graunke
f4004fde26
iris: Fix parameters to iris_copy_region in reallocate_resource_inplace
...
We had accidentally passed <x, y, z, l> instead of <l, x, y, z>.
Fixes: b8ef3271c8
("iris: Move suballocated resources to a dedicated allocation on export")
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com >
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13815 >
2021-11-16 11:22:04 +00:00
Bas Nieuwenhuizen
68b7b4fb38
radv: Don't crash if VkExternalImageFormatProperties isn't provided.
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5623
Stable: 21.2 21.3
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13786 >
2021-11-16 10:23:37 +00:00
Alejandro Piñeiro
fef9ef48dd
gallium/u_blitter: clean up texcoords ZW when filling up just XY
...
To avoid a scenario like this:
* One blit needed the four components => XYZW filled up with 4 values
* Following blit needing two components => ZW uses the previous values
We detected this using the v3d driver with the
arb_framebuffer_srgb-blit test, specifically:
./bin/arb_framebuffer_srgb-blit texture linear_to_srgb msaa enabled render -auto -fbo
The main linear to srgb with msaa (not doing the resolve yet) blit
requires the four components.
At the end (after a resolve copy), the test uses glReadPixels, and
internally it uses the blitter with two components, but the shader
still uses lod on the texel fetch, so it gets the one used for the
main blit, when it should be zero.
Right now v3d works fine even with that wrong value, and I assume that
any other driver too. But we can't ensure that would keep happening on
the future, so let's use correct values.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13753 >
2021-11-16 10:17:18 +01:00
Timur Kristóf
59860d4873
nir: Group per-primitive outputs at the end for driver location assign.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Acked-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13466 >
2021-11-16 07:46:55 +00:00
Timur Kristóf
f23f7ef316
nir: Don't compact per-vertex and per-primitive outputs together.
...
Prevent nir_compact_varyings from putting per-vertex and per-primitive
output components in the same slot.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13466 >
2021-11-16 07:46:55 +00:00
Timur Kristóf
e1e461d11c
nir: Lower cull and clip distance arrays for mesh shaders.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13466 >
2021-11-16 07:46:55 +00:00
Timur Kristóf
6a502a0a2c
nir: Add new option to lower invocation ID from invocation index.
...
Add this as an option to nir_lower_compute_system_values_options
instead of just relying on the shader's options.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13466 >
2021-11-16 07:46:55 +00:00
Timur Kristóf
7562e34463
nir, spirv: Don't mark NV_mesh_shader primitive indices as per-primitive.
...
They are not per-primitive in NV_mesh_shader, but a flat array.
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13466 >
2021-11-16 07:46:55 +00:00
Timur Kristóf
d79d9a7a06
nir: Fix nir_lower_io with per primitive outputs.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Acked-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13466 >
2021-11-16 07:46:55 +00:00
Timur Kristóf
9cf4124be0
nir: Print Mesh Shader specific info.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13466 >
2021-11-16 07:46:55 +00:00
Timur Kristóf
5aa39253cb
nir: Rename nir_get_io_vertex_index_src and include per-primitive I/O.
...
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com >
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13466 >
2021-11-16 07:46:55 +00:00
Vinson Lee
008f5a127c
ac/rgp: Initialize clock_calibration with memset.
...
Fix defect reported by Coverity Scan.
Uninitialized scalar variable (UNINIT)
uninit_use_in_call: Using uninitialized value clock_calibration.
Field clock_calibration.reserved is uninitialized when calling
fwrite.
Fixes: 1ee85e8bab
("ac/rgp: add support for clock calibration")
Suggested-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Signed-off-by: Vinson Lee <vlee@freedesktop.org >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13783 >
2021-11-15 22:59:05 -08:00
Ilia Mirkin
bf14a63e1d
freedreno/a4xx: hook up sample mask/id, used to determine helper invocs
...
This fixes the various gl_HelperInvocation-based tests. There's a
lowering pass which converts it to (1 << sampleid) & samplemask.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13806 >
2021-11-16 05:08:26 +00:00
Ilia Mirkin
a95a9f0cc6
freedreno/a4xx: include guesses from a3xx for some of the constid's
...
The ones that are untested are left as comments. The ones that rename
values were tested manually.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13806 >
2021-11-16 05:08:26 +00:00
Ilia Mirkin
45606b51cc
freedreno/a4xx: indicate whether outputs are uint/sint
...
Unclear whether this fixes anything, but the blob does seem to set
these. (Discovered while trying to determine if value clamping was
missing for non-32-bit integer formats, which fail in some tests.)
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13806 >
2021-11-16 05:08:26 +00:00
Ilia Mirkin
14087cb9ea
freedreno/a4xx: fix stencil-textured border colors
...
These are implemented with unusual sampler formats, so the usual approach
of looking at the format descriptors fails.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13806 >
2021-11-16 05:08:26 +00:00
Ilia Mirkin
20e8e11d64
freedreno/a6xx: re-express buffer textures more logically
...
Same as a5xx, move one bit into the tex type, one as a separate named
BUFFER bit.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13805 >
2021-11-16 04:44:23 +00:00
Ilia Mirkin
8c041f4bf3
freedreno/a5xx: re-express buffer textures more logically
...
Instead of treating it as 2 bits to enable, make BUFFER a type (and
extend the bitfield width), and then add a separate BUFFER bit
(ostensibly to perform the width/height concatenation but who knows).
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13805 >
2021-11-16 04:44:23 +00:00
Ilia Mirkin
6566eae933
freedreno/a4xx: add proper buffer texture support
...
Rather than faking it as a 1d texture, add the buffer texture type, and
allow a full range of sizes.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13805 >
2021-11-16 04:44:23 +00:00
Marek Olšák
42dbfd7206
radeonsi: make si_llvm_emit_clipvertex non-static
...
it will be used in culling code
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:46 +00:00
Marek Olšák
d3d5777536
radeonsi: remove an incorrect comment at lds_byte0_accept_flag
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:46 +00:00
Marek Olšák
20e83abf06
radeonsi: improve memory instruction tracking
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:46 +00:00
Marek Olšák
901697654a
radeonsi: add dcc_msaa option to enable DCC for MSAA
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:46 +00:00
Marek Olšák
5a5263d65d
radeonsi: unify GFX9_VSGS_NUM_USER_SGPR and GFX9_TESGS_NUM_USER_SGPR
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:46 +00:00
Marek Olšák
9151ac3531
ac,radeonsi: cull small lines in the shader using the diamond exit rule
...
It also splits clip_half_line_width into X and Y components for tighter
view culling.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:46 +00:00
Marek Olšák
701a0b5165
radeonsi: add si_state_rasterizer::ngg_cull_flags_lines and rename the others
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:46 +00:00
Marek Olšák
3166d4428d
radeonsi: set EXTRA_DX_DY_PRECISION for lines where it's supported
...
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:46 +00:00
Marek Olšák
4571778008
radeonsi: set PERPENDICULAR_ENDCAP_ENA for wide AA lines
...
This is more correct.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:45 +00:00
Marek Olšák
3338956268
radeonsi: make si_get_small_prim_cull_info static
...
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:45 +00:00
Marek Olšák
963b7475a9
radeonsi: use ac_build_load_to_sgpr in gfx10_emit_ngg_culling_epilogue
...
This is more correct because we are loading constants into an SGPR even
though there is no effect on behavior in this case.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:45 +00:00
Marek Olšák
f8a0aa6852
radeonsi: fix view culling for wide lines
...
We need to cull wide lines as quads, but only for view culling.
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:45 +00:00
Marek Olšák
8f687bb5dc
radeonsi: fix shader culling with integer pixel centers
...
Only Nine was using them.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13700 >
2021-11-16 02:11:45 +00:00
Ilia Mirkin
185826a400
nir: remove double-validation of src component counts
...
The nir_tex_instr_src_size helper already sorts this out correctly, no
need to do it twice, and validate_src takes care of it.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13781 >
2021-11-16 01:23:41 +00:00
Bas Nieuwenhuizen
6e3266709a
radv: Add more checking of cache sizes.
...
Hopefully prevents things.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13789 >
2021-11-16 00:58:08 +00:00
Bas Nieuwenhuizen
9494c566c2
radv: Fix memory corruption loading RT pipeline cache entries.
...
Oops. Forgot to account for the size here.
Fixes: ca2d96db51
("radv: Add caching for RT pipelines.")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13789 >
2021-11-16 00:58:08 +00:00
Ilia Mirkin
8c9a86cb57
freedreno/ir3: fix image-to-tex flags, remove 3d -> array hack
...
The function would return both the 3d and array flags set for 2d array,
and would return just 3d for cubes. Fix the flags so that they are
appropriate for images.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13804 >
2021-11-16 00:33:31 +00:00
Paulo Zanoni
a9c1cc63c6
iris: call brw_process_intel_debug_variable() earlier
...
We're currently only calling it after creating the screen and the
bufmgr. There are a few cases where Iris checks for the DEBUG_BUFMGR
bit before we call brw_process_intel_debug_variable(), which means
intel_debug is 0 and so we don't run the debug code. Today, these are
all related to the creation of the workaround bo and its mmap.
I found this in a custom branch after I converted to INTEL_DEBUG an
environment variable that I had.
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13780 >
2021-11-15 23:33:18 +00:00
Eric Engestrom
9ae34651f7
docs: update branchpoint instructions
...
Signed-off-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13745 >
2021-11-15 23:24:03 +00:00