summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
83 min.broadcom/compiler: remove unused parameters in vpm readHEADmainJuan A. Suarez Romero1-27/+9
A few of the parameters are not actually used at all. So let's clean them. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29101>
4 hoursradv: add a new mechanism for tracking registers per cmdbufSamuel Pitoiset3-64/+87
We already track a couple of registers per cmdbuf and this introduces a generic mechanism, instead of having a bunch of last_xxx fields. Loosely based on RadeonSI. Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28644>
4 hoursv3dv: enable VK_EXT_extended_dynamic_state2Alejandro Piñeiro1-0/+12
Note that we don't support (and clarify on code why) two of the features of this extension: * extendedDynamicState2PatchControlPoints: as we don't support Tessellation Shaders * extendedDynamicState2LogicOp: as supporting it would need to allow compile shader variants after pipeline creation, that we try to avoid as much as possible (and it is not supported right now) Note that those two features are not mandatory for Vulkan 1.3. From spec: "Promotion to Vulkan 1.3 This extension has been partially promoted. The dynamic state enumerants VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT, VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT, and VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT; and the corresponding entry points in this extension are included in core Vulkan 1.3, with the EXT suffix omitted. The enumerants and entry points for dynamic logic operation and patch control points are not promoted, nor is the feature structure. Extension interfaces that were promoted remain available as aliases of the core functionality." Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28980>
4 hoursv3dv: SetRasterizerDiscardEnable is dynamic nowAlejandro Piñeiro3-44/+39
Note that when it is dynamic, it goes to the codepath of having enabled raster_enabled at the pipeline, even if at the end it will be disabled. The fragment shader compilation, and the stage keys, depends on rasterization being enabled or not. As mentioned, if the state is dynamic, it assumes that the rasterization is enabled. That would work, as then the rasterization could be discarded at the CFG_BITS package, by the command buffer at draw time. We just have a (discarded) shader slightly more complex that it would have been with rasterization enabled. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28980>
4 hoursv3dv: DepthBiasEnable is dynamic nowAlejandro Piñeiro5-39/+8
Since VK_EXT_extended_dynamic_state2 We just move all related with depth bias to the command buffer. There is not good reason to compute and save it at the pipeline. Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28980>
4 hoursv3dv: PrimitiveRestartEnable is now dynamic.Alejandro Piñeiro3-9/+3
Since VK_EXT_extended_dynamic_state2 Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28980>
4 hoursv3dv: fixes StencilTestEnable handlingAlejandro Piñeiro2-30/+33
While working on VK_EXT_extended_dynamic_state2 we found two issues the stencil emission code, after the update for StencilTestEnable being dynamic. Specifically: * pack_stencil_cfg: if we don't have a ds_info, we need to return, as pack_single_stencil_cfg uses it to fill it up. Also the check for MESA_VK_DYNAMIC_DS_STENCIL_TEST_ENABLE was not needed. That state doesn't affect the content of the STENCIL_CFG packet. Stencil is enabled/disabled at the CFG_BITS packet. * cmd_buffer_emit_stencil: we can't use pipeline->emit_stencil_cfg to filter if it is needed to emit that as since stencil_test_enable and stencil_op become dynamic. We also update which states we check that are dynamic. As mentioned STENCIL_TEST_ENABLE doesn't affect here. Fixes: 60e9237e81c ("v3dv: StencilOp and StencilTestEnable are now dynamic") Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28980>
4 hoursv3dv/cmd_buffer: missing updates due PrimitiveTopology being dynamic nowAlejandro Piñeiro2-3/+11
There were some pending places to update after PrimitiveTopology become dynamic. FWIW, this was not catched by any CTS test. As we are here we add a comment to explain why we still use the topology on the pipeline. Fixes: 2526f74adeda ("v3dv: PrimitiveTopology is now dynamic") Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28980>
7 hoursrusticl: add RUSTICL_MAX_WORK_GROUPSKarol Herbst2-2/+14
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27666>
7 hoursrusticl: lower huge gridsKarol Herbst4-9/+100
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27666>
7 hoursrusticl/kernel: properly handle grid and offsets being usizeKarol Herbst1-29/+26
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27666>
7 hoursrusticl: use stream uploader for cb0 if preferedKarol Herbst3-21/+40
Using the same buffer without a barrier actually can lead to data races as drivers might not properly synchronize the content. Using the stream uploader is a neat fix which prevents us from having to use a barrier but still keep high throughput when launching kernels back-to-back. Fixes: 5ff33f99058 ("rusticl: use real buffer for cb0 for drivers prefering") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27666>
10 hoursv3dv: Use errno when logging an error to stderrMaíra Canal1-3/+4
When logging a failed IOCTL, an errno is more useful than the output of `drmIoctl()`. When the IOCTL fails, the return is usually -1 and this value isn't very useful. On the other hand, the errno can help us to debug the reason why the IOCTL failed. Signed-off-by: Maíra Canal <mcanal@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29067>
14 hourszink: move blocking gfx program init functions to threadMike Blumenkrantz1-2/+7
this should unblock the main thread Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: precompile_job() -> gfx_program_precompile_job()Mike Blumenkrantz1-5/+5
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: split gfx program creation into 2-stage functionsMike Blumenkrantz1-10/+36
the wrapper function should ensure that this commit has no functional changes Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: reorder fencing in zink_create_gfx_program()Mike Blumenkrantz1-2/+8
no functional changes Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: reorder some code in zink_create_gfx_program()Mike Blumenkrantz1-14/+16
no functional changes Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: move gfx shader init to threadMike Blumenkrantz2-22/+32
zink_shader_init is a long function, and making it async unblocks the main app thread to improve startup/load times this also eliminates a deserialize from separate shader compile by linking up the lifetime of the nir_shader with the shader compilation Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: split generated tcs creation into 2-stage functionsMike Blumenkrantz3-18/+31
same as gfx Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: reorder precompile_separate_shader_job() in fileMike Blumenkrantz1-14/+14
no functional changes Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: split shader create into 2-stage functionsMike Blumenkrantz4-7/+22
this allows for a 2-stage creation of shaders with a quick create() and a longer init() no functional changes Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: use zink_shader type directly in zink_create_gfx_shader_state()Mike Blumenkrantz1-3/+2
no functional changes Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: more effectively synchronize separate shader program precompilesMike Blumenkrantz1-1/+9
this avoids a race condition that could occur if a shader used by a precompile was destroyed between creating the full_prog and the full_prog's shader generation Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: always block the precompile threads when pruning shadersMike Blumenkrantz1-1/+1
this will avoid desync with separate shader program compiles Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: break out shadow sampler scanningMike Blumenkrantz1-11/+44
this is now a pre/post pass which is split between scanning and rewrites Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: rename zink_shader variable in create functionsMike Blumenkrantz1-69/+69
this matches the canonical variable name everywhere else Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: simplify flagging legacy shadow samplersMike Blumenkrantz1-4/+2
the binding is generated from the driver_location anyway Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: simplify confusing return in rewrite_tex_destMike Blumenkrantz1-5/+2
no functional changes Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: use info.fs.uses_sample_qualifier instead of manual scanMike Blumenkrantz3-4/+1
this should be a superset of the previous case, so at least it won't be wrong Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: use zink_shader_key_optimal unions for pipeline state assertsMike Blumenkrantz1-3/+3
no functional changes, just easier to debug fails Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
14 hourszink: delete GS conditional in update_so_infoMike Blumenkrantz1-99/+95
I'm not exactly sure when, but at some point this became no longer necessary Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28955>
16 hourszink: clamp buffer_indices_hashlist resets to used regionMike Blumenkrantz2-1/+15
memsetting 65k of memory after every batch submit is costly, but the memset region can be greatly reduced by tracking a min/max hash used and memsetting that region Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29041>
17 hoursci: identify and label S3 bucketsSergi Blanch Torne3-3/+3
As for the S3 bucket where the kernel image is stored has been identified and labeled, the other buckets in use can also be identified and labeled. cc: mesa-stable Signed-off-by: Sergi Blanch Torne <sergi.blanch.torne@collabora.com> Co-developed-by: Guilherme Gallo <guilherme.gallo@collabora.com Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28979>
18 hoursintel/perf: Add function to open perf streamJosé Roberto de Souza7-132/+102
This will make easy to add Xe KMD support and reduce code duplication. No changes in behavior are expected here. 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/29077>
18 hoursintel/perf: Add and use a function to return platform OA formatJosé Roberto de Souza9-13/+53
The platform version check to return the OA format was duplicated in a few places, so adding a function and dropping this duplication. While at it, already making it future proof for Xe KMD support and split i915 specific code to its own file. 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/29077>
18 hourscrocus: Free intel_perf_config and intel_perf_contextJosé Roberto de Souza2-0/+4
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/29077>
18 hoursiris: Free intel_perf_config and intel_perf_contextJosé Roberto de Souza2-0/+4
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/29077>
18 hourshasvk: Free intel_perf_config when destroying physical deviceJosé Roberto de Souza2-6/+4
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/29077>
18 hoursanv: Free intel_perf_config when destroying physical deviceJosé Roberto de Souza2-6/+4
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/29077>
18 hoursintel/ds: Nuke ralloc_ctx and ralloc_cfgJosé Roberto de Souza2-15/+2
Now that perf config and context are freed we don't need this rallocs contexts. 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/29077>
18 hoursintel/ds: Free perf config and contextJosé Roberto de Souza1-0/+3
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/29077>
18 hoursintel/perf: Add intel_perf_free_context()José Roberto de Souza2-0/+7
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/29077>
18 hoursintel/perf: Add intel_perf_free()José Roberto de Souza3-0/+10
There was no function to free resources allocated in intel_perf_config or it self. Other callers will be added in separated patches. 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/29077>
18 hoursintel/perf: Store pointer intel_device_info to in intel_perf_configJosé Roberto de Souza4-14/+14
This will reduce host memory usage a bit. 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/29077>
19 hoursamd/vpelib: Bypass de/regam on HLGchiachih1-2/+2
- Bypass de/regam on HLG Reviewed-by: Jesse Agate <jesse.agate@amd.com> Acked-by: Jack Chih <chiachih@amd.com> Signed-off-by: Navid Assadian <navid.assadian@amd.com> --- Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
19 hoursamd/vpelib: Fix blndgam bypass flag assignmentchiachih1-2/+1
- Fix blndgam bypass flag assignment Reviewed-by: Tiberiu Visan <Tiberiu.Visan@amd.com> Acked-by: Jack Chih <chiachih@amd.com> Signed-off-by: Navid Assadian <navid.assadian@amd.com> --- Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
19 hoursamd/vpelib: Fix Color Adjustment Failing Test Caseschiachih1-4/+4
[Why] test cases are failing [How] Fixed hue range calclation error and add brightness limit like in shader --------- Co-authored-by: Tiberiu Visan <tiberiu.visan@amd.com> Reviewed-by: Tiberiu Visan <Tiberiu.Visan@amd.com> Acked-by: Jack Chih <chiachih@amd.com> Signed-off-by: Ali <nawwar.ali@amd.com> --- Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
19 hoursamd/vpelib: Remove checks for pitch alignmentchiachih1-24/+12
[Why] Pitch alignment checks are inaccurate, alignment is based on elements instead of bytes, and byte alignment is assured by addrlib. Results in failed checks that should pass. [How] Remove checks. Reviewed-by: Roy Chan <Roy.Chan@amd.com> Acked-by: Jack Chih <chiachih@amd.com> Signed-off-by: Brendan Leder <breleder@amd.com> --- Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>
19 hoursamd/vpelib: adding blend gamma bypasschiachih4-15/+27
- added bypass blend - bypass blnd Reviewed-by: Jesse Agate <jesse.agate@amd.com> Acked-by: Jack Chih <chiachih@amd.com> Signed-off-by: Tiberiu Visan <tvisan@amd.com> --- Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28972>