URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=bc3bec76c0d4c1fc41a7b6bc9152fd7e81fdd033
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 17:57:02 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9dd4c5b4e60eee23c6cf463d2398a615f6fa1cfd
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 17:38:12 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e5a766a815bc62a68f41d7083272f2e92ff7170
Author: Boris Brezillon <[email protected]>
Date: Thu Oct 5 18:56:53 2023 +0200
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=635385a807aa5b1b6428b6cd30bd952450ff5230
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 17:43:08 2023 +0100
panfrost: s/init_batch/jm_init_batch/
We will have a CSF-specific implementation.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0b38c4827456422fe42f04b92322588e05f9a53
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 17:26:02 2023 +0100
panfrost: s/preload/jm_preload_fb/
We'll have a specific version for CSF.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=2558a12633d601c1a3df30eb49c642419a3aece2
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 16:18:47 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=1dfc9ca3cf92549e6e2a1a38739862815eb803f4
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 16:04:05 2023 +0100
panfrost: s/panfrost_emit_primitive/jm_emit_primitive/
This function is JM-specific, let's prefix it accordingly.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=fb2d2410bd8d218ecf80b1fa5616f0f01aeb4ff9
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 15:56:28 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=50898556e0b9a4c0fec983cf1ce73764aa7be9d7
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 15:40:13 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5225eeb4b116f96edd0963b0a45ecc1a2ad48a8e
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 15:35:16 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e44dae6cdbfc88c4d42a26c69d7c9b1d70d288a6
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 15:28:28 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=6ed0968d3daef7a78fe32b051950af69b7992d58
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 15:24:22 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e168f2defba09bc918011e511293380739ba147
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 15:18:39 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9592b61883e63be43dcca3cf3366de2f07b3cd52
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 15:09:33 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=691d9747e56189d6c54c6e8ad137d6edebc74d71
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 14:52:47 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=172d4bccd29c71f21ed1d5fec524cd7bb9608cad
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 14:39:43 2023 +0100
panfrost: Factor out the vertex count logic
Makes panfrost_direct_draw() shorter and thus easier to read.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f167e2facf9ba91f2a754c7a812af21e95e5e628
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 14:27:13 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=782dc11791f4cfd2e8c70383929acf7f7733c5ca
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 14:21:08 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e25b8d07b8b9b6c03ef0eab999b28bc11ae4264f
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 14:05:59 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=04f4c39a4e8f1bd53270a89d11bd1d3d8f4f9bec
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 14:02:48 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=44bd7067b7776ba50e34f8e72baea0fc7397f7f6
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 13:10:12 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9de3ff9a784869c5b6c13aba1b741d274a625247
Author: Alyssa Rosenzweig <[email protected]>
Date: Wed Nov 15 11:10:53 2023 +0100
panfrost: Add panfrost_get_{position,varying}_shader() helpers
We will use those when adding CSF support.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Boris Brezillon <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f53c37892abd4c0cf70ad4ae4a19328f0a122fe7
Author: Alyssa Rosenzweig <[email protected]>
Date: Wed Nov 15 11:07:11 2023 +0100
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 <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Boris Brezillon <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ea72a0bec6e0593c8e5cf971124cb8d08ce7bb48
Author: Alyssa Rosenzweig <[email protected]>
Date: Wed Nov 15 11:02:49 2023 +0100
panfrost: Add an allow_rotating_primitives() helper
Factor out the logic so we can use the helper when adding CSF support.
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Boris Brezillon <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=e81f99134ee2c9681bbea9694db6676dfa147ae3
Author: Boris Brezillon <[email protected]>
Date: Mon Nov 20 09:41:29 2023 +0100
panfrost: Use u_reduced_prim() to do the is_line check
Suggested-by: Erik Faye-Lund <[email protected]>
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a183b8c49542c5c3a4e2f8c95c6f32dc23593081
Author: Boris Brezillon <[email protected]>
Date: Thu Oct 5 18:52:08 2023 +0200
panfrost: Store varying related fields in panfrost_batch
Store varying pointers in panfrost_batch. This will make the
job-frontend split easier by reducing the number of arguments we pass
to functions.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=19d5963c5720bc124edb92e1eb4d70cc07adc45c
Author: Boris Brezillon <[email protected]>
Date: Thu Oct 5 09:24:29 2023 +0200
panfrost: Stop passing vertex attribute arrays around
They are accessible through
batch->{attribs,attrib_bufs}[PIPE_SHADER_VERTEX], which is updated in
panfrost_update_state_3d(), if needed.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0d0e07036197aaa2eada53a1c6760407128b401
Author: Boris Brezillon <[email protected]>
Date: Thu Oct 5 18:49:03 2023 +0200
panfrost: Store the index pointer in panfrost_batch
So we can later use it from job-frontend specific hooks without having
to pass the pointer around.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d618a465903c0a2441769ed7528da4c22fc16e59
Author: Boris Brezillon <[email protected]>
Date: Tue Nov 14 18:19:04 2023 +0100
panfrost: Add a submit_batch() hook to panfrost_vtable
This per-arch method will take care of preparing the batch for submission
and submitting it.
This allows us to get rid of a bunch of methods in panfrost_vtable, and
turn some indirect function calls into direct calls.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=46fc7d2dc93028b6e02612583b97f26163d63a7d
Author: Boris Brezillon <[email protected]>
Date: Wed Nov 15 16:29:57 2023 +0100
panfrost: Get rid of unused fb parameter passed to
panfrost_batch_submit_jobs()
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=070bdd14baee8d75a41bb896420838ad251f63b9
Author: Boris Brezillon <[email protected]>
Date: Tue Nov 14 18:12:49 2023 +0100
panfrost: Get rid of the out_sync parameter in panfrost_batch_submit_jobs()
We always pass ctx->syncobj, which can be extracted from the batch
passed to panfrost_batch_submit_jobs(), so let's just kill this
argument.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=34512fabb47762ecc6cb364ddec875c8aa6fab19
Author: Boris Brezillon <[email protected]>
Date: Tue Nov 14 18:10:23 2023 +0100
panfrost: Get rid of unused in_sync parameter in
panfrost_batch_submit[_ioctl]()
in_sync is always zero, so let's just get rid of the parameter.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b6e959b731bc0013b0def916c5212a2d9d7e204
Author: Boris Brezillon <[email protected]>
Date: Tue Nov 14 17:50:34 2023 +0100
panfrost: Move the panfrost_emit_tile_map() call around
Move the panfrost_emit_tile_map() call before any of the per-gen
calls in panfrost_batch_submit(). This is in preparation of moving
the per-gen batch submission logic to a single hook instead of
having multiple indirect calls, and given the tile map doesn't
depend on any of the states modified by the per-gen calls, moving
it before them shouldn't be an issue.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=037e7a530cdd07125e270db76d2cb0bb7a6c3572
Author: Boris Brezillon <[email protected]>
Date: Wed Oct 4 09:51:00 2023 +0200
panfrost: Emit the fragment job from panfrost_batch_submit()
Now that emit_fragment_job() stores the fragment job GPU pointer
in panfrost_batch, we can move this step in panfrost_batch_submit(),
which will help with v10/CSF support.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4f037bd6d1d25117995c3432ddbf3d1ad840e76
Author: Boris Brezillon <[email protected]>
Date: Tue Nov 14 17:14:21 2023 +0100
panfrost: Store the fragment job descriptor address in the batch
In preparation of v10 support, where the fragment job is not passed
as a descriptor, but issued directly on the command stream, we make
->emit_fragment_job() a void method, and store the fragment job
descriptor in the batch.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d3b7b8c8071f3d3cb6ceee5c76f3118ecdb08bc5
Author: Boris Brezillon <[email protected]>
Date: Tue Nov 14 14:31:58 2023 +0100
panfrost: Stop using the scoreboard to check the presence of draws/compute
Now that we count draws and compute jobs, we can change some of the
tests to be HW-agnostic, so they can be re-used when we introduce
support for CSF hardware.
Anything that's related to job submission keeps using the scoreboard
information, because this code will stay JM-specific.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b2e78b003396eb4ef7231150618ded374ad3c85
Author: Boris Brezillon <[email protected]>
Date: Wed Oct 4 09:40:30 2023 +0200
panfrost: Make panfrost_has_fragment_job() public
We want to move the kernel driver specific submission logic to
pan_cmdstream.c where we can define per-gen functions. In order to
do that, we need panfrost_has_fragment_job() to be public.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=ab18d0709a408d307de92147c5ad051c9cb10a2c
Author: Boris Brezillon <[email protected]>
Date: Tue Nov 14 14:05:52 2023 +0100
panfrost: Count the number of compute jobs at the batch level
We will use this information to make some helpers HW-agnostic so they can
work on CSF hardware.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=f16312c01b825b723b25da8ea895ceca01a97484
Author: Boris Brezillon <[email protected]>
Date: Tue Nov 14 13:53:49 2023 +0100
panfrost: Express the per-batch limit in term of draws
We turn the 10000 jobs limit into a 10000 draw limit because:
- on HW supporting IDVS a draw is just a single job, and having a common
limit for all HW is simpler
- draw_count < 10000 fits in the max jobs limit if we assume the worst
case scenario (3 jobs per draw)
- CI seems to be happy (no spurious timeouts after this change)
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=539e5e435c1ab7fdacdb5d0be752e0e21ad9d50e
Author: Boris Brezillon <[email protected]>
Date: Tue Nov 14 13:36:51 2023 +0100
panfrost: Count draws at the batch level
This way we have a HW-agnostic way to know how many draws were issued,
instead of looking into the job chain builder guts.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=948062ee84dab8f8bf742f76b108ab0b481a6578
Author: Boris Brezillon <[email protected]>
Date: Mon Nov 13 16:53:01 2023 +0100
panfrost: Inline pan_emit_tiler_ctx()
Tiler context emission will differ on v10. Given pan_emit_tiler_ctx()
was only used in the gallium driver, and its implementation is
relatively simple, inline the code in panfrost_batch_get_bifrost_tiler().
This way we will avoid the churn caused by the function prototype change.
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=b378cfbc484f679e81b84dddfb68dfab14872cac
Author: Boris Brezillon <[email protected]>
Date: Mon Nov 13 16:50:16 2023 +0100
panfrost: Inline pan_emit_tiler_heap()
Tiler heap emission will differ on v10. Since pan_emit_tiler_heap()
is only used by the gallium driver, and it's simple enough to be
inlined, move the code to panfrost_batch_get_bifrost_tiler().
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=708a3a33a85e8b7af0a342f3d3a5028028135bdc
Author: Boris Brezillon <[email protected]>
Date: Tue Sep 5 16:37:43 2023 +0200
panfrost: Rename panfrost_vtable::context_init
We are about to add arch-specific context initialization/cleanup hooks.
Rename the existing context_init hook to avoid confusion (this hook
was just populating the pipe_context vtable).
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>
URL:
http://cgit.freedesktop.org/mesa/mesa/commit/?id=9a53cca85a09f7fc2187c6e047bcd41832dd3424
Author: Erik Faye-Lund <[email protected]>
Date: Wed Aug 23 13:22:29 2023 +0200
panfrost: do not open-code panfrost_has_fragment_job()
panfrost_batch_submit() already has an has_fragment_job() at the
beginning of the function. Store the result in a local has_frag variable
and replace the open-coded test by an 'if (has_frag)'.
Signed-off-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Boris Brezillon <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26249>