X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=TODO;h=e7f4276772d3fe8f1d3700721d51b157825162e8;hb=refs%2Fheads%2Fframe-timings;hp=36b970916150f7747971b03e06ce4a0c20d61f03;hpb=4d30b9d5c193266f33fbcf2adeb47c80cda4a3cd;p=fips diff --git a/TODO b/TODO index 36b9709..e7f4276 100644 --- a/TODO +++ b/TODO @@ -1,20 +1,3 @@ -Known bugs -========== -undefined symbol: glGenQueries - - The problem here is code in libfips directly calling OpenGL - functions like glGenQueries but not linking against any OpenGL - library. - - We don't want to link against any OpenGL library so that the - application itself can choose which OpenGL to use (and how to - link/load it). - - The trick is to instead make these calls indirectly by first - calling glXGetProcAddressARB/eglGetProcAddress. There's some - proof-of-concept code for this in the stash-egl-lookup-fixups - branch, (which needs some cleaning up). - Feature requests (small-scale, near-term changes) ================================================= @@ -36,10 +19,6 @@ Add Eric's tiny hash table for collecting per-shader statistics people.freedesktop.org:~anholt/hash_table -Sort list of shaders in output - -Use better units for shader activity (eg. absolute time, relative percentage) - Capture GPU performance counters. Allow dumping of shader source for investigation @@ -84,3 +63,17 @@ Explore using perf/LTTng probing instead of LD_PRELOAD wrapper This has the advantage of allowing full-system, multi-process data collection. + +Things to change while replaying to isolate impact of different pieces +of the pipeline (list by Eero) +============================== + The interesting "what is a bottleneck" experiments are + (from back of 3D pipeline to front): + - Disable blend (= disable related dst reads) + - Binding 1x1 / NULL texture instead of real ones [1] + - Using simple pass-through pixel shader instead of real ones [2] + - Use kill / discard pixel shader instead of real ones + - Use 0x0 / 1x1 scissor rect + - Front+backface cull + - Disable draws +