[Mesa-dev] [PATCH 0/6] Shader cache; transform feedback; i965 program-binary
Tapani Pälli
tapani.palli at intel.com
Fri Mar 16 11:52:55 UTC 2018
On 03/15/2018 11:07 AM, Tapani Pälli wrote:
> Patches 1-3:
> Reviewed-by: Tapani Pälli <tapani.palli at intel.com>
Make 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 at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list