Skip to content
  • Iago Toral's avatar
    v3d: request the kernel to flush caches when TMU is dirty · db874392
    Iago Toral authored and José María Casanova Crespo's avatar José María Casanova Crespo committed
    
    
    This adapts the v3d driver to the new CL submit ioctl interface that
    allows the driver to request a flush of the caches after the render
    job has completed. This seems to eliminate the kernel write violation
    errors reported during CTS and Piglit excutions, fixing some CTS tests
    and GPU resets along the way.
    
    v2:
      - Adapt to changes in the kernel side.
      - Disable shader storage and shader images if the kernel doesn't
        implement cache flushing.
    
    Fixes CTS tests:
    KHR-GLES31.core.shader_image_size.basic-nonMS-fs-float
    KHR-GLES31.core.shader_image_size.basic-nonMS-fs-int
    KHR-GLES31.core.shader_image_size.basic-nonMS-fs-uint
    KHR-GLES31.core.shader_image_size.advanced-nonMS-fs-float
    KHR-GLES31.core.shader_image_size.advanced-nonMS-fs-int
    KHR-GLES31.core.shader_image_size.advanced-nonMS-fs-uint
    KHR-GLES31.core.shader_atomic_counters.advanced-usage-many-draw-calls2
    KHR-GLES31.core.shader_atomic_counters.advanced-usage-draw-update-draw
    KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-int
    KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-std140-matR
    KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-std140-struct
    KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-std430-matC-pad
    KHR-GLES31.core.shader_storage_buffer_object.advanced-unsizedArrayLength-fs-std430-vec
    
    Reviewed-by: default avatarEric Anholt <eric@anholt.net>
    db874392