Kenneth Graunke
fd0e4aedeb
iris: Make an iris_foreach_batch macro that skips unsupported batches
...
IRIS_BATCH_BLITTER isn't supported prior to Tigerlake; in general,
batches may not be supported on all hardware. In most cases, querying
them is harmless (if useless): they reference nothing, have no commands
to flush, and so on. However, the fence code does need to know that
certain batches don't exist, so it can avoid adding inter-batch fences
involving them.
This patch introduces a new iris_foreach_batch() iterator macro that
walks over all batches that are actually supported on the platform,
while skipping the others. It provides a central place to update should
we add or reorder more batches in the future.
Fixes various tests in the piglit.spec.ext_external_objects.* category.
Thanks to Tapani Pälli for catching this.
Fixes: a90a1f15 ("iris: Create an IRIS_BATCH_BLITTER for using the BLT command streamer")
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14834 >
2022-02-04 08:06:12 +00:00
Dave Airlie
c4b400285a
llvmpipe/triangle: don't store area in fixed_position.
...
It doesn't get used again, just extract the sign and move on.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846 >
2022-02-04 06:31:15 +00:00
Dave Airlie
cd4d2e920c
llvmpipe: just move opaque alpha lookup closer to use.
...
Saves looking this up before checking the variant.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846 >
2022-02-04 06:31:15 +00:00
Dave Airlie
a448695eee
llvmpipe: refactor lp_rast_shader_inputs.
...
viewport_index won't be >= 16
layer should be < 2048
view_index should be < 2048
this leaves the last 64-bits as padding, which something
expects, but not having to write to it means we have to write
less memory every triangle.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846 >
2022-02-04 06:31:15 +00:00
Dave Airlie
fb17da6c50
llvmpipe/setup: remove opaque from setup triangle
...
This isn't used in the rast side of things, so just pass it out here.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846 >
2022-02-04 06:31:15 +00:00
Dave Airlie
66188e8693
llvmpipe: inline retry_triangle_ccw
...
This reduces some of the overheads in the callstack here.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846 >
2022-02-04 06:31:15 +00:00
Dave Airlie
086a9b7869
llvmpipe: optimise triangle setup a bit.
...
the bboxpos = bbox copy was visible overhead on perf traces,
but we don't need to really do it.
Extract all the things from bbox needed early, then don't copy
it just overwrite it.
use boolean to fix power build.
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14846 >
2022-02-04 06:31:15 +00:00
Danylo Piliaiev
5e4bf6d100
turnip: Do not use hw binning if tiles per pipe are over the limit
...
Otherwise GPU would hang.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5951
Freedreno commit as a reference:
39d00722b2
Fixes VK cts tests on a618 if their memory limit is raised to 1024 MB:
dEQP-VK.pipeline.render_to_image.core.2d_array.huge.width_height.r8g8b8a8_unorm_d16_unorm
dEQP-VK.pipeline.render_to_image.core.2d_array.huge.width_height.r8g8b8a8_unorm_s8_uint
dEQP-VK.pipeline.render_to_image.core.2d_array.huge.width_height.r8g8b8a8_unorm_d24_unorm_s8_uint
dEQP-VK.pipeline.render_to_image.core.2d_array.huge.width_height.r8g8b8a8_unorm_d32_sfloat_s8_uint
dEQP-VK.pipeline.render_to_image.core.cube.huge.width_height.r8g8b8a8_unorm
dEQP-VK.pipeline.render_to_image.core.cube.huge.width_height.r8g8b8a8_unorm_d16_unorm
dEQP-VK.pipeline.render_to_image.core.cube.huge.width_height.r8g8b8a8_unorm_s8_uint
dEQP-VK.pipeline.render_to_image.core.cube.huge.width_height.r8g8b8a8_unorm_d24_unorm_s8_uint
dEQP-VK.pipeline.render_to_image.core.cube_array.huge.width_height.r8g8b8a8_unorm
dEQP-VK.pipeline.render_to_image.core.cube_array.huge.width_height.r8g8b8a8_unorm_d24_unorm_s8_uint
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Tested-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14849 >
2022-02-04 06:01:41 +00:00
Danylo Piliaiev
c6e8198f1b
turnip: Add TU_GMEM envvar to test different gmem sizes
...
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14849 >
2022-02-04 06:01:41 +00:00
Omar Akkila
dac3e6f372
venus: Advertise VK_EXT_extended_dynamic_state support
...
Signed-off-by: Omar Akkila <omar.akkila@collabora.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14866 >
2022-02-04 04:23:18 +00:00
Omar Akkila
19e313e1c8
venus: Implement VK_EXT_extended_dynamic_state commands
...
This implements hooks for the following commands:
- vkCmdBindVertexBuffers2
- vkCmdSetCullMode
- vkCmdSetDepthBoundsTestEnable
- vkCmdSetDepthCompareOp
- vkCmdSetDepthTestEnable
- vkCmdSetDepthWriteEnable
- vkCmdSetFrontFace
- vkCmdSetPrimitiveTopology
- vkCmdSetScissorWithCount
- vkCmdSetStencilOp
- vkCmdSetStencilTestEnable
- vkCmdSetViewportWithCount
Signed-off-by: Omar Akkila <omar.akkila@collabora.com>
Reviewed-by: Chia-I Wu <olvaffe@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14866 >
2022-02-04 04:23:18 +00:00
Jesse Natalie
3affb69eaa
docs: Update d3d12 features
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
7430742b16
d3d12: ARB_gpu_shader_fp64
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
b8ecb8be79
d3d12: Handle structs in TCS variants
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
c448931d23
d3d12: Handle structs in GS variants
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
252a89a2c9
d3d12: Set lower full fp64 compiler options flag when needed
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
204102099a
d3d12: Lower [de]construction of doubles via math ops into pack/unpack ops
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
4daa3eac2c
d3d12: Add int64 support
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
397e117e96
d3d12: Get OPTIONS1
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
0144e7b18d
d3d12: Add a driver version to the screen to be used for workarounds
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
944832d3d7
d3d12: Cache a modifyable copy of the nir options in d3d12_screen
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
2529a0df89
d3d12: Use the right constant for GS varying limits
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
d6daa1cc7a
d3d12: Use a constant define for max anisotropy
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
bcfac68ce9
d3d12: Update max input, output, and varying caps
...
The simple-varyings piglit test attempts to use GL_MAX_VARYING_FLOATS
varyings, PLUS one additional vector for position (which is not used
as input to the PS). "Reserve" that additional position vector by
removing it from the max varyings and max PS inputs.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
0044e80b82
microsoft/compiler: Handle structs in I/O signatures
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
eb0cefae6d
microsoft/compiler: Map I/O base locations to input IDs
...
When dealing with a vertex input that takes multiple rows, the value of
nir_intrinsic_base points to a driver-location-based index, but we need
to emit a location-based index (or more specifically, an index that
increments once per input, not once per register). Add a mapping to
the module of base -> ID.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
efe5c2d6f3
microsoft/compiler: Process signatures before the shader code
...
This lets us set up some metadata based on I/O vars without having
to do multiple passes over them.
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
c154d403d3
microsoft/compiler: Handle I/O vars larger than a vec4
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
cdc49fb605
microsoft/compiler: Lower 64bit I/O to 32 and then run lower_pack
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
b24cfd0d40
microsoft/compiler: Handle b2f64
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
4d17393ba0
microsoft/compiler: Set dx11_1_double_extensions flag for dfma/ddiv
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
4c8935d325
microsoft/compiler: Fix dxil_nir_lower_double_math_instr pass for vectors
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
c8bd830dfb
microsoft/compiler: Fix make_double and split_double to respect swizzles
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
92191349e9
microsoft/compiler: Fix splitdouble struct name
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
dde3b04d44
microsoft/compiler: It's possible to have doubles without int64
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
3b9483e89d
microsoft/compiler: Add never-supported double ops to lower_doubles bitmask
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
ce6dbbabf9
microsoft/compiler: Only treat tess level location as special if it's a patch constant
...
Fixes: a550c059 ("microsoft/compiler: For load_input from DS, use loadPatchConstant")
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
0c711dc823
microsoft/compiler: Only prep phis for the current function
...
Fixes: 41af9620 ("microsoft/compiler: Emit all NIR functions into the DXIL module")
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Jesse Natalie
87d22c2465
microsoft/compiler: Lower mul_2x32_64
...
Reviewed-by: Bill Kristiansen <billkris@microsoft.com>
Reviewed-By: Sil Vilerino <sivileri@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14837 >
2022-02-04 00:07:53 +00:00
Emma Anholt
a177f0de8f
ci: Uprev vulkan-cts to 1.2.8.0
...
This brings in some interesting new vulkan tests and fixes for the
spurious KHR-GL TF failures. Also, reduces the runtime of
dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.36 so that it
should stop timing out.
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779 >
2022-02-03 22:41:23 +00:00
Emma Anholt
3ce19d2db2
llvmpipe: Disable an assertion that may not be quite right.
...
It triggered on uprevving VK-GL-CTS, and @airlied says it's tripped
apparently spuriously before. There seems to be some interesting logic
behind it, so leave the big comment for whoever can revisit the issue some
day.
Acked-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779 >
2022-02-03 22:41:23 +00:00
Emma Anholt
6c2f6cd86f
ci/i915: Update rendering hash for plot3d trace.
...
Its rendering changed slightly at some point, but it's fine.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779 >
2022-02-03 22:41:23 +00:00
Emma Anholt
940b9ff6c9
ci/freedreno: Reduce concurrency for a618 vk_full.
...
This ran into OOM-kills with the CTS uprev. Looking at caselists at the
time of fail, some had 500MB of system memory used by the CTS (mostly
spirv string codegen), plus whatever BOs were allocated, and the lazors
are only 4GB it looks like.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779 >
2022-02-03 22:41:23 +00:00
Emma Anholt
5039fc3dc7
ci/turnip: Extend the full-vk-run job timeouts.
...
Between adding features and increased test coverage, we're hitting the
1-hour job limit. !13441 tried to increase the full run timeout for LAVA,
but by having not bumped the gitlab-ci timeout value it ended up just
letting the job keep running in LAVA after gitlab had given up on it.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779 >
2022-02-03 22:41:23 +00:00
Emma Anholt
47d0e63c59
ci/freereno: Reduce run-by-default a630-vk coverage.
...
In the autotune merge, we added another 1/15th run of a configuration
knob, thinking that was small enough to be in the noise. But actually the
main run is only 1/9th, so another 1/15th took us from nearly hitting the
job runtime target, to totally missing it. Crank things back down to keep
MRs flowing.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13779 >
2022-02-03 22:41:23 +00:00
Emma Anholt
4f22f4ca1a
r300: Simplify DCE by assuming all output writes are used.
...
No change on shader-db.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14847 >
2022-02-03 14:28:46 -08:00
Emma Anholt
17cea74b8c
r300: Set up shadow sampler lowering in precompiles.
...
Otherwise you end up lowering all shadow samples to a MOV dst
temp[0].0000, which is pretty silly.
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14847 >
2022-02-03 14:28:44 -08:00
Emma Anholt
5f55e7b845
r300: Fix missing \n in an error message.
...
Reviewed-by: Matt Turner <mattst88@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14847 >
2022-02-03 14:28:41 -08:00
Mike Blumenkrantz
41ed470f6f
zink: add synchronization for conditional render buffer
...
doesn't seem to do anything on any drivers I've tested, but maybe it's
needed somewhere
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14853 >
2022-02-03 19:15:26 +00:00
Mike Blumenkrantz
1e96542390
zink: add VK_BUFFER_USAGE_CONDITIONAL_RENDERING_BIT_EXT for query binds
...
required by spec
cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14853 >
2022-02-03 19:15:26 +00:00