summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2024-02-26fossils: Print replay durationHEADmasterKonstantin Seurer1-2/+10
This patch prints the replay duration after the "Replaying $db" output. It should be useful for spotting slow fossils. Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com> Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
2024-02-15report-fossil: Handle multiple shaders with the same stageKonstantin Seurer1-3/+7
Ray tracing pipelines can have multiple shaders of the same stage type. This means that changes to ray tracing shaders may not show up. This patch solves the issue by adding an index that makes those shaders unique. Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
2024-02-15report-fossil: Be more robust when guessing the driverKonstantin Seurer1-13/+14
When running ./fossil_replay.sh with --graphics-pipeline-range 0 0 --compute-pipeline-range 0 0, the script will append lines which don't contain any driver specific columns. Read rows until we are able to guess the driver instead of aborting after the first row. Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
2024-02-15report-fossil: update ACO statisticsRhys Perry1-5/+5
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
2023-10-25run: Add verbose mode and hide skips due to missing driver supportDavid Heidelberg1-11/+19
Displaying information about multiple tests being skipped due to missing GL level compliance from the driver side is unnecessary when verifying drivers in CI. To enhance clarity, a verbose mode is added, and skips related to driver support are hidden in this update. Signed-off-by: David Heidelberg <david.heidelberg@collabora.com>
2023-08-25report-fossil: ignore Anv's source hashLionel Landwerlin1-0/+1
Reviewed-by: Felix DeGrood <felix.j.degrood@intel.com>
2023-08-25report-fossil: report max dispatch width in AnvLionel Landwerlin1-0/+1
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Felix DeGrood <felix.j.degrood@intel.com>
2023-08-25report-fossil: report max live register in AnvLionel Landwerlin1-0/+1
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Felix DeGrood <felix.j.degrood@intel.com>
2023-07-05fossils: add parallel-rdp fossilsRhys Perry5-0/+23
https://github.com/Themaister/parallel-rdp These fossils contain very large and complex shaders. The small_*.foz files use 8/16-bit arithmetic. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
2023-06-19report-fossil: Use common stage names for RADVKonstantin Seurer1-10/+4
Aligns RADV stage names to the common ones, including combined stages. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2023-06-19report-fossil: Add all common stage namesKonstantin Seurer1-13/+17
This patch adds handling for all possible stage names returned by _mesa_shader_stage_to_string. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
2023-06-14report-fossil: add a parameter to discard statsLionel Landwerlin1-1/+23
This adds a property to indicate that a statistic change makes all other statistics uncomparable. This is quite useful on Intel where shaders are compiled in different variants and a SIMD8 compute shader cannot be compared to a SIMD16 variant. All that should be visible is the change of SIMD width. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Alejandro Piñeiro <apinheiro@igalia.com>
2023-05-14si-report.py: remove one space from all columns and center the namesMarek Olšák1-1/+1
2023-05-14si-report.py: don't print unaffected apps in the last tableMarek Olšák1-3/+6
2023-05-14si-report.py: fix syntax and style issuesMarek Olšák1-48/+67
reported by pycodestyle
2023-05-14si-report.py: match the style of totals to match the restMarek Olšák1-7/+3
also change the text
2023-05-14si-report.py: don't print total increases and decreasesMarek Olšák1-41/+0
The per-app table is better and the biggest changes are printed with shader file names.
2023-05-14si-report.py: remove unused functionMarek Olšák1-15/+0
2023-05-14si-report.py: print 24 changes shaders instead of 40 per groupMarek Olšák1-5/+4
2023-05-14si-report.py: fix printing shaders with improvementsMarek Olšák1-8/+4
It only printed shaders that also had regressions.
2023-04-24Revert "run: add shaderdb flag for v3d"Eric Engestrom1-1/+1
This reverts commit 47ded5b3cbfb3d54152a843d0e2b5fa635112f1f. Mistake on my part, `V3D_DEBUG=shaderdb` is actually for manually dumping stats from random apps in the shader-db format so that they can be read using shader-db's `report.py`. Having `V3D_DEBUG=shaderdb` in shader-db makes it dump the information twice, causing issues. Signed-off-by: Eric Engestrom <eric@igalia.com> Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
2023-04-24ci: fix after mesa changesEric Engestrom1-1/+3
2023-03-13report-fossil: Parse arguments before trying to detect driversKenneth Graunke1-20/+19
This fixes ./report-fossil.py --help, which previously just croaked with an error about not being able to detect the driver, because no .csv files were specified on the command line. Which isn't a great error message when you're...trying to figure out the command line. While at it, we also drop the requirement that filenames must end with .csv. The code to check for that was basically to try and distinguish filenames from other arguments...which we don't need to do now that we properly do argument parsing beforehand. They still have to be .csv files, of course, but mandating extensions is a bit unusual. Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
2023-03-07report-fossils: larger subgroup size is betterLionel Landwerlin1-1/+1
Almost all the time ;) Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2023-03-07report-fossils: report intel fragment SIMD 8/16/32 separatelyLionel Landwerlin1-3/+3
We don't want to compare a FS16 to a FS8. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
2023-02-18ci: run shaderdb against drm-shim of supported mesa driversEric Engestrom1-0/+157
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Acked-by: David Heidelberg <david.heidelberg@collabora.com>
2022-12-10report-fossil: add anv supportLionel Landwerlin3-198/+28
2022-12-10shaders: Add missing extension requirements in Dolphin shadersIan Romanick38-0/+104
Discovered when an experiment resulted in a driver that only gave OpenGL 3.0 without GL_ARB_uniform_buffer_object. All changes made with this script: for ext in GL_ARB_shader_image_load_store \ GL_ARB_shader_storage_buffer_object \ GL_ARB_shading_language_420pack \ GL_ARB_uniform_buffer_object \ GL_ARB_explicit_attrib_location do egrep -lr "extension[[:space:]]+${ext}.*enable" . |\ while read s; do # If the shader already has the requirement, skip if grep -A10 '[[]require]' $s | grep -q ^$ext ; then continue fi # If the shader has ifdefs for the extension, skip if egrep -q "#[[:space:]]*if.*${ext}" $s; then continue fi sed --in-place -e "s/\(^GLSL >.*$\)/\1\n${ext}/" $s done done
2022-12-10fossils: Add fossils from Google Meet / OpenCL kernels on clvkMatt Turner2-0/+0
These are OpenCL kernels compiled through clvk-0.0.1-r20 on ChromeOS, to be used by Google Meet.
2022-11-30Add Xonotic shadersFilip Gawin27-0/+97821
Acked-by: Alejandro Piñeiro <apinheiro@igalia.com>
2022-11-29Import shaders from blender 3.3.1M Henning236-0/+1099036
Obtained by clicking a bunch of buttons with the default cube open. Acked-by: Alejandro Piñeiro <apinheiro@igalia.com>
2022-11-28run: cleaning up usage and error print outDongwon Kim1-3/+2
'p' is an obsolete option so it needs to be removed from print_usage. And there is no reason to print out "Unknown option:" error string since it is actually done by getopt (e.g. "./run: invalid option -- 'p'"). Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
2022-11-28fossils: add Q2RTX ray tracing pipeline captureLionel Landwerlin1-0/+0
2022-11-14si-report.py: compare the number of shader outputsMarek Olšák1-7/+20
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
2022-10-19run: add shaderdb flag for v3dEric Engestrom1-1/+1
Signed-off-by: Eric Engestrom <eric@igalia.com>
2022-10-19run: add shaderdb flag for vc4Eric Engestrom1-0/+1
Signed-off-by: Eric Engestrom <eric@igalia.com>
2022-10-17report-fossil: add v3dv supportAlejandro Piñeiro1-1/+19
Acked-by: Iago Toral Quiroga <itoral@igalia.com>
2022-09-27fossils: update sascha-willems demos fossils to be v3dv friendlyAlejandro Piñeiro52-0/+0
By default Sascha Willems demos uses for their demos using a graphics pipeline the D32_SFLOAT_S8_UINT format. v3dv doesn't support it, but the demos properly detect that, and use a supported format in any case. But as the fossils were recorded with a driver supporting that format, it tries to use it, and we got a renderpass not supported warning, and no shader compilation. As fossils here are mostly used for the shading compiling statistics, changing the format shouldn't affect to other drivers. Tested with anv and there is no changes. As we are here we also add some extra fossils. Acked-by: Dylan Baker <dylan@pnwbakers.com> Acked-by: Emma Anholt <emma@anholt.net>
2022-08-20README: add intel_stub_gpu exampleLionel Landwerlin1-1/+5
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Acked-by: Matt Turner <mattst88@gmail.com>
2022-07-10shaders: Import shaders from godot 3.4M Henning245-0/+462656
Obtained by clicking around in many of the example projects from https://github.com/godotengine/godot-demo-projects commit 2e40f67b1b in godot v3.4.4 Acked-by: Emma Anholt <emma@anholt.net>
2022-06-20shaders: Import shaders from gtk4 GL rendererM Henning50-0/+20294
Captured from gtk4-widget-factory on gtk 4.6.0 Reviewed-by: Emma Anholt <emma@anholt.net>
2022-05-24report.py: Fix scheduler mode descriptionsKenneth Graunke1-2/+1
This fixes a bug where the scheduler mode for every shader was detected as "scheduled" instead of the actual mode name. Code above this block was detecting "scheduled with mode X" and parsing that as field = word 0 = "scheduled" and val = word 3 = "X". Then this code came along and did the default parsing of "N things" as value = word 0 and field = word 1, and overrode that. We should just put it in the else case so each case happens independently.
2022-05-04shader-db: fix compare of SSO ENABLE stringTimothy Arceri1-1/+2
Looks like this has been broken from the day it was commited. I beleive this likely happened when Ken changed his original patchset to stop looking for the extension and instead look for this string. Reviewed-by: Emma Anholt <emma@anholt.net>
2022-03-18Use MESA_SHADER_CACHE_DISABLE envvarJuan A. Suarez Romero1-1/+3
MESA_GLSL_CACHE_DISABLE envvar was renamed to MESA_SHADER_CACHE_DISABLE. v2: - Keep old envvar too (Marcin). Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
2022-03-07report.py: Add support for nouveau-formatted shader-db output.Emma Anholt1-12/+28
imirkin wants the current format for shader-db for nouveau, but I really want the current report.py script to work because it helps me dig into which shaders are the problem.
2022-03-07report.py: Add support for shader-db without a loops count.Emma Anholt1-1/+1
i915 doesn't have loops at all, so just skip the check.
2022-03-07Disable -march in run.c build.Emma Anholt1-1/+1
The performance of the binary really doesn't matter, it's Mesa that does. Found when my build was SIGILLing on my test system.
2022-01-28Merge radv-report-fossil and report-fossil, support turnipConnor Abbott2-632/+632
radv-report-fossil is more generic than anv-report-fossil, and has seen more development work, so make it the "generic" report-fossil.py. Add support for turnip by adding statistics and executable names generated by turnip. Also fold in the driver detection logic from report-fossil and call out to anv-report-fossil if the driver is detected to be anv. Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
2022-01-13anv-report: Handle loops changing to or from zeroIan Romanick1-3/+0
Premature optimization is the root of all evil. :( Shaders that had loops change to or from zero were not logged has having loops changed and were not counted in the total. Unfortunately, those are among the most important (and most common) cases of the loops changing. Fixes: 5a1df48 ("Add a script for comparing fossil results")
2021-11-30run: set env-var workarounds for viewperf shadersMarek Olšák1-0/+2
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>