Re: [Mesa-dev] V2 GLSL IR & TGSI on-disk shader cache

2017-02-17 Thread Timothy Arceri



On 17/02/17 19:26, Nicolai Hähnle wrote:

On 16.02.2017 23:55, Timothy Arceri wrote:

On 17/02/17 01:27, Nicolai Hähnle wrote:

Hi Timothy,

thank you for the update. I had a look at all the patches now, and
especially the glsl parts looks basically ready to go. There are only
minor comments for which I don't need a full resend of the series, and
an open question on patch 22 where it would be nice to get a proper
answer.


Thanks! It's a relief to finally get this stuff reviewed.


It's definitely good to have concrete progress. There's always the
possibility that we still missed some metadata, so I wonder what your
testing plan is for this. Games, obviously, but perhaps consecutive runs
of piglit give useful info as well?


Yes, I've been doing consecutive piglit runs throughout development. I 
still need to do some runs of the CTS, but at this point I'm pretty 
confident we should have everything. I've done a huge amount of 
re-factoring of the structs that store this meta-data to reduce the 
amount of data we need to store both in the cache and at run time, so if 
I missed anything it should be fairly minor and easy to fix.






I'm not really
sure about an authoritative source for patch 22, although I'm happy to
add the group check, I think it makes some sense.


Please push the patch; in its current form its better than nothing, and
even the loader doesn't do fancier checks. It has my R-b.


ok, thanks :)





On 14.02.2017 01:52, Timothy Arceri wrote:

Changes in V2:

- no longer mess around storing/restoring any pointers
- implemented support for compute shaders
- dropped some patches only needed by i965 for now
- add fallback support for shader source that is changed after its
compiledi (piglit test on the list)
- simplify cache enable for r600/radeonsi by unconditionally creating
the cache in screen_create.


Remind me how each part of the cache can be disabled?


We can't really enable GLSL IR cache by itself (I guess we could enable
tgis but that wouldn't make much sense). The code simply checks id
ctx->Cache != NULL in various locations which means cache is enabled.


There should still be some environment variable to disable the cache.
R600_DEBUG=nocache, for example, since it's the driver that creates the
actual disk cache structure now.


oh, that would be MESA_GLSL_CACHE_DISABLE=1 which is checked when the 
driver calls disk_cache_create()




Cheers,
Nicolai





Thanks,
Nicolai



- make glsl version (the version reported as supported by the
implemenation at
  compile time) part of the sha1 input rather than adding mesa string
to the cache object itself.
  This avoids fallbacks and should be more reliable.
- add any drirc options as sha1 inputs
- some other tidy ups suggested by Nicolai and Marek

In future we probably want to check what other env vars have been set,
but for now the gl/glsl version and drirc options should cover most
things.

___
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] V2 GLSL IR & TGSI on-disk shader cache

2017-02-17 Thread Nicolai Hähnle

On 16.02.2017 23:55, Timothy Arceri wrote:

On 17/02/17 01:27, Nicolai Hähnle wrote:

Hi Timothy,

thank you for the update. I had a look at all the patches now, and
especially the glsl parts looks basically ready to go. There are only
minor comments for which I don't need a full resend of the series, and
an open question on patch 22 where it would be nice to get a proper
answer.


Thanks! It's a relief to finally get this stuff reviewed.


It's definitely good to have concrete progress. There's always the 
possibility that we still missed some metadata, so I wonder what your 
testing plan is for this. Games, obviously, but perhaps consecutive runs 
of piglit give useful info as well?




I'm not really
sure about an authoritative source for patch 22, although I'm happy to
add the group check, I think it makes some sense.


Please push the patch; in its current form its better than nothing, and 
even the loader doesn't do fancier checks. It has my R-b.




On 14.02.2017 01:52, Timothy Arceri wrote:

Changes in V2:

- no longer mess around storing/restoring any pointers
- implemented support for compute shaders
- dropped some patches only needed by i965 for now
- add fallback support for shader source that is changed after its
compiledi (piglit test on the list)
- simplify cache enable for r600/radeonsi by unconditionally creating
the cache in screen_create.


Remind me how each part of the cache can be disabled?


We can't really enable GLSL IR cache by itself (I guess we could enable
tgis but that wouldn't make much sense). The code simply checks id
ctx->Cache != NULL in various locations which means cache is enabled.


