This change set implements support for disassembly 8-bit arithmetic in Midgard, as exposed via the (u)char OpenCL types. This is far from complete, but it does a decent job for some more basic 8-bit-using shaders.
This is a prerequisite to a decent implementation of programmatic blending, since the blend pipeline is required to pack the pixel format itself. For RGBA8, this means some 8-bit arithmetic in the blend shader. Alyssa Rosenzweig (10): panfrost/midgard: reg_mode_full -> reg_mode_32, etc panfrost/midgard/disasm: Catch mask errors panfrost/midgard/disasm: Extend print_reg to 8-bit panfrost/midgard/disasm: Fill in .int mod panfrost/midgard: Fix crash on unknown op panfrost/midgard: Rename ilzcnt8 -> iclz panfrost/midgard/disasm: Support 8-bit destination panfrost/midgard/disasm: Print 8-bit sources panfrost/midgard/disasm: Stub out 64-bit panfrost/midgard/disasm: Handle dest_override generalized .../drivers/panfrost/midgard/disassemble.c | 215 +++++++++++++----- .../drivers/panfrost/midgard/helpers.h | 10 +- .../drivers/panfrost/midgard/midgard.h | 10 +- .../panfrost/midgard/midgard_compile.c | 18 +- 4 files changed, 183 insertions(+), 70 deletions(-) -- 2.20.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev