Alyssa Rosenzweig
cf6d1a81f6
pan/va: Add Bifrost-style LD_VAR instructions
...
For use in the legacy non-MALLOC_IDVS flow. Especially useful in blit shaders.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
295b802f64
pan/va: Add LD_VAR_BUF instructions
...
Like LD_VAR_BUF_IMM but indirect.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
e8590e0d04
pan/va: Add ST_TILE instruction
...
Encoded like LD_TILE, required for some MSAA blend shaders.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
fa841273d4
pan/bi: Rename I->action to I->flow
...
For consistency with the Valhall ISA.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
f5585700be
pan/bi: Model LD_VAR_BUF instructions
...
These are indirect versions of LD_VAR_BUF_IMM, taking their index in bytes. Used
for indirect varying loads (the NIR lowering is inefficient).
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
97a13d6424
pan/bi: Augment ST_TILE with register format
...
To model its Valhall incarnation.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
c7f6b973b2
pan/bi: Check return addresses in blend shaders
...
Required on Valhall, where jumping to 0x0 doesn't automatically terminate the
program. Luckily the check is free there too.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
1b7d7ebbab
pan/bi: Allow branch_offset on BLEND
...
Required to model BLEND accurately on Valhall, where it encodes a special
relative branch... Midgard style!
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
cfde0275e4
pan/bi: Model Valhall-style A(CMP)XCHG
...
Handled consistently with computational atomics.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
90867e8204
pan/bi: Add ATOM_RETURN pseudo-instruction
...
Allows modeling Valhall's atomics better.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
7983a0d0dc
pan/bi: Rename PATOM_C to ATOM
...
This is basically what's native on Valhall. Use the Valhall naming for the
pseudo-instruction on Bifrost for consistency.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
b70a7c97bb
pan/bi: Gate late DCE/CSE on "optimize"
...
Otherwise we can end up with unlowered ATOM.i32 on Valhall.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Alyssa Rosenzweig
3485b8dc78
pan/bi: Use consistent modifier lists in packing
...
If there are modifiers only used by pseudo instructions, not the real
instructions, bi_packer can get out-of-sync with bi_opcodes, causing
hard-to-debug issues. Do the stupid-simple thing to ensure this doesn't happen.
This may be a temporary issue, depending whether ISA.xml and the IR get split
out for better Valhall support.
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15223 >
2022-03-25 19:00:13 +00:00
Emma Anholt
b1fa2068b8
nouveau/nir: Enable nir_opt_move/sink.
...
NIR load_consts/inputs tend to happen together at the top of the program.
In the TGSI backend the loads got emitted at use time, while the NIR
backend was emitting the loads at load intrinsic time. By sinking the
intrinsics, we can greatly reduce register pressure.
nv92 NIR results:
total local in shared programs: 2024 -> 2020 (-0.20%)
local in affected programs: 4 -> 0
total gpr in shared programs: 790424 -> 735455 (-6.95%)
gpr in affected programs: 215968 -> 160999 (-25.45%)
total instructions in shared programs: 6058339 -> 6051208 (-0.12%)
instructions in affected programs: 410795 -> 403664 (-1.74%)
total bytes in shared programs: 41820104 -> 41660304 (-0.38%)
bytes in affected programs: 7147296 -> 6987496 (-2.24%)
Reviewed-by: Karol Herbst <kherbst@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15542 >
2022-03-25 18:34:39 +00:00
Rajnesh Kanwal
df1c7ca0e5
pvr: Use vk_common_GetDeviceQueue API.
...
Removes pvr_GetDeviceQueue implementation. As we are now
using the common vk_queue structure as a base for pvr_queue,
we can use vk_common_GetDeviceQueue implementation instead.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15574 >
2022-03-25 18:07:08 +00:00
Boris Brezillon
a3bdad314e
dzn: Compile-test the driver
...
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14766 >
2022-03-25 16:21:45 +00:00
Erik Faye-Lund
a012b21964
microsoft: Initial vulkan-on-12 driver
...
This is Dozen, the Vulkan on DirectX 12 driver. Not to be confused with
DirectEggs.
This is an early prototype, and not meant to be upstreamed as-is.
Co-Authored-by: Boris Brezillon <boris.brezillon@collabora.com >
Co-Authored-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Co-Authored-by: Louis-Francis Ratté-Boulianne <lfrb@collabora.com >
Co-Authored-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14766 >
2022-03-25 16:21:45 +00:00
Enrico Galli
6635d011cb
microsoft/spirv_to_dxil: Add missing ralloc_free
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Acked-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14766 >
2022-03-25 16:21:45 +00:00
Boris Brezillon
7e0ab29cfd
vulkan/util: Make STACK_ARRAY() work for arrays of pointers
...
And add an explicit cast on the pointer returned by malloc() to
make C++ happy.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14766 >
2022-03-25 16:21:45 +00:00
Boris Brezillon
bb1fb07ecd
vulkan/image: Make MSVC C++ compiler happy
...
Fix 'error C4576: a parenthesized type followed by an initializer
list is a non-standard explicit type conversion syntax' errors by
declaring an actual variable and returning it in
vk_image_view_subresource_range().
All those MSVC/c++ related-constraints are quite annoying to be honest,
but it looks like the D3D12 headers have been updated to plain C
recently, which will allow us to write the driver in C, and hopefully
get all this sort of issues behind us.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14766 >
2022-03-25 16:21:45 +00:00
Mike Blumenkrantz
0312ca0175
zink: add anv cts skips from waiver
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15578 >
2022-03-25 10:42:52 -04:00
Mike Blumenkrantz
9cbe5ac82a
zink: update radv fails
...
this should be the exact current baseline
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15576 >
2022-03-25 08:58:15 -04:00
Rajnesh Kanwal
eacf944e52
pvr: Implement vkCreateSampler and vkDestroySampler APIs.
...
Implements vkCreateSampler and vkDestroySampler APIs.
Also fixes maxSamplerLodBias value from 15.0f to 16.0f
as it's the max supported by our hardware.
Also changing maxSamplerAnisotropy from 16.0f to 1.0f to
temporarily disable anisotropy as we are missing software
support for it.
Signed-off-by: Rajnesh Kanwal <rajnesh.kanwal@imgtec.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15557 >
2022-03-25 12:12:08 +00:00
Boris Brezillon
b000abbe7f
vulkan/util: Get rid of VK_OUTARRAY_MAKE()
...
Get rid of VK_OUTARRAY_MAKE() so people don't get tempted to
use it and produce code that doesn't compile with MSVC, which
doesn't support typeof().
Suggested-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15522 >
2022-03-25 11:00:03 +00:00
Boris Brezillon
5f309da5e4
vulkan/wsi: Stop using VK_OUTARRAY_MAKE()
...
We're trying to replace VK_OUTARRAY_MAKE() by VK_OUTARRAY_MAKE_TYPED()
so people don't get tempted to use it and make things incompatible with
MSVC (which doesn't support typeof()).
Suggested-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15522 >
2022-03-25 11:00:03 +00:00
Boris Brezillon
52a2aa44f3
vulkan/device_select: Stop using VK_OUTARRAY_MAKE()
...
We're trying to replace VK_OUTARRAY_MAKE() by VK_OUTARRAY_MAKE_TYPED()
so people don't get tempted to use it and make things incompatible with
MSVC (which doesn't support typeof()).
Suggested-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15522 >
2022-03-25 11:00:03 +00:00
Boris Brezillon
13efbdf830
venus: Stop using VK_OUTARRAY_MAKE()
...
We're trying to replace VK_OUTARRAY_MAKE() by VK_OUTARRAY_MAKE_TYPED()
so people don't get tempted to use it and make things incompatible with
MSVC (which doesn't support typeof()).
Suggested-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Chia-I Wu <olvaffe@gmail.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15522 >
2022-03-25 11:00:03 +00:00
Boris Brezillon
face6f6ddc
panvk: Stop using VK_OUTARRAY_MAKE()
...
We're trying to replace VK_OUTARRAY_MAKE() by VK_OUTARRAY_MAKE_TYPED()
so people don't get tempted to use it and make things incompatible with
MSVC (which doesn't support typeof()).
Suggested-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15522 >
2022-03-25 11:00:03 +00:00
Boris Brezillon
49c8b93288
anv: Stop using VK_OUTARRAY_MAKE()
...
We're trying to replace VK_OUTARRAY_MAKE() by VK_OUTARRAY_MAKE_TYPED()
so people don't get tempted to use it and make things incompatible with
MSVC (which doesn't support typeof()).
Suggested-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15522 >
2022-03-25 11:00:03 +00:00
Boris Brezillon
81ba3ab5d9
pvr: Stop using VK_OUTARRAY_MAKE()
...
We're trying to replace VK_OUTARRAY_MAKE() by VK_OUTARRAY_MAKE_TYPED()
so people don't get tempted to use it and make things incompatible with
MSVC (which doesn't support typeof()).
Suggested-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Frank Binns <frank.binns@imgtec.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15522 >
2022-03-25 11:00:02 +00:00
Boris Brezillon
799a9db24c
turnip: Stop using VK_OUTARRAY_MAKE()
...
We're trying to replace VK_OUTARRAY_MAKE() by VK_OUTARRAY_MAKE_TYPED()
so people don't get tempted to use it and make things incompatible with
MSVC (which doesn't support typeof()).
Suggested-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15522 >
2022-03-25 11:00:02 +00:00
Boris Brezillon
56a2ccf058
v3dv: Stop using VK_OUTARRAY_MAKE()
...
We're trying to replace VK_OUTARRAY_MAKE() by VK_OUTARRAY_MAKE_TYPED()
so people don't get tempted to use it and make things incompatible with
MSVC (which doesn't support typeof()).
Suggested-by: Daniel Stone <daniels@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15522 >
2022-03-25 11:00:02 +00:00
Caio Oliveira
f82731d0d7
intel/fs: Fix IsHelperInvocation for the case no discard/demote are used
...
Use emit_predicate_on_sample_mask() helper that does check where to
get the correct mask depending on whether discard/demote was used or
not.
Fixes: 45f5db5a84 ("intel/fs: Implement "demote to helper invocation"")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15400 >
2022-03-25 08:20:27 +00:00
Caio Oliveira
bb311c22df
intel/fs: Initialize the sample mask in flags register when using demote
...
Without this change, a check for "is helper invocation" could read
uninitialized values.
Fixes: 45f5db5a84 ("intel/fs: Implement "demote to helper invocation"")
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15400 >
2022-03-25 08:20:27 +00:00
Christian Gmeiner
2648ccb341
nir: Use const for nir_shader_get_entrypoint(..)
...
nir_shader_get_entrypoint(..) should not modify the passed nir_shader
object. Enforce this by marking shader paramenter as const.
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com >
Reviewed-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Mihai Preda <mhpreda@gmail.com >
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15362 >
2022-03-25 07:25:37 +00:00
Mike Blumenkrantz
eaf3c72a83
mesa/st: add special casing for pointsize constant updating during validate
...
the previous method of using affected_states to trigger constant updates
was ineffectual in the scenario where a ubo pointsize was needed on
the first time a non-precompiled shader was used after being the not-last
vertex stage:
* have vs+gs -> gs precompiles with pointsize lowering -> gs constants get updated
* remove gs -> vs was precompiled without pointsize lowering -> vs constants broken
now just do a quick check as in st_atom_shader.c and set the flag manually to
ensure the update is done correctly every time
cc: mesa-stable
fixes #6207
fixes (radv):
KHR-GL46.texture_cube_map_array.image_op_fragment_sh
KHR-GL46.texture_cube_map_array.sampling
KHR-GL46.texture_cube_map_array.texture_size_fragment_sh
KHR-GL46.constant_expressions*
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15570 >
2022-03-25 04:03:23 +00:00
Mike Blumenkrantz
6fb0bf51a3
zink: update anv icl ci list
...
praise be to dynamic state fixes!
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15569 >
2022-03-25 03:31:42 +00:00
Mike Blumenkrantz
6980eb4be2
zink: flush clears before toggling color write
...
ensure these sync up onto the expected buffers
Fixes: 3892c13381 ("zink: add an alternate path for EXT_color_write_enable usage")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15568 >
2022-03-25 03:09:26 +00:00
Mike Blumenkrantz
4c6931fca9
zink: fix up color_write_enable workaround
...
this needs to only swizzle to dummy surfaces if it's the workaround,
not just if color_write_enable is active
Fixes: 3892c13381 ("zink: add an alternate path for EXT_color_write_enable usage")
Reviewed-by: Dave Airlie <airlied@redhat.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15568 >
2022-03-25 03:09:26 +00:00
Rob Clark
c0f52f08a1
freedreno/ci: Update a306 expectations
...
These have started to flakey UnexpectedPass somewhere along the way.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900 >
2022-03-25 02:03:30 +00:00
Rob Clark
03a70f554a
pipe-loader: Try loading freedreno for virtgpu device
...
Freedreno will check if the virtgpu supports the pass-thru context, and
if not will bail, falling back to virgl.
TODO this requires that virgl is also enabled in the mesa build, even if
it is not needed.. maybe there is a better way to handle this?
Signed-off-by: Rob Clark <robdclark@chromium.org >
Reviewed-by: Emma Anholt <emma@anholt.net >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900 >
2022-03-25 02:03:30 +00:00
Rob Clark
802f4da5ee
freedreno/drm: Add virtio backend
...
Add a new backend to enable using native driver in a VM guest, via a new
virtgpu context type which (indirectly) makes host kernel interface
available in guest and handles the details of mapping buffers to guest,
etc.
Note that fence-fd's are currently a bit awkward, in that they get
signaled by the guest kernel driver (drm/virtio) once virglrenderer in
the host has processed the execbuf, not when host kernel has signaled
the submit fence. For passing buffers to the host (virtio-wl) the egl
context in virglrenderer is used to create a fence on the host side.
But use of out-fence-fd's in guest could have slightly unexpected
results. For this reason we limit all submitqueues to default priority
(so they cannot be preepmted by host egl context). AFAICT virgl and
venus have a similar problem, which will eventually be solveable once we
have RESOURCE_CREATE_SYNC.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900 >
2022-03-25 02:03:30 +00:00
Rob Clark
2200d674e4
freedreno/drm: Reorder device destroy
...
Call backend specific cleanup fxn earlier. This is needed if the
backend has things like bo's to delete, otherwise the handle_table
will already be destroyed causing problems in bo_del()
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900 >
2022-03-25 02:03:30 +00:00
Rob Clark
ea339137b0
freedreno/drm: Extract out "softpin" submit/ringbuffer base class
...
We are going to want basically the identical thing, other than
flush_submit_list, for virtio backend. Now that we've moved various
other dependencies into the base classes, extract out an abstract base
class for submit/ringbuffer.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900 >
2022-03-25 02:03:30 +00:00
Rob Clark
72a427244f
freedreno/drm: Move ring_pool slab parent to base
...
Prep to move most of sp submit/ringbuffer to something that can be
re-used by virtio backend.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900 >
2022-03-25 02:03:30 +00:00
Rob Clark
877f9049c3
freedreno/drm: Move bo idx to base
...
The virtio backend will want this too, and it will make it easier to
share most of the submit/ringbuffer implementation with the virtio
backend.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900 >
2022-03-25 02:03:30 +00:00
Rob Clark
2ac9b23f78
freedreno/drm: Move submit_queue to base
...
The virtio backend will want this too.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900 >
2022-03-25 02:03:30 +00:00
Rob Clark
88a10c6216
freedreno/drm: Avoid CPU_PREP ioctl if bo is idle
...
With userspace fences, if we know definitely that the buffer is idle
(which implies that it is not shared with other processes, etc), then
skip the ioctl.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900 >
2022-03-25 02:03:30 +00:00
Rob Clark
9bcc983256
freedreno/drm: Add fd_bo_upload()
...
There are some buffers that we mmap just to write to them a single time.
Add the possibility of the drm backend to provide an alternate upload
path to avoid these mmap's.
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900 >
2022-03-25 02:03:30 +00:00
Rob Clark
115518ec35
freedreno/drm: Add FD_BO_SHARED hint
...
With the virtio backend we will need to pass an extra flag when
allocating buffers that will be shared cross-device (such as with
virtio-wl for passing between host and guest)
Signed-off-by: Rob Clark <robdclark@chromium.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14900 >
2022-03-25 02:03:30 +00:00