Eric Anholt
5b5dcbfe89
freedreno/a6xx: Skip setting up image dims constants.
...
We just use resinfo anyway. Notably, a6xx was only doing its setup in the
FS case and not CS.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12258 >
2021-08-18 00:15:18 +00:00
Eric Anholt
994793c500
freedreno/ir3: Move a6xx's get_ssbo_size shl to NIR.
...
Just cleaning up a TODO.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12258 >
2021-08-18 00:15:18 +00:00
Eric Anholt
547a2aa051
freedreno/ir3: Use the resinfo path for ssbo sizes on GL, too.
...
Less state walking at draw time, in exchange for a SHL in the lookup.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12258 >
2021-08-18 00:15:18 +00:00
Emma Anholt
513920ba82
freedreno/ir3: Only lower cube image sizes once.
...
shader variants can cause ir3_nir_finalize() to run more than once, which
would make us keep dividing the size by 6.
Fixes: a48fc88571
("freedreno/a6xx: Apply the cube image size lowering to GL, too.")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12258 >
2021-08-18 00:15:18 +00:00
Rob Clark
89ab2a7b6f
freedreno: Add a680 support
...
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12041 >
2021-08-17 23:24:23 +00:00
Jordan Justen
cf23fbb040
meson: Check that bin/meson_get_version.py ran without an error
...
According to https://mesonbuild.com/Reference-manual.html , the check
parameter is supported since meson 0.47.0.
This could have helped to catch the issue fixed by:
221871fb6d
("meson: Search for python3 before python for bin/meson_get_version.py")
as it would have caused the build to fail immediately.
It's still a good idea to check the result even though that issue is
now fixed.
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com >
Reviewed-by: Eric Engestrom <eric@engestrom.ch >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12404 >
2021-08-17 15:18:03 -07:00
Icecream95
56ea259b42
panfrost: drm-shim support
...
Reviewed-and-tested-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12431 >
2021-08-17 22:06:17 +00:00
Mike Blumenkrantz
8b810e545f
zink: ci updates
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12423 >
2021-08-17 21:49:01 +00:00
Mike Blumenkrantz
c1d342e986
zink: enable compat contexts
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12423 >
2021-08-17 21:49:01 +00:00
Jason Ekstrand
3ed4ddf076
anv,vulkan: Add a vk_image::wsi_legacy_scanout bit
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:35 +00:00
Jason Ekstrand
def2cb9808
anv,vulkan: Move drm_format_mod to vk_image
...
Even though we can't really do the parsing on behalf of the driver (it's
too complicated), storing it in the vk_image lets us provide a common
implementation of vkGetImageDrmFormatModifierPropertiesEXT(). It'll
also be useful in the next few commits for swapchain images.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:35 +00:00
Jason Ekstrand
0f2afa0abc
anv,vulkan: Move ANV image layout helpers to common code
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:35 +00:00
Jason Ekstrand
ea410173d6
anv: Make anv_image_view derive from vk_image_view
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:35 +00:00
Jason Ekstrand
9cc004b3d0
vulkan: Add a vk_image_view struct
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:35 +00:00
Jason Ekstrand
48e8efd00e
vulkan,radv: Move vk_format_depth/stencil_only to common code
...
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:35 +00:00
Jason Ekstrand
7878d516c6
radv: Add asserts to vk_format_depth/stencil_only
...
It doesn't make sense to ask for the depth-only or stencil-only format
if there is no depth or stencil. One bit of radv_image.c did seem to
take advantage of the default case in vk_format_depth_only so throw an
`if (vk_format_has_depth(format))` around it.
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:35 +00:00
Bas Nieuwenhuizen
3b00696117
radv: Check format before calling depth_only/stencil_only.
...
Breaks when we drop the fallback in those functions.
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:35 +00:00
Jason Ekstrand
c36ff60a52
vulkan: Refactor and better document vk_image_expand_aspect_mask
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:35 +00:00
Jason Ekstrand
83b4d4f17d
anv,vulkan: Move VkImageSubresource* helpers from ANV
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:35 +00:00
Jason Ekstrand
e45e4e3ba1
anv,vulkan: Move anv_image_expand_aspects to common code
...
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:35 +00:00
Jason Ekstrand
25d4cffabf
anv: Make anv_image derive from vk_image
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:34 +00:00
Jason Ekstrand
0e6c320a7d
vulkan: Add a vk_image struct
...
Currently, this is optional for drivers to carry around but it scrapes
up most of VkImageCreateInfo for you and parses a couple of extension
structs. We also add a few useful little helpers copied over from ANV.
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:34 +00:00
Jason Ekstrand
fc5a6eedbc
anv: Delete anv_image::format
...
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:34 +00:00
Jason Ekstrand
951635dfe7
anv/image: Use planes[i]->primary_surface.isl.format in check_drm_format_mod
...
In theory, with linear vs. tiled differences, it could be different
(RGBA vs. RGB etc.) but it won't matter for the two checks we do with
it. Also, we probably want to be checking the real format here anyway.
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12023 >
2021-08-17 21:29:34 +00:00
Mike Blumenkrantz
403acd299f
zink: handle map failures more effectively
...
the transfer object needs to be destroyed
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12422 >
2021-08-17 17:00:32 -04:00
Mike Blumenkrantz
afa867b973
zink: break out transfer map destroy
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12422 >
2021-08-17 17:00:32 -04:00
Mike Blumenkrantz
97545a0a1f
zink: remove unused variable from image map
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12422 >
2021-08-17 17:00:32 -04:00
Mike Blumenkrantz
c5a6ebc605
zink: split buffer and image map functions
...
this is a bit nicer to read
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12422 >
2021-08-17 17:00:32 -04:00
Mike Blumenkrantz
b19bff17f4
zink: split out zink_transfer allocation
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12422 >
2021-08-17 17:00:32 -04:00
Mike Blumenkrantz
9e6916fb00
zink: remove duplicated zink_resource_object::mem member
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12421 >
2021-08-17 20:43:18 +00:00
Mike Blumenkrantz
67239cf754
zink: collapse 'dedicated' allocation into zink_bo
...
this simplifies all the map and memory management code
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12421 >
2021-08-17 20:43:18 +00:00
Mike Blumenkrantz
defeecb816
zink: flake out some tests for now
...
I can't repro these on any branch, so I'll just disable them and see if they get fixed
by some upcoming refactors
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12424 >
2021-08-17 20:26:16 +00:00
Emma Anholt
a48fc88571
freedreno/a6xx: Apply the cube image size lowering to GL, too.
...
Fixes KHR-GLES31.core.texture_cube_map_array.texture_size_compute_sh.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12256 >
2021-08-17 20:00:49 +00:00
Emma Anholt
09942227f6
ci/freedreno: Move freedreno's deqp testing to suite support.
...
Using suites makes load-balancing our jobs much easier, keeps the CPU busy
handling the a630_gles_others.sh test sets (and improves the output and
baseline handling for them), and makes it trivial to add in more short
test sets.
a306: still 5 jobs, and we add KHR-GLES2 (KHR-GLES3 is unstable)
a530: still 5 jobs, added KHR-GLES*
a630_gl: 5 jobs becomes 4, and we add KHR-GLES*
a630_vk: still 3 jobs, now 1/3 of all VK instead of 1/4.
a630_vk_full: still 2 jobs, now includes full bypass testing, partial
no-force testing, and testing of pre-merge-skipped tests.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12256 >
2021-08-17 20:00:49 +00:00
Emma Anholt
57b041574d
ci/turnip: Add a new flake from running more of the CTS.
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12256 >
2021-08-17 20:00:49 +00:00
Mike Blumenkrantz
97d04c2bc5
zink: rejigger PIPE_MAP_ONCE for internal qbo reads
...
DONTBLOCK is only used internally for this case, and promoting it over
the staging buffer case ensures that it's always reached when it should be
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12410 >
2021-08-17 19:40:27 +00:00
Mike Blumenkrantz
7d39ef49bd
zink: remove PIPE_MAP_ONCE from subdata
...
subdata calls that happen once for a buffer are likely to happen again,
so just leave them mapped
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12410 >
2021-08-17 19:40:27 +00:00
Mike Blumenkrantz
daff597940
zink: make map_count useful for dedicated image allocations
...
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12410 >
2021-08-17 19:40:27 +00:00
Mike Blumenkrantz
89e2591e8d
zink: split mem unmap logic for images and buffers
...
buffers should only be unmapped if they're explicitly marked for unmap,
but images should only be unmapped when running in 32bit, in which case
they need to always be unmapped
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12410 >
2021-08-17 19:40:27 +00:00
Mike Blumenkrantz
6001ebc1b6
zink: split transfer_unmap for images and buffers
...
these should be separate
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12410 >
2021-08-17 19:40:27 +00:00
Mike Blumenkrantz
5fedce7bfb
zink: stop zeroing structs during resource allocation
...
some of these show up in profiling
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12410 >
2021-08-17 19:40:27 +00:00
Mike Blumenkrantz
2857267b88
zink: repack zink_resource_object struct
...
this makes better use of cachelines and eliminates holes
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12410 >
2021-08-17 19:40:27 +00:00
Danylo Piliaiev
4d7f759e43
turnip: provide dummy CmdSetLogicOpEXT and CmdSetPatchControlPointsEXT
...
Fixes: fd62e0b799
"tu: enable VK_EXT_extended_dynamic_state2"
Fixes dEQP-VK.api.version_check.entry_points
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5243
Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12417 >
2021-08-17 19:19:53 +00:00
Connor Abbott
2df5387e38
tu: Consider depth/stencil for implicit dependencies
...
Noticed by inspection.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12386 >
2021-08-17 18:33:17 +00:00
Connor Abbott
09e0b29bb6
tu: Fix logic errors with subpass implicit dependencies
...
We were adding them if there was an external dep instead of if there
wasn't, and we were skipping the entire subpass which would've resulted
in attachments not getting marked as used.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12386 >
2021-08-17 18:33:17 +00:00
Matt Turner
dcf1d8d7a4
util: Replace recursive DFS with iterative implementation
...
Doesn't fix, but improves the situation in issue #5163 . The
VK.spirv_assembly.instruction.graphics.spirv_ids_abuse.lots_ids_* tests
emit about 160k instructions. ir3_sched blows out the stack after
dag_traverse_bottom_up_node reaches a depth of about 130k frames.
This patch replaces the recursively-implemented post-order traversal
with an iterative implementation using a stack, allowing us to process
DAGs as large as memory can hold.
Definitely makes you appreciate the elegance of recursion...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12232 >
2021-08-17 17:54:09 +00:00
Matt Turner
9261a02028
util: Add unit tests for dag
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12232 >
2021-08-17 17:54:09 +00:00
Connor Abbott
d9c90eee8b
freedreno: Decode a650+ CP_START_BIN/CP_END_BIN packets
...
The blob uses them for GMEM renderpasses.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12184 >
2021-08-17 16:53:40 +00:00
Erik Faye-Lund
726fdf3385
st/mesa: correct point_tri_clip for gles2
...
The OpenGL ES 2.0 (and later) specifications, section 2.13 (Primitive
Clipping) say the following about point-clipping:
> If the primitive under consideration is a point, then clipping
> discards it if it lies outside the near or far clip plane; otherwise
> it is passed unchanged.
This matches the D3D convention, and we already have a rasterizer-state
bit for it. So let's set that bit when the API is OpenGL ES 2.
We can set this inside the PointSprite-conditional block, because that's
always enabled on GLES 2, and it's undefined to enable this state
without also enabling point_quad_rasterization.
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12350 >
2021-08-17 15:01:04 +00:00
Erik Faye-Lund
48b1b159ff
llvmpipe: take intersection with bbox for non-legacy points
...
When I updated this code for multi-sampling, I missed one detail; if we
want to be able to support pipe_rasterizer_state::point_tri_clip, we
need to use the intersection of the bbox (clipped to the viewport
rectangle) and the generated primitive, otherwise we won't end up doing
x/y viewport clipping at all.
Because we've adjusted some of the parts of the bbox when adjusting for
inclusiveness/exclusiveness and fill-rule, we also need to reverse the
adjustment.
Fixes: f530e72ea0
("llvmpipe: do not always use pixel-rounded coordinates for points")
Reviewed-by: Roland Scheidegger <sroland@vmware.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12350 >
2021-08-17 15:01:04 +00:00