Skip to content

panfrost: ES3.x improvements (bitfields, sample variables, 16x multisampling)

Alyssa Rosenzweig requested to merge alyssa/mesa:es31-working into master

Working my way through fails on dEQP-GLES31.functional.shaders.* on both Midgard and Bifrost. This fixes a bunch of them. Draft because:

  • I realized in the shower this morning (as one does) ufind_msb lowering on Bifrost is buggy for 8/16-bit
  • I realized shortly after getting it working the .hi lowering is totally useless, just need to fix the packing for .Z/.W which should be possible despite what the assembly suggests.
  • Midgard helper invocation store lowering is a mess
  • Sample position arrays aren't actually updated (responsible for failing tests on both archs)
  • Sample position lowering is out-of-spec on Midgard (despite the DDK doing the same buggy thing and getting away with it)
  • Sample mask is preloaded on Bifrost unconditionally, should check shader info.
  • gl_SampleMask writes aren't supported on Midgard

(I do plan to fix these, except maybe gl_SampleMask, just signing off for the night and want to make sure @bbrezillon sees these)

@icecream95 might want to steal some of these patches for CL.

Edited by Andreas Baierl

Merge request reports