v3d: Add a separate flag for CLIF ABI output versus human-readable CLs. A few of the upcoming changes would make the V3D_DEBUG=cl output less readable, so let's make proper CLIF file production be under a separate V3D_DEBUG=clif flag.
v3d: Stop doing pretty-printed colorful booleans in CLIF output. The parser wants to see a 1 or 0. We can put "true" and "false" in a comment to clarify that it's a boolean and the parser will skip it.
v3d: Move clif dump BO lookup into the clif dumper. The clif dumper is going to need information about all of our BOs if we're going to dump them for replay purposes.
v3d: Pass the whole clif_dump structure to v3d_print_group(). To generate CLIF files that the v3dv3 simulator can parse, we're going to need to decode addresses, and for that we'll need the vaddr lookup function from the clif structure from within v3d_decoder.
broadcom/vc4: Use the XML decoder for CL dumping. The VC4_DEBUG_CL output goes from: 0x00000010 0x00000010: 0x06 VC4_PACKET_START_TILE_BINNING 0x00000011 0x00000011: 0x38 VC4_PACKET_PRIMITIVE_LIST_FORMAT 0x00000012 0x00000012: 0x12 0x00000013 0x00000013: 0x66 VC4_PACKET_CLIP_WINDOW 0x00000014 0x00000014: 0x00 0x00000015 0x00000015: 0x00 0x00000016 0x00000016: 0x00 0x00000017 0x00000017: 0x00 0x00000018 0x00000018: 0xfa 0x00000019 0x00000019: 0x00 0x0000001a 0x0000001a: 0xfa 0x0000001b 0x0000001b: 0x00 to: 0x00000010 0x00000010: 0x06 Start Tile Binning 0x00000011 0x00000011: 0x38 Primitive List Format Data Type: 1 (16-bit index) Primitive Type: 2 (Triangles List) 0x00000013 0x00000013: 0x66 Clip Window Clip Window Height in pixels: 250 Clip Window Width in pixels: 250 Clip Window Bottom Pixel Coordinate: 0 Clip Window Left Pixel Coordinate: 0 v2: Squash in robher's fixes for Android
Android: Fix vc4 build since XML changes. Since commit 7f80a9ff1312 ("vc4: Introduce XML-based packet header generation like Intel's."), the vc4 build on Android is broken: out/target/product/linaro_x86_64/gen/STATIC_LIBRARIES/libmesa_broadcom_genxml_intermediates/broadcom/cle/v3d_packet_v21_pack.h:12:10: fatal error: 'v3d_packet_helpers.h' file not found external/mesa3d/src/gallium/drivers/vc4/vc4_cl_dump.c:28:10: fatal error: 'vc4_packet.h' file not found The path of the generated header needs to be fixed since we build out of tree. Acked-by: Eric Anholt <eric@anholt.net> Signed-off-by: Rob Herring <robh@kernel.org>
vc4: Start using XML unpack functions in CL dump. For now this is a no-op on the output, but it makes it clear that we've had weird things going on with things like V3D21_CLIPPER_Z_SCALE_AND_OFFSET.
vc4: Add CL dumping for GL_ARRAY_PRIMITIVE.
vc4: Add dumping of VC4_PACKET_GL_INDEXED_PRIMITIVE.
vc4: Also dump the decimation mode for resolved stores.
vc4: Use VC4_GET_FIELD and other defines in dumping VC4_RENDER_CONFIG.
vc4: Avoid overflowing various static tables.
vc4: Fix bus errors on dumping CL on hardware. The kernel can't fixup unaligned float traps for us, so deref as a uint32_t first.
vc4: Also dump VC4_PACKET_LOAD_TILE_BUFFER_GENERAL.
vc4: Add dumping for VC4_PACKET_LOAD/STORE_FULL_RES_TILE_BUFFER.
vc4: Reuse (and extend) the packet.h sizes for dumping.
vc4: Add dumping of VC4_PACKET_TILE_BINNING_MODE_CONFIG.
vc4: Add some dumping for STORE_TILE_BUFFER_GENERAL.
vc4: Add dumping for the TILE_RENDERING_MODE_CONFIG packet. I wanted to read it, so I wrote parsing.
vc4: Add a little bit more packet parsing to make dump reading easier. Probably should have done this *before* staring at all those render lists today.