panfrost/midgard: Decode GLES3 texture op

Submitted by Alyssa Rosenzweig on June 10, 2019, 10:01 p.m.

Details

Reviewer None
Submitted June 10, 2019, 10:01 p.m.
Last Updated June 10, 2019, 10:02 p.m.
Revision 1

Cover Letter(s)

Revision 1
      We decode most of the GLES3 texture ops here, prompted by the need to
support textureLod on GLES2 and also because texture ops are massive but
this tames them *considerably*. Except for the last patch, that's some
weird end-of-day stuff.

Alyssa Rosenzweig (18):
  panfrost/midgard: Expand texture to 4-channel swizzle
  panfrost/midgard: Print texture offsets
  panfrost/midgard: Add perspective division opcode
  panfrost/midgard/disasm: Varying perspective divides
  panfrost/midgard/disasm: Use texture op name bare
  panfrost/midgard/disasm: LOD immediate/register select
  panfrost/midgard/disasm: Add missing space
  panfrost/midgard: Add divide-by-z ld/st op
  panfrost/midgard: Add varying divide-by-z mode
  panfrost/midgard/disasm: Cleanup texture op code
  panfrost/midgard/disasm: Correctly dump bias/LOD
  panfrost/midgard: Identify the in_reg_full field
  panfrost/midgard/disasm: Print LOD for texelFetch
  panfrost/midgard: Fix redunant mask redundancy
  panfrost/midgard: Support negative immediate offsets
  panfrost/midgard: Eliminate redundant hexdump
  panfrost/midgard/disasm: include textureGather()
  panfrost/midgard: Decode texture offset register swizzle

 .../drivers/panfrost/midgard/disassemble.c    | 201 ++++++++++++------
 .../drivers/panfrost/midgard/midgard.h        |  83 +++++---
 .../panfrost/midgard/midgard_compile.c        |  20 +-
 .../drivers/panfrost/midgard/midgard_ops.c    |   2 +
 4 files changed, 194 insertions(+), 112 deletions(-)
    

Revisions

Patches download mbox

# Name Submitter State A F R T
[01/18] panfrost/midgard: Expand texture to 4-channel swizzle Alyssa Rosenzweig Accepted
[02/18] panfrost/midgard: Print texture offsets Alyssa Rosenzweig New
[03/18] panfrost/midgard: Add perspective division opcode Alyssa Rosenzweig New
[04/18] panfrost/midgard/disasm: Varying perspective divides Alyssa Rosenzweig New
[05/18] panfrost/midgard/disasm: Use texture op name bare Alyssa Rosenzweig New
[06/18] panfrost/midgard/disasm: LOD immediate/register select Alyssa Rosenzweig Accepted
[07/18] panfrost/midgard/disasm: Add missing space Alyssa Rosenzweig Accepted
[08/18] panfrost/midgard: Add divide-by-z ld/st op Alyssa Rosenzweig New
[09/18] panfrost/midgard: Add varying divide-by-z mode Alyssa Rosenzweig New
[10/18] panfrost/midgard/disasm: Cleanup texture op code Alyssa Rosenzweig Accepted
[11/18] panfrost/midgard/disasm: Correctly dump bias/LOD Alyssa Rosenzweig New
[12/18] panfrost/midgard: Identify the in_reg_full field Alyssa Rosenzweig Accepted
[13/18] panfrost/midgard/disasm: Print LOD for texelFetch Alyssa Rosenzweig Accepted
[14/18] panfrost/midgard: Fix redunant mask redundancy Alyssa Rosenzweig Accepted
[15/18] panfrost/midgard: Support negative immediate offsets Alyssa Rosenzweig Accepted
[16/18] panfrost/midgard: Eliminate redundant hexdump Alyssa Rosenzweig New
[17/18] panfrost/midgard/disasm: include textureGather() Alyssa Rosenzweig New
[18/18] panfrost/midgard: Decode texture offset register swizzle Alyssa Rosenzweig Accepted