WIP: nir: improvements over Eric's prepass scheduling
Added a WIP because the main patch is already included on MR !301 (merged) . Current MR just add support to load_shared, so @anholt can take a look to it, and provide early feedback just in case it is wrong.
That change allows the following 3.1 ES CTS test passing:
- KHR-GLES31.core.compute_shader.shared-max
But the patch that introduces the nir scheduler introduces regressions on the following tests (so another reason for the WIP)
- KHR-GLES31.core.shader_image_load_store.advanced-allMips-fs
- KHR-GLES31.core.shader_image_load_store.advanced-copyImage-fs
- KHR-GLES31.core.shader_image_load_store.advanced-sso-simple
- KHR-GLES31.core.shader_image_load_store.advanced-sync-imageAccess2
- KHR-GLES31.core.shader_image_load_store.basic-allFormats-load-fs
- KHR-GLES31.core.shader_image_load_store.basic-allFormats-store-fs
I plan to take a look to those.
Final note: in order to check that the load_shared is not moved if there are a store_shared between the original and the new position of the load_shared, I wrote this small test: piglit!126 (merged)
UPDATE: as time passed I have been adding some improvements, so I have just changed the title of the issue.