José Roberto de Souza
205c5874d4
intel: Sync xe_drm.h
...
Sync xe_drm.h with commit 3b8183b7efad ("drm/xe/uapi: Be more specific
about the vm_bind prefetch region").
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/26238 >
2023-11-20 17:57:34 +00:00
Sil Vilerino
e4ffb2473b
d3d12: Implement get_feedback with additional metadata
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
8c1ba75f68
d3d12: Support PIPE_VIDEO_CAP_ENC_H264_DISABLE_DBK_FILTER_MODES_SUPPORTED
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
c81967fa89
d3d12: Implement Intra Refresh for H264, HEVC, AV1
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
a560706648
d3d12: Implement HEVC VUI Writer
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
fdc8b7cdc4
d3d12: Implement H264 VUI Writer
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
cf8cbf0647
d3d12: Disable codecs according to meson video-codecs option
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Brian King ((MEDIA))
84c0448b36
d3d12: Add constraint_set1_flag support
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
d6bb4ddc63
d3d12: Video Encode - Remove PIPE_VIDEO_PROFILE_MPEG4_AVC_BASELINE as not supported
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
151ebf8ec3
d3d12: Use log2_max_frame_num_minus4 and log2_max_pic_order_cnt_lsb_minus4 from pipe_pic_params_h264
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
34961b1118
d3d12: Plumb pipe_h264_enc_picture_desc.dbk.disable_deblocking_filter_idc
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
527def0171
gallium/vl: Check for VP9 and AV1 meson option support flags
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
7b22dd8bfd
meson: add vp9 and av1 codec support options
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
870570ee66
frontend/va: Support VAEncMiscParameterMaxSliceSize
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
ec4021b3c2
frontend/va: Parse VUI HEVC parameters
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:19:00 +00:00
Sil Vilerino
4637f1db48
frontend/va: Parse VUI H264 parameters
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:18:59 +00:00
Sil Vilerino
bee4a3683c
frontend/va: Add log2_max_frame_num_minus4 and log2_max_pic_order_cnt_lsb_minus4 for h264enc
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:18:59 +00:00
Sil Vilerino
9ce17de1fd
pipe: Add max_slice_bytes for H264, HEVC encoding
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:18:59 +00:00
Sil Vilerino
6b4010b906
pipe: Add HEVC VUI encode params
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:18:59 +00:00
Sil Vilerino
0c312c5c59
pipe: Add H264 VUI encode params
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:18:59 +00:00
Sil Vilerino
10eb9296fe
pipe: Add PIPE_VIDEO_CAP_ENC_INTRA_REFRESH_MAX_DURATION
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:18:59 +00:00
Sil Vilerino
44a3bfcc67
pipe: Add PIPE_VIDEO_CAP_ENC_H264_DISABLE_DBK_FILTER_MODES_SUPPORTED
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:18:59 +00:00
Sil Vilerino
be4287c3aa
pipe: Extend get_feedback with additional metadata
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:18:59 +00:00
Sil Vilerino
e6d754f183
gallium/auxiliary: Fix pb_bufmgr_slab.c leak
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:18:59 +00:00
Sil Vilerino
695201fe94
vl/win32: Add vl_win32_screen_create_from_d3d12_device
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:18:59 +00:00
Sil Vilerino
e7204d0224
d3d12: Allow creating d3d12_dxcore_screen from existing ID3D12Device
...
Reviewed-by: Jesse Natalie <jenatali@microsoft.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26223 >
2023-11-20 17:18:59 +00:00
Zhang Ning
9657ef95b4
iris: use helper util_resource_at_index
...
Signed-off-by: Zhang Ning <zhangn1985@outlook.com >
Reviewed-by: Tapani Pälli <tapani.palli@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26243 >
2023-11-20 16:57:59 +00:00
Boris Brezillon
bc3bec76c0
panfrost: Add a JOBX() macro to simplify job-frontend selection
...
Common code will soon call job-frontend specific helpers for anything
that's not common to CSF/JM. Let's provide a JOBX() macro that does
the correct prefixing based on the PAN_ARCH value.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
9dd4c5b4e6
panfrost: Move JM helpers to their own source file
...
Before we start adding CSF support, let's move every JM-specific bits
out of pan_cmdstream.c.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
5e5a766a81
panfrost: Prepare things for the common/JM cmdstream split
...
In order to be able to split the code into separate files, we need to
share some common definitions. Create a pan_cmdstream.h file containing
some structs and helpers.
This file is meant to be included from per-gen source files.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
635385a807
panfrost: s/init_batch/jm_init_batch/
...
We will have a CSF-specific implementation.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
a0b38c4827
panfrost: s/preload/jm_preload_fb/
...
We'll have a specific version for CSF.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
2558a12633
panfrost: Rename JM-specific batch submission helpers
...
Prefix them with jm_ so we can easily specialize things for CSF.
panfrost_batch_submit_ioctl is renamed into jm_submit_jc() which
reflects the fact the ioctl() submits one job chain at a time, and
panfrost_batch_submit_jobs() is renamed jm_submit_batch() because it's
shorter and is descriptive enough.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
1dfc9ca3cf
panfrost: s/panfrost_emit_primitive/jm_emit_primitive/
...
This function is JM-specific, let's prefix it accordingly.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
fb2d2410bd
panfrost: s/panfrost_emit_shader/jm_emit_shader_env/
...
Prefix with jm_ so we know this is JM-specific, and emit_shader_env()
to make it clear this is the shader environment descriptor we
emit here.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
50898556e0
panfrost: Rename panfrost_batch_get_bifrost_tiler()
...
Tiler descriptor emission will be different on CSF, so let's just
prefix the function with jm_, and pick a shorter name without bifrost
in it (the function is already conditionally defined if PAN_ARCH >= 6,
which means bifrost or later).
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
5225eeb4b1
panfrost: Drop the vertex_count argument passed to panfrost_batch_get_bifrost_tiler()
...
We always pass a non-zero vertex_count. Let's get rid of this argument
and unconditionally emit the heap descriptor.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
e44dae6cdb
panfrost: Move JM specific bits out of panfrost_launch_xfb()
...
Create a jm_launch_xfb() helper that's called from panfrost_launch_xfb()
so we can later specialize things for CSF.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
6ed0968d3d
panfrost: Move JM-specific bits out of panfrost_launch_grid_on_batch()
...
Create a jm_luanch_grid() helper that's called from
panfrost_launch_grid_on_batch() so we can later specialize things for
CSF.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
0e168f2def
panfrost: Use batch->tls.gpu to store the compute TLS descriptor
...
This seems a bit silly, but is needed if we want to move JM/CSF job
emission to their own file without having to pull the
panfrost_emit_shared_memory() function there. It also allows us to
get rid of the thread_storage argument passed to panfrost_emit_shader().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
9592b61883
panfrost: Move all JM-specific bits out of panfrost_direct_draw()
...
Add a jm_launch_draw() helper taking care of the JM descriptor emission,
and call it from panfrost_direct_draw().
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
691d9747e5
panfrost: Re-order things in panfrost_direct_draw()
...
Re-order things in panfrost_direct_draw() so we have all non-HW specific
stuff done first, and then the descriptor emission.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
172d4bccd2
panfrost: Factor out the vertex count logic
...
Makes panfrost_direct_draw() shorter and thus easier to read.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
f167e2facf
panfrost: Factor out the point-sprite shader update logic
...
Not strictly needed for CSF, but anything we can do to make
panfrost_direct_draw() shorter is good to take.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
782dc11791
panfrost: Rename several job emission helpers
...
First of all, we want to prefix those with jm_, so we can later add
CSF-specific job emission helpers. We also take this as an opportunity
to clarify what these helpers emit exactly: the draw section of a job
descriptor (suffixed with _draw) or the job descriptor itself (suffixed
with _job).
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
e25b8d07b8
panfrost: Move the JM-specific bits out of emit_fragment_job()
...
Add a jm_emit_fragment_job() helper that does the fragment job emission
so we can re-use the rest of emit_fragment_job() for CSF too.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
04f4c39a4e
panfrost: s/panfrost_emit_vertex_tiler_jobs/jm_push_vertex_tiler_jobs/
...
Prefix the function with jm_, so it's clear its JM-specific helper.
While at it, replace emit by push, since the descriptor emission
happens before that, all this function does is pushing jobs to the
job chain.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Boris Brezillon
44bd7067b7
panfrost: Move JM specific fields to their own struct
...
In preparation of CSF support addition, we move any JM related bits out
of panfrost_batch into a panfrost_jm_batch struct that's embedded in
panfrost_batch inside an anonymous union. This way, we can easily
specialize things for CSF without polluting the panfrost_batch object
with CSF-specific fields.
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:09 +00:00
Alyssa Rosenzweig
9de3ff9a78
panfrost: Add panfrost_get_{position,varying}_shader() helpers
...
We will use those when adding CSF support.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:08 +00:00
Alyssa Rosenzweig
f53c37892a
panfrost: Factor out vertex attribute stride calculation
...
We will use the new panfrost_vertex_attribute_stride() when adding CSF
support.
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com >
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249 >
2023-11-20 16:38:08 +00:00