Skip to content

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.

Edited by Alejandro Piñeiro

Merge request reports