Re: [Mesa-dev] [PATCH 0/6] Shader cache; transform feedback; i965 program-binary

2018-03-18 Thread Timothy Arceri

Thanks for finishing this off Jordan. Series:

Reviewed-by: Timothy Arceri 

On 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

2018-03-16 Thread Jordan Justen
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

2018-03-16 Thread Tapani Pälli



On 03/15/2018 11:07 AM, Tapani Pälli wrote:

Patches 1-3:
Reviewed-by: Tapani Pälli 


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@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

2018-03-15 Thread Tapani Pälli

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

2018-03-14 Thread Jordan Justen
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