summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* panfrost: Pass stream_output_info by referenceAlyssa Rosenzweig2019-08-211-7/+7
| | | | | | It's a large structure, apparently. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Guard against NULL rasterizer explicitlyAlyssa Rosenzweig2019-08-211-1/+3
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/bifrost: Correct file size signednessAlyssa Rosenzweig2019-08-211-2/+2
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Fix missing ret assignment in DRM codeAlyssa Rosenzweig2019-08-211-1/+1
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Hoist bo != NULL check before dereferenceAlyssa Rosenzweig2019-08-211-3/+3
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Hoist job != NULL checkAlyssa Rosenzweig2019-08-211-3/+1
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Prevent potential integer overflow in instancingAlyssa Rosenzweig2019-08-211-1/+1
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Clarify intention with PIPE_SWIZZLE_X checkAlyssa Rosenzweig2019-08-211-1/+2
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Pay attention to framebuffer dimension signAlyssa Rosenzweig2019-08-211-9/+2
| | | | | | These are unsigned so the clamp-positive is redundant. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Mark fallthrough explicitlyAlyssa Rosenzweig2019-08-211-0/+1
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Don't check reads_point_coordAlyssa Rosenzweig2019-08-211-1/+1
| | | | | | Useless check. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Simplify contradictory check.Alyssa Rosenzweig2019-08-211-4/+1
| | | | | | Coverity. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Reorder bits check to fix 8-bit masksAlyssa Rosenzweig2019-08-211-5/+5
| | | | | | Coverity. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Represent unused nodes by ~0Alyssa Rosenzweig2019-08-2111-58/+56
| | | | | | | This allows nodes to be unsigned and prevents a class of weird signedness bugs identified by Coverity. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/bifrost: Avoid buffer overflow in disassemblerAlyssa Rosenzweig2019-08-211-1/+4
| | | | | | | This path shouldn't be possible for in-spec shaders, but let's be defensive. (Because security, right? Mostly because Coverity.) Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Remove all_zeroAlyssa Rosenzweig2019-08-211-13/+7
| | | | | | The checks confuse Coverity, so let's make it explicit what's going on. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Don't leak FBD pointerAlyssa Rosenzweig2019-08-211-3/+5
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Allocate `dependencies` on stackAlyssa Rosenzweig2019-08-211-1/+4
| | | | | | It's small; this way we don't leak memory. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/midgard: Free liveness infoAlyssa Rosenzweig2019-08-211-0/+2
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* v3d: Use the correct opcodes for signed image min/maxJason Ekstrand2019-08-211-0/+2
| | | | Reviewed-by: Eric Anholt <[email protected]>
* intel/nir: Add a helper for getting BRW_AOP from an intrinsicJason Ekstrand2019-08-214-170/+78
| | | | | | So many duplicated switch statements.... Reviewed-by: Kenneth Graunke <[email protected]>
* nir: Add explicit signs to image min/max intrinsicsJason Ekstrand2019-08-2125-117/+236
| | | | | | | | | | | This better matches all the other atomic intrinsics such as those for SSBOs and shared variables where the sign is part of the intrinsic opcode. Both generators (GLSL and SPIR-V) know the sign from the type of the image variable or handle. In SPIR-V, signed min/max are separate opcodes from unsigned. Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* pan/decode: Cleanup mali_attr printingAlyssa Rosenzweig2019-08-211-20/+44
| | | | | | | | We can smush this into one-line per record as per usual. We still need more validation and cleaning this up, especially around instancing. But for LINEAR records, it works okay already. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Validate attribute/varying buffer pointerAlyssa Rosenzweig2019-08-211-0/+3
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Include address in union mali_attrAlyssa Rosenzweig2019-08-211-19/+7
| | | | | | No need to break it out into extra lines. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Use concise texture printingAlyssa Rosenzweig2019-08-211-33/+35
| | | | | | | | This consolidates texture format and dimensionality into something simple: tiled rgba8_unorm.rgb1: 512x512 Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Break up usage2 fieldAlyssa Rosenzweig2019-08-213-28/+42
| | | | | | This is another bit field describing layout. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Pretty-print sRGB formatAlyssa Rosenzweig2019-08-211-4/+11
| | | | | | We can just stick an "s" in if it's sRGB. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Remove ancient TODOAlyssa Rosenzweig2019-08-211-2/+0
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: nr_mipmap_levels -> levelsAlyssa Rosenzweig2019-08-213-5/+6
| | | | | | No need to be so verbose. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Validate texture dimensionalityAlyssa Rosenzweig2019-08-211-6/+33
| | | | | | | | Textures of a smaller dimension don't need higher dimensions printed. This allows us to be more compact, while enforcing verification that higher dimensions must be zero. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Break out pandecode_texture functionAlyssa Rosenzweig2019-08-211-101/+108
| | | | | | | It's massive and hugely nested indentation -- break it out so it's legible. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Guard texture unknowns as zero tripsAlyssa Rosenzweig2019-08-211-9/+13
| | | | | | | | unknown3A I think I've actually seen on T6xx but.. we'll see what happens in traces going forward. We don't want the zero noise normally, and if they show up in the wild, we want to draw attention to them. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Use GLSL style formats/swizzlesAlyssa Rosenzweig2019-08-212-121/+132
| | | | | | | | | | | | | | | | | | This dramatically reduces visual clutter: now an entire attribute/varying record looks something like: rgba32f attribute_0[16].bgra; which is equivalent to the raw structure: { .index = 0, .format = MALI_FORMAT_RGBA32F, .swizzle = (MALI_CHANNEL_BLUE << 9) | ...., .src_offset = 16, } Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Don't print the default swizzleAlyssa Rosenzweig2019-08-211-2/+11
| | | | | | It's just noise. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Validate swizzles against formatAlyssa Rosenzweig2019-08-211-1/+76
| | | | | | | We want to make sure we don't access a component in the swizzle that doesn't exist in the format, since that is (as far as I know) undefined. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Treat RESERVED swizzles as errorsAlyssa Rosenzweig2019-08-211-2/+0
| | | | | | | We've never seen them, so if they come up in trace, we want to draw attention to that. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Handle VARYING_DISCARDAlyssa Rosenzweig2019-08-211-0/+32
| | | | | | | | | | | Varying discard is not used by Panfrost, but the blob uses it sometimes to have some padding in the varyings table, probably to minimize per-draw overhead. (...We should maybe consider this ourselves!) Let's check for this and ensure the rest of the record is consistent with a discarded varying. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Don't trip the prefix magic fieldAlyssa Rosenzweig2019-08-211-4/+2
| | | | | | What *is* this? Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Guard attribute unknownsAlyssa Rosenzweig2019-08-211-2/+10
| | | | | | | One should be zero. The other has always been seen as set, so check this. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Don't crash on GL_CLAMPAlyssa Rosenzweig2019-08-211-0/+2
| | | | | | | It's a legacy GL thing... we don't really need to handle it *right* now, but we shouldn't crash.. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Do not expose PIPE_CAP_TEXTURE_MIRROR_CLAMPAlyssa Rosenzweig2019-08-211-1/+0
| | | | | | | This CAP controls a desktop-only extension. If the corresponding support exists in the hardware, we don't know how to use it. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Fix scoreboarding with dependency on job #0Alyssa Rosenzweig2019-08-211-4/+6
| | | | | | | Subtle issue masked by how we emitted SET_VALUE jobs, but this case can and does occur, so let's fix it. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Normalize final instances of XXXAlyssa Rosenzweig2019-08-211-3/+11
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Normalize case matching XXX formatAlyssa Rosenzweig2019-08-211-9/+16
| | | | Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Mark tripped zeroes with XXXAlyssa Rosenzweig2019-08-211-20/+22
| | | | | | | | | This normalizes the printed format. It also makes it easier for the future when we may introduce semantic _warn and _error handlers. A tripped zero is essentially a hazard to check for. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Check for MFBD preload chicken bitAlyssa Rosenzweig2019-08-211-1/+10
| | | | | | | | | | | If this bit is clear, MFBD preload will be enabled, and you.. don't want that. (At least, when the bit is clear, the old contents of the framebuffer will be preserved. I'm assuming this is what "MFBD preload" refers to in kbase.) Validate that this bit is always set. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Validate AFBC fields are zero when AFBC is disabledAlyssa Rosenzweig2019-08-212-33/+20
| | | | | | | | | There is no "chunknown" structure; that part of the union is an artefact from falsely believing vertex/tiler MFBDs could have render targets attached (they can't). These are just plain old AFBC fields, and if there is no AFBC, it's error to set these field. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Do not print uniform/buffers explicitlyAlyssa Rosenzweig2019-08-211-87/+28
| | | | | | | | | | | For our purposes of driver debugging, the contents of uniform buffers are rarely interesting; we're more concerned about the metadata setting them up. We do need to be careful to validate the sizes of both uniforms and uniform buffers. Signed-off-by: Alyssa Rosenzweig <[email protected]>
* pan/decode: Add static bounds checking utilityAlyssa Rosenzweig2019-08-211-0/+38
| | | | | | | | | Many structures in the command stream have a GPU address and size determined statically. We should check that the pointers we are passed are valid and the buffers they point to are big enough for the given size. If they're not, an MMU fault would be raised. Signed-off-by: Alyssa Rosenzweig <[email protected]>