Skip to main content
관박.1
Associate
October 8, 2024
Solved

touchgfx compression tearing

  • October 8, 2024
  • 3 replies
  • 1742 views

I'm using TouchGFX version 4.24.1 with external flash memory mapping at address 0x90000000.

When using the original image, there are no issues. However, when using the compressed RGB565 function, a tearing effect appears on the LCD screen. If I disable 'SCB_EnableDCache()', the issue is resolved.

Therefore, I believe that 'TouchGFXGeneratedHal::InvalidateCache()' is not properly invalidating the decompression buffer

  1. Is there a solution for this?
  2. If I disable 'SCB_EnableDCache()', will it have a significant impact on display performance?"

 

 

Best answer by MTana.1

I had the similar situation.

I found the text flicker and below is countermeasure. It's just for your reference.

 

TouchGFXHAL.cpp

MTana1_1-1729680558599.png

 

3 replies

ST Employee
October 9, 2024

Hello @관박.1 ,

You mean a corrupt image ? Do you have a screenshot of the result you have with compression and SCB_EnableDCache ?

And also, what's the image format and the framebuffer format in the configuration ?


BR,

관박.1
관박.1Author
Associate
October 9, 2024

Thank you, LouisB

 

I capture a portion of the screen.

1_0-1728515554785.png

1_1-1728515975388.png

image format : rgb565

framebuffer format : rgb565

 

ST Employee
October 10, 2024

And what do you have in the default image configuration ? Try to put non opaque format to RGB565

ST Employee
October 18, 2024

Hello @관박.1 ,

For now we didn't encounter this kind of issue with the cache, I'll talk we with the team to look for that.
"SCB_EnableDCache" seems to have side effects, like corrupting data in some cases, a workaround can be disable it so you can do your project.

BR,

MTana.1
MTana.1Best answer
Associate II
October 23, 2024

I had the similar situation.

I found the text flicker and below is countermeasure. It's just for your reference.

 

TouchGFXHAL.cpp

MTana1_1-1729680558599.png