Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • mesa mesa
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 3.2k
    • Issues 3.2k
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1k
    • Merge requests 1k
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • MesaMesa
  • mesamesa
  • Merge requests
  • !21839

intel: add mesh shading memory debugging tool

  • Review changes

  • Download
  • Patches
  • Plain diff
Open Marcin Ślusarz requested to merge mslusarz/mesa:anv-mesh-dump into main Mar 10, 2023
  • Overview 3
  • Commits 3
  • Pipelines 3
  • Changes 17

This tool allows inspection of memory coming in and out of mesh shaders.

Example:

$ INTEL_DEBUG=meshdump VK_ENABLE_PIPELINE_CACHE=0 ./crucible run -j1 func.mesh.ext.basic.mesh.q0 2>&1 | tee basic.meshdump

$ intel_mesh_dump_decode -fi basic.meshdump

output
Decoding mesh buffer
>>> 00000000 00000000 00000000 00000000 00000028 00000070 00000003 000000B8
>>>      idx        z        y        x   in_len  out_len vperprim  tot_len
Workgroup 0,0,0, workgroup idx 0
Total data length 184, output data length 112, input data length 40

>>> 00000000 33445566 00000000 60606060 00000000 00000001 00000001 00000001
>>>      pad      pad      pad      pad task_len       nz       ny       nx
Num workgroups 1,1,1
Task data length 0

>>> 64366438 31323631 33356461 37313763 36326665 39393533 3538662D 6873656D
>>> 00000000 00000000 00000000 00000000 00000030 32626536 38373931 32656230
mesh-f853599ef26c717ad5316218d6d0be219786eb20
Input:
>>> 00000000 00010100 00000000 00010001 00000000 02000500 00000000 00000003
>>>      tue    x mue   id ssb    z   y      xp0      var    thrid    indir
>>> 000F000E 000D000C 000B000A 00090008 00070006 00050004 00030002 00010000
>>> locFlocE locDlocC locBlocA loc9loc8 loc7loc6 loc5loc4 loc3loc2 loc1loc0
>>> 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
>>> CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC
>>> CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC CCCCCCCC 06400024
End of input

Primitive indices:
>>> 00001007 00001006 00001005 00001004 00001003 00050403 00020100 00000002
>>>      pad      pad      pad      pad      pad        1        0  primcnt
Primitive count: 2
prim 0: 0 1 2 
prim 1: 3 4 5 
End of primitive indices

Vertex 0
>>> 3F800000 00000000 BE800000 BE800000 0000100B 0000100A 00001009 00001008
>>>        w        z        y        x     ptsz     rsvd     rsvd      cps
Position: -0.250000 -0.250000  0.000000  1.000000

Vertex 0 attributes:
>>> 00001017 00001016 00001015 00001014 3F800000 00000000 00000000 3F800000
per_vertex[*].color.x = (1.000000,0.000000,0.000000,1.000000) [3F800000,00000000,00000000,3F800000]

Vertex 1
>>> 3F800000 00000000 BE800000 BF400000 0000101B 0000101A 00001019 00001018
>>>        w        z        y        x     ptsz     rsvd     rsvd      cps
Position: -0.750000 -0.250000  0.000000  1.000000

Vertex 1 attributes:
>>> 00001027 00001026 00001025 00001024 3F800000 00000000 3F800000 00000000
per_vertex[*].color.x = (0.000000,1.000000,0.000000,1.000000) [00000000,3F800000,00000000,3F800000]

Vertex 2
>>> 3F800000 00000000 BF400000 BF000000 0000102B 0000102A 00001029 00001028
>>>        w        z        y        x     ptsz     rsvd     rsvd      cps
Position: -0.500000 -0.750000  0.000000  1.000000

Vertex 2 attributes:
>>> 00001037 00001036 00001035 00001034 3F800000 3F800000 00000000 00000000
per_vertex[*].color.x = (0.000000,0.000000,1.000000,1.000000) [00000000,00000000,3F800000,3F800000]

Vertex 3
>>> 3F800000 00000000 3F400000 3F400000 0000103B 0000103A 00001039 00001038
>>>        w        z        y        x     ptsz     rsvd     rsvd      cps
Position:  0.750000  0.750000  0.000000  1.000000

Vertex 3 attributes:
>>> 00001047 00001046 00001045 00001044 3F800000 3F800000 3F800000 00000000
per_vertex[*].color.x = (0.000000,1.000000,1.000000,1.000000) [00000000,3F800000,3F800000,3F800000]

Vertex 4
>>> 3F800000 00000000 3F400000 3E800000 0000104B 0000104A 00001049 00001048
>>>        w        z        y        x     ptsz     rsvd     rsvd      cps
Position:  0.250000  0.750000  0.000000  1.000000

Vertex 4 attributes:
>>> 00001057 00001056 00001055 00001054 3F800000 3F800000 00000000 3F800000
per_vertex[*].color.x = (1.000000,0.000000,1.000000,1.000000) [3F800000,00000000,3F800000,3F800000]

Vertex 5
>>> 3F800000 00000000 3E800000 3F000000 0000105B 0000105A 00001059 00001058
>>>        w        z        y        x     ptsz     rsvd     rsvd      cps
Position:  0.500000  0.250000  0.000000  1.000000

Vertex 5 attributes:
>>> 00001067 00001066 00001065 00001064 3F800000 00000000 3F800000 3F800000
per_vertex[*].color.x = (1.000000,1.000000,0.000000,1.000000) [3F800000,3F800000,00000000,3F800000]

Full primitive, Position: -0.250000 -0.250000  0.000000  1.000000, per_vertex[*].color.x = (1.000000,0.000000,0.000000,1.000000) [3F800000,00000000,00000000,3F800000], Position: -0.750000 -0.250000  0.000000  1.000000, per_vertex[*].color.x = (0.000000,1.000000,0.000000,1.000000) [00000000,3F800000,00000000,3F800000], Position: -0.500000 -0.750000  0.000000  1.000000, per_vertex[*].color.x = (0.000000,0.000000,1.000000,1.000000) [00000000,00000000,3F800000,3F800000], 
Full primitive, Position:  0.750000  0.750000  0.000000  1.000000, per_vertex[*].color.x = (0.000000,1.000000,1.000000,1.000000) [00000000,3F800000,3F800000,3F800000], Position:  0.250000  0.750000  0.000000  1.000000, per_vertex[*].color.x = (1.000000,0.000000,1.000000,1.000000) [3F800000,00000000,3F800000,3F800000], Position:  0.500000  0.250000  0.000000  1.000000, per_vertex[*].color.x = (1.000000,1.000000,0.000000,1.000000) [3F800000,3F800000,00000000,3F800000], 
Edited Mar 21, 2023 by Marcin Ślusarz
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: anv-mesh-dump