There should still be some environment variable to disable the cache. 
R600_DEBUG=nocache, for example, since it's the driver that creates the 
actual disk cache structure now.


Cheers,
Nicolai





Thanks,
Nicolai



- make glsl version (the version reported as supported by the
implemenation at
  compile time) part of the sha1 input rather than adding mesa string
to the cache object itself.
  This avoids fallbacks and should be more reliable.
- add any drirc options as sha1 inputs
- some other tidy ups suggested by Nicolai and Marek

In future we probably want to check what other env vars have been set,
but for now the gl/glsl version and drirc options should cover most
things.

___
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] V2 GLSL IR & TGSI on-disk shader cache

2017-02-16 Thread Timothy Arceri



On 17/02/17 01:27, Nicolai Hähnle wrote:

Hi Timothy,

thank you for the update. I had a look at all the patches now, and
especially the glsl parts looks basically ready to go. There are only
minor comments for which I don't need a full resend of the series, and
an open question on patch 22 where it would be nice to get a proper answer.


Thanks! It's a relief to finally get this stuff reviewed. I'm not really 
sure about an authoritative source for patch 22, although I'm happy to 
add the group check, I think it makes some sense.





On 14.02.2017 01:52, Timothy Arceri wrote:

Changes in V2:

- no longer mess around storing/restoring any pointers
- implemented support for compute shaders
- dropped some patches only needed by i965 for now
- add fallback support for shader source that is changed after its
compiledi (piglit test on the list)
- simplify cache enable for r600/radeonsi by unconditionally creating
the cache in screen_create.


Remind me how each part of the cache can be disabled?


We can't really enable GLSL IR cache by itself (I guess we could enable 
tgis but that wouldn't make much sense). The code simply checks id 
ctx->Cache != NULL in various locations which means cache is enabled.




Thanks,
Nicolai



- make glsl version (the version reported as supported by the
implemenation at
  compile time) part of the sha1 input rather than adding mesa string
to the cache object itself.
  This avoids fallbacks and should be more reliable.
- add any drirc options as sha1 inputs
- some other tidy ups suggested by Nicolai and Marek

In future we probably want to check what other env vars have been set,
but for now the gl/glsl version and drirc options should cover most
things.

___
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] V2 GLSL IR & TGSI on-disk shader cache

2017-02-16 Thread Nicolai Hähnle

Hi Timothy,

thank you for the update. I had a look at all the patches now, and 
especially the glsl parts looks basically ready to go. There are only 
minor comments for which I don't need a full resend of the series, and 
an open question on patch 22 where it would be nice to get a proper answer.



On 14.02.2017 01:52, Timothy Arceri wrote:

Changes in V2:

- no longer mess around storing/restoring any pointers
- implemented support for compute shaders
- dropped some patches only needed by i965 for now
- add fallback support for shader source that is changed after its compiledi 
(piglit test on the list)
- simplify cache enable for r600/radeonsi by unconditionally creating the cache 
in screen_create.


Remind me how each part of the cache can be disabled?

Thanks,
Nicolai



- make glsl version (the version reported as supported by the implemenation at
  compile time) part of the sha1 input rather than adding mesa string to the 
cache object itself.
  This avoids fallbacks and should be more reliable.
- add any drirc options as sha1 inputs
- some other tidy ups suggested by Nicolai and Marek

In future we probably want to check what other env vars have been set,
but for now the gl/glsl version and drirc options should cover most things.

___
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


[Mesa-dev] V2 GLSL IR & TGSI on-disk shader cache

2017-02-13 Thread Timothy Arceri
Changes in V2:

- no longer mess around storing/restoring any pointers
- implemented support for compute shaders
- dropped some patches only needed by i965 for now
- add fallback support for shader source that is changed after its compiledi 
(piglit test on the list)
- simplify cache enable for r600/radeonsi by unconditionally creating the cache 
in screen_create.
- make glsl version (the version reported as supported by the implemenation at
  compile time) part of the sha1 input rather than adding mesa string to the 
cache object itself.
  This avoids fallbacks and should be more reliable.
- add any drirc options as sha1 inputs
- some other tidy ups suggested by Nicolai and Marek

In future we probably want to check what other env vars have been set,
but for now the gl/glsl version and drirc options should cover most things.

___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev