Re: [Mesa-dev] [PATCH 0/6] Shader cache; transform feedback; i965 program-binary
Thanks for finishing this off Jordan. Series: Reviewed-by: Timothy ArceriOn 14/03/18 18:26, Jordan Justen wrote: git://people.freedesktop.org/~jljusten/mesa shader-cache-xform-fb+prog-bin-v1 Patches 1 - 3 remove the restriction preventing the disk shader cache from being enabled if transform feedback is enabled via the GL API. These patches affect all drivers that support shader cache. Patches 4 - 6 address an issue I found with i965 when running DOTA2 with the shader cache enabled. It appears that if the shader cache is enabled, we will never use the shader cache for programs loaded with ProgramBinary. We had been setting the LinkStatus to LINKING_SUCCESS, and previously i965 would skip using the shader cache if the LinkStatus wasn't LINKING_SKIPPED. Either patch 5 or 6 should address this, but I think 6 still makes sense. I sent out a related series on Sunday. It turned out that series triggered issues where if ProgramBinary was used, and transform feedback was enabled. For this reason, I looked into the transform feedback limitation addressed in patches 1 - 3. Jordan Justen (6): glsl/shader_cache: Allow shader cache usage with transform feedback i965: Allow disk shader cache usage with transform feedback glsl: Remove api_enabled tracking for transform feedback glsl/serialize: Save shader program metadata sha1 i965: Allow disk shader cache usage with LINKING_SUCCESS status main/program_binary: In ProgramBinary set link status as LINKING_SKIPPED src/compiler/glsl/link_varyings.cpp| 2 -- src/compiler/glsl/linker.cpp | 11 +-- src/compiler/glsl/serialize.cpp| 4 src/compiler/glsl/shader_cache.cpp | 6 ++ src/mesa/drivers/dri/i965/brw_disk_cache.c | 11 --- src/mesa/main/mtypes.h | 3 --- src/mesa/main/program_binary.c | 2 +- 7 files changed, 12 insertions(+), 27 deletions(-) ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 0/6] Shader cache; transform feedback; i965 program-binary
On 2018-03-16 04:52:55, Tapani Pälli wrote: > > > On 03/15/2018 11:07 AM, Tapani Pälli wrote: > > Patches 1-3: > > Reviewed-by: Tapani Pälli> > Make that the whole series! Thanks! > I tested also briefly with app that uses glProgramBinary to implement > cache and verified result of GL_LINK_STATUS query with glGetProgramiv > after glProgramBinary. If the app saves/loads the binary to a file, then you might see a difference in the output for the second run when MESA_GLSL=cache_info is set. (Before it would always say "Falling back to NIR") -Jordan > > > (also verified with xfb using app) > > > > On 03/14/2018 09:26 AM, Jordan Justen wrote: > >> git://people.freedesktop.org/~jljusten/mesa > >> shader-cache-xform-fb+prog-bin-v1 > >> > >> Patches 1 - 3 remove the restriction preventing the disk shader cache > >> from being enabled if transform feedback is enabled via the GL API. > >> These patches affect all drivers that support shader cache. > >> > >> Patches 4 - 6 address an issue I found with i965 when running DOTA2 > >> with the shader cache enabled. It appears that if the shader cache is > >> enabled, we will never use the shader cache for programs loaded with > >> ProgramBinary. > >> > >> We had been setting the LinkStatus to LINKING_SUCCESS, and previously > >> i965 would skip using the shader cache if the LinkStatus wasn't > >> LINKING_SKIPPED. Either patch 5 or 6 should address this, but I think > >> 6 still makes sense. > >> > >> I sent out a related series on Sunday. It turned out that series > >> triggered issues where if ProgramBinary was used, and transform > >> feedback was enabled. For this reason, I looked into the transform > >> feedback limitation addressed in patches 1 - 3. > >> > >> Jordan Justen (6): > >> glsl/shader_cache: Allow shader cache usage with transform feedback > >> i965: Allow disk shader cache usage with transform feedback > >> glsl: Remove api_enabled tracking for transform feedback > >> glsl/serialize: Save shader program metadata sha1 > >> i965: Allow disk shader cache usage with LINKING_SUCCESS status > >> main/program_binary: In ProgramBinary set link status as > >> LINKING_SKIPPED > >> > >> src/compiler/glsl/link_varyings.cpp | 2 -- > >> src/compiler/glsl/linker.cpp | 11 +-- > >> src/compiler/glsl/serialize.cpp | 4 > >> src/compiler/glsl/shader_cache.cpp | 6 ++ > >> src/mesa/drivers/dri/i965/brw_disk_cache.c | 11 --- > >> src/mesa/main/mtypes.h | 3 --- > >> src/mesa/main/program_binary.c | 2 +- > >> 7 files changed, 12 insertions(+), 27 deletions(-) > >> > > ___ > > mesa-dev mailing list > > mesa-dev@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 0/6] Shader cache; transform feedback; i965 program-binary
On 03/15/2018 11:07 AM, Tapani Pälli wrote: Patches 1-3: Reviewed-by: Tapani PälliMake that the whole series! I tested also briefly with app that uses glProgramBinary to implement cache and verified result of GL_LINK_STATUS query with glGetProgramiv after glProgramBinary. (also verified with xfb using app) On 03/14/2018 09:26 AM, Jordan Justen wrote: git://people.freedesktop.org/~jljusten/mesa shader-cache-xform-fb+prog-bin-v1 Patches 1 - 3 remove the restriction preventing the disk shader cache from being enabled if transform feedback is enabled via the GL API. These patches affect all drivers that support shader cache. Patches 4 - 6 address an issue I found with i965 when running DOTA2 with the shader cache enabled. It appears that if the shader cache is enabled, we will never use the shader cache for programs loaded with ProgramBinary. We had been setting the LinkStatus to LINKING_SUCCESS, and previously i965 would skip using the shader cache if the LinkStatus wasn't LINKING_SKIPPED. Either patch 5 or 6 should address this, but I think 6 still makes sense. I sent out a related series on Sunday. It turned out that series triggered issues where if ProgramBinary was used, and transform feedback was enabled. For this reason, I looked into the transform feedback limitation addressed in patches 1 - 3. Jordan Justen (6): glsl/shader_cache: Allow shader cache usage with transform feedback i965: Allow disk shader cache usage with transform feedback glsl: Remove api_enabled tracking for transform feedback glsl/serialize: Save shader program metadata sha1 i965: Allow disk shader cache usage with LINKING_SUCCESS status main/program_binary: In ProgramBinary set link status as LINKING_SKIPPED src/compiler/glsl/link_varyings.cpp | 2 -- src/compiler/glsl/linker.cpp | 11 +-- src/compiler/glsl/serialize.cpp | 4 src/compiler/glsl/shader_cache.cpp | 6 ++ src/mesa/drivers/dri/i965/brw_disk_cache.c | 11 --- src/mesa/main/mtypes.h | 3 --- src/mesa/main/program_binary.c | 2 +- 7 files changed, 12 insertions(+), 27 deletions(-) ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 0/6] Shader cache; transform feedback; i965 program-binary
Patches 1-3: Reviewed-by: Tapani Pälli(also verified with xfb using app) On 03/14/2018 09:26 AM, Jordan Justen wrote: git://people.freedesktop.org/~jljusten/mesa shader-cache-xform-fb+prog-bin-v1 Patches 1 - 3 remove the restriction preventing the disk shader cache from being enabled if transform feedback is enabled via the GL API. These patches affect all drivers that support shader cache. Patches 4 - 6 address an issue I found with i965 when running DOTA2 with the shader cache enabled. It appears that if the shader cache is enabled, we will never use the shader cache for programs loaded with ProgramBinary. We had been setting the LinkStatus to LINKING_SUCCESS, and previously i965 would skip using the shader cache if the LinkStatus wasn't LINKING_SKIPPED. Either patch 5 or 6 should address this, but I think 6 still makes sense. I sent out a related series on Sunday. It turned out that series triggered issues where if ProgramBinary was used, and transform feedback was enabled. For this reason, I looked into the transform feedback limitation addressed in patches 1 - 3. Jordan Justen (6): glsl/shader_cache: Allow shader cache usage with transform feedback i965: Allow disk shader cache usage with transform feedback glsl: Remove api_enabled tracking for transform feedback glsl/serialize: Save shader program metadata sha1 i965: Allow disk shader cache usage with LINKING_SUCCESS status main/program_binary: In ProgramBinary set link status as LINKING_SKIPPED src/compiler/glsl/link_varyings.cpp| 2 -- src/compiler/glsl/linker.cpp | 11 +-- src/compiler/glsl/serialize.cpp| 4 src/compiler/glsl/shader_cache.cpp | 6 ++ src/mesa/drivers/dri/i965/brw_disk_cache.c | 11 --- src/mesa/main/mtypes.h | 3 --- src/mesa/main/program_binary.c | 2 +- 7 files changed, 12 insertions(+), 27 deletions(-) ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 0/6] Shader cache; transform feedback; i965 program-binary
git://people.freedesktop.org/~jljusten/mesa shader-cache-xform-fb+prog-bin-v1 Patches 1 - 3 remove the restriction preventing the disk shader cache from being enabled if transform feedback is enabled via the GL API. These patches affect all drivers that support shader cache. Patches 4 - 6 address an issue I found with i965 when running DOTA2 with the shader cache enabled. It appears that if the shader cache is enabled, we will never use the shader cache for programs loaded with ProgramBinary. We had been setting the LinkStatus to LINKING_SUCCESS, and previously i965 would skip using the shader cache if the LinkStatus wasn't LINKING_SKIPPED. Either patch 5 or 6 should address this, but I think 6 still makes sense. I sent out a related series on Sunday. It turned out that series triggered issues where if ProgramBinary was used, and transform feedback was enabled. For this reason, I looked into the transform feedback limitation addressed in patches 1 - 3. Jordan Justen (6): glsl/shader_cache: Allow shader cache usage with transform feedback i965: Allow disk shader cache usage with transform feedback glsl: Remove api_enabled tracking for transform feedback glsl/serialize: Save shader program metadata sha1 i965: Allow disk shader cache usage with LINKING_SUCCESS status main/program_binary: In ProgramBinary set link status as LINKING_SKIPPED src/compiler/glsl/link_varyings.cpp| 2 -- src/compiler/glsl/linker.cpp | 11 +-- src/compiler/glsl/serialize.cpp| 4 src/compiler/glsl/shader_cache.cpp | 6 ++ src/mesa/drivers/dri/i965/brw_disk_cache.c | 11 --- src/mesa/main/mtypes.h | 3 --- src/mesa/main/program_binary.c | 2 +- 7 files changed, 12 insertions(+), 27 deletions(-) -- 2.16.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev