mesa issueshttps://gitlab.freedesktop.org/panfrost/mesa/-/issues2019-01-06T06:52:09Zhttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/8Winsys capable of nested Panfrost instances2019-01-06T06:52:09ZAlyssa RosenzweigWinsys capable of nested Panfrost instancesDepends on #7Depends on #7Wayland compositor dogfoodinghttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/7Merge tomeu's winsys2019-01-06T06:51:54ZAlyssa RosenzweigMerge tomeu's winsysWayland compositor dogfoodinghttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/6Overhaul memory management2019-01-18T03:00:05ZAlyssa RosenzweigOverhaul memory managementOur current system gets us wacked by the OOM veeery quickly. This is high-priority for any actual use. Switch to one of the more sophisticated memory tracking systems; there are several in Gallium for us to choose from :)
See logs in `#...Our current system gets us wacked by the OOM veeery quickly. This is high-priority for any actual use. Switch to one of the more sophisticated memory tracking systems; there are several in Gallium for us to choose from :)
See logs in `#dri-devel` for informationWayland compositor dogfoodingAlyssa RosenzweigAlyssa Rosenzweighttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/20add ceu_emit to clang-format foreach macro list2023-10-31T09:29:32ZAlyssa Rosenzweigadd ceu_emit to clang-format foreach macro listhttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/19dEQP GLES 3 failures on v102023-10-10T14:20:17ZErik Faye-Lundkusmabite@gmail.comdEQP GLES 3 failures on v10Here's a list of the failures I'm seeing on the current dEQP on main:
- KHR-GLES3.packed_pixels.rectangle.r8_snorm
- KHR-GLES3.packed_pixels.rectangle.rg8_snorm
- KHR-GLES3.packed_pixels.rectangle.rgba8_snorm
- KHR-GLES3.packed_pixels.p...Here's a list of the failures I'm seeing on the current dEQP on main:
- KHR-GLES3.packed_pixels.rectangle.r8_snorm
- KHR-GLES3.packed_pixels.rectangle.rg8_snorm
- KHR-GLES3.packed_pixels.rectangle.rgba8_snorm
- KHR-GLES3.packed_pixels.pbo_rectangle.r8_snorm
- KHR-GLES3.packed_pixels.pbo_rectangle.rg8_snorm
- KHR-GLES3.packed_pixels.pbo_rectangle.rgba8_snorm
- KHR-GLES3.packed_pixels.varied_rectangle.r8_snorm
- KHR-GLES3.packed_pixels.varied_rectangle.rg8_snorm
- KHR-GLES3.packed_pixels.varied_rectangle.rgba8_snorm
- KHR-GLES3.copy_tex_image_conversions.required.texture2d_texture2d
- KHR-GLES3.copy_tex_image_conversions.required.texture2d_cubemap_negx
- KHR-GLES3.copy_tex_image_conversions.required.texture2d_cubemap_negy
- KHR-GLES3.copy_tex_image_conversions.required.texture2d_cubemap_negz
- KHR-GLES3.copy_tex_image_conversions.required.texture2d_cubemap_posx
- KHR-GLES3.copy_tex_image_conversions.required.texture2d_cubemap_posy
- KHR-GLES3.copy_tex_image_conversions.required.texture2d_cubemap_posz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negx_texture2d
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negx_cubemap_negx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negx_cubemap_negy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negx_cubemap_negz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negx_cubemap_posx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negx_cubemap_posy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negx_cubemap_posz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negy_texture2d
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negy_cubemap_negx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negy_cubemap_negy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negy_cubemap_negz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negy_cubemap_posx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negy_cubemap_posy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negy_cubemap_posz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negz_texture2d
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negz_cubemap_negx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negz_cubemap_negy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negz_cubemap_negz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negz_cubemap_posx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negz_cubemap_posy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_negz_cubemap_posz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posx_texture2d
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posx_cubemap_negx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posx_cubemap_negy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posx_cubemap_negz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posx_cubemap_posx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posx_cubemap_posy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posx_cubemap_posz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posy_texture2d
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posy_cubemap_negx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posy_cubemap_negy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posy_cubemap_negz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posy_cubemap_posx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posy_cubemap_posy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posy_cubemap_posz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posz_texture2d
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posz_cubemap_negx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posz_cubemap_negy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posz_cubemap_negz
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posz_cubemap_posx
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posz_cubemap_posy
- KHR-GLES3.copy_tex_image_conversions.required.cubemap_posz_cubemap_posz
- KHR-GLES3.copy_tex_image_conversions.required.texture_array_texture2d
- KHR-GLES3.copy_tex_image_conversions.required.texture_array_cubemap_negx
- KHR-GLES3.copy_tex_image_conversions.required.texture_array_cubemap_negy
- KHR-GLES3.copy_tex_image_conversions.required.texture_array_cubemap_negz
- KHR-GLES3.copy_tex_image_conversions.required.texture_array_cubemap_posx
- KHR-GLES3.copy_tex_image_conversions.required.texture_array_cubemap_posy
- KHR-GLES3.copy_tex_image_conversions.required.texture_array_cubemap_posz
- KHR-GLES3.copy_tex_image_conversions.required.texture3d_texture2d
- KHR-GLES3.copy_tex_image_conversions.required.texture3d_cubemap_negx
- KHR-GLES3.copy_tex_image_conversions.required.texture3d_cubemap_negy
- KHR-GLES3.copy_tex_image_conversions.required.texture3d_cubemap_negz
- KHR-GLES3.copy_tex_image_conversions.required.texture3d_cubemap_posx
- KHR-GLES3.copy_tex_image_conversions.required.texture3d_cubemap_posy
- KHR-GLES3.copy_tex_image_conversions.required.texture3d_cubemap_posz
- KHR-GLES3.copy_tex_image_conversions.required.renderbuffer_texture2d
- KHR-GLES3.copy_tex_image_conversions.required.renderbuffer_cubemap_negx
- KHR-GLES3.copy_tex_image_conversions.required.renderbuffer_cubemap_negy
- KHR-GLES3.copy_tex_image_conversions.required.renderbuffer_cubemap_negz
- KHR-GLES3.copy_tex_image_conversions.required.renderbuffer_cubemap_posx
- KHR-GLES3.copy_tex_image_conversions.required.renderbuffer_cubemap_posy
- KHR-GLES3.copy_tex_image_conversions.required.renderbuffer_cubemap_posz
- KHR-GLES3.number_parsing.unsigned_integer_above_signed_range_decimal
- KHR-GLES3.number_parsing.unsigned_integer_above_signed_range_base8
- KHR-GLES3.number_parsing.unsigned_integer_above_signed_range_base16
- KHR-GLES3.number_parsing.unsigned_integer_smallest_value_above_signed_range_decimal
- KHR-GLES3.number_parsing.unsigned_integer_smallest_value_above_signed_range_base8
- KHR-GLES3.number_parsing.unsigned_integer_smallest_value_above_signed_range_base16
- KHR-GLES3.number_parsing.unsigned_integer_max_value_decimal
- KHR-GLES3.number_parsing.unsigned_integer_max_value_base8
- KHR-GLES3.number_parsing.unsigned_integer_max_value_base16
- KHR-GLES3.number_parsing.unsigned_integer_negative_value_as_uint
- KHR-GLES3.number_parsing.float_out_of_range_as_infinity
- KHR-GLES3.number_parsing.float_out_of_range_as_zero
- KHR-GLES3.number_parsing.float_no_limit_on_number_of_digits_positive_exponent
- KHR-GLES3.number_parsing.float_no_limit_on_number_of_digits_negative_exponent
- KHR-GLES3.number_parsing.float_slightly_out_of_range_exponent_as_positive_infinity
- KHR-GLES3.number_parsing.float_overflow_to_positive_infinity
- KHR-GLES3.number_parsing.float_overflow_to_negative_infinity
The failing `KHR-GLES3.*pixels.rectangle.r*` tests seems to be because Mesa is allowing some formats that are supposed to be illegal. I think I saw some upstream MR lately that changed something around that, and might be resolved by either using an older CTS, or rebasing on a newer Mesa version.
edit: I believe mesa/mesa!24600 is the "culprit" here; I should either use an older CTS or a Mesa version that includes those changes ;)
The failing `KHR-GLES3.copy_tex_image_conversions.required.*`-tests seems to cause page faults, as is visible from `dmesg`:
```
[16893.835622] panthor fb000000.gpu: [drm] *ERROR* Unhandled Page fault in AS3 at VA 0x0000000000000000
raw fault status: 0x50003C1
decoded fault status: SLAVE FAULT
exception type 0xC1: TRANSLATION_FAULT_1
access type 0x3: WRITE
source id 0x500
[16893.838217] panthor fb000000.gpu: [drm] *ERROR* Unhandled Page fault in AS3 at VA 0x0000000000000000
raw fault status: 0x50003C1
decoded fault status: SLAVE FAULT
exception type 0xC1: TRANSLATION_FAULT_1
access type 0x3: WRITE
source id 0x500
[16893.840779] panthor fb000000.gpu: [drm] CSG slot 2 CS slot: 0
CS_FAULT.EXCEPTION_TYPE: 0x48 (CS_BUS_FAULT)
CS_FAULT.EXCEPTION_DATA: 0x8
CS_FAULT_INFO.EXCEPTION_DATA: 0x0
[16893.842667] panthor fb000000.gpu: [drm] CSG slot 2 CS slot: 0
CS_FATAL.EXCEPTION_TYPE: 0x48 (CS_BUS_FAULT)
CS_FATAL.EXCEPTION_DATA: 0x101
CS_FATAL_INFO.EXCEPTION_DATA: 0x800000001740
```
Most of the `KHR-GLES3.number_parsing.*` tests run immediately after the faulting tests, and pass if I run them separately.
So it seems we're pretty close to GLES 3 conformance on V10, but we really need to figure out that fault.https://gitlab.freedesktop.org/panfrost/mesa/-/issues/18RFC: make this repo a fork of mesa/mesa2023-06-21T13:27:20ZErik Faye-Lundkusmabite@gmail.comRFC: make this repo a fork of mesa/mesaI believe the only reason why this repo isn't already a fork of [mesa/mesa](https://gitlab.freedesktop.org/mesa/mesa/) is that this repo was created *before* mesa/mesa/ was moved to GitLab.
While the GitLab UI [doesn't allow](https://gi...I believe the only reason why this repo isn't already a fork of [mesa/mesa](https://gitlab.freedesktop.org/mesa/mesa/) is that this repo was created *before* mesa/mesa/ was moved to GitLab.
While the GitLab UI [doesn't allow](https://gitlab.com/gitlab-org/gitlab/-/issues/19111) modifying the fork-relationship of projects, [the API does](https://docs.gitlab.com/ee/api/projects.html#fork-relationship). I believe I can create such a relationship, by issuing this command:
```sh
curl --request POST --header "PRIVATE-TOKEN: <access-token>" "https://gitlab.freedesktop.org/api/v4/projects/10/fork/176"
```
...obviously with a real access token instead of `<access-token>` in there, but I'm not going to share that here. `10` is the ID of this project, and `176` is the ID of mesa/mesa.
Doing this would allow people to send merge requests here without needing an extra fork of this repo under their users, which seems like a good thing. We're about to start up some work at Collabora that is expected to take a while to land, where multiple people need to submit MRs, and this seems like the best home for that.
The only potential problem I could see is if messing with the fork relationship here somehow messes with pre-existing forks of this repo. I have no real indication that it does, just a (potentially imaginary) worry that it does ;)
So... thoughts?https://gitlab.freedesktop.org/panfrost/mesa/-/issues/17Vulkan not working in Mali-G6102023-10-31T09:34:46ZSaikat SahaVulkan not working in Mali-G610I build & install vulkan driver in android proot-linux from `panvk` repo but unable to use.. i am getting error like this..
```
ERROR: [Loader Message] Code 0 : setup_loader_term_phys_dev_groups: Failed to find GPU 0 in group 0 returne...I build & install vulkan driver in android proot-linux from `panvk` repo but unable to use.. i am getting error like this..
```
ERROR: [Loader Message] Code 0 : setup_loader_term_phys_dev_groups: Failed to find GPU 0 in group 0 returned by 'EnumeratePhysicalDeviceGroups' in list returned by 'EnumeratePhysicalDevices'
ERROR: [Loader Message] Code 0 : setupLoaderTrampPhysDevGroups: Failed during dispatch call of 'EnumeratePhysicalDeviceGroupsKHR' to lower layers or loader to get count.
../src/panfrost/vulkan/pan_device.c:200: FINISHME: unimplemented!
ERROR at ./vulkaninfo/vulkaninfo.h:230:vkEnumeratePhysicalDeviceGroupsKHR failed with ERROR_INITIALIZATION_FAILED
vulkaninfo: ./vulkaninfo/outputprinter.h:210: Printer::~Printer(): Assertion `!object_stack.empty() && "mismatched number of ObjectStart/ObjectEnd or ArrayStart/ArrayEnd's"' failed.
Aborted
```
I hope it can be solve.. because Mali panfrost Gallium Driver working fine in android proot-linux after some patchas applied from `panfork CSF branch`
Icecream95 helped me alot..
Thank you advancedhttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/16Squash more memory leaks2020-08-18T17:02:11ZAlyssa RosenzweigSquash more memory leaksSince the memory overhaul, we're doing much better, but we're still leaking noticably, unfortunately.Since the memory overhaul, we're doing much better, but we're still leaking noticably, unfortunately.Alyssa RosenzweigAlyssa Rosenzweighttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/15Implement gl_PointSize (in Midgard)2019-01-26T00:35:46ZAlyssa RosenzweigImplement gl_PointSize (in Midgard)https://gitlab.freedesktop.org/panfrost/mesa/-/issues/14Constant output not moved into r26 for fragment shader, causing black triangl...2019-01-20T04:36:14ZAlyssa RosenzweigConstant output not moved into r26 for fragment shader, causing black triangles instead of desired colourRegresses various.Regresses various.Alyssa RosenzweigAlyssa Rosenzweighttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/13No st_vary instruction emitted when value of varying is constant2019-01-20T02:22:00ZAlyssa RosenzweigNo st_vary instruction emitted when value of varying is constantBreaks floor color in `-bshadow`, regressed when varying hoisting optimizations were implemented.Breaks floor color in `-bshadow`, regressed when varying hoisting optimizations were implemented.Alyssa RosenzweigAlyssa Rosenzweighttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/12support for t6282020-08-18T17:02:06Zrtpsupport for t628Given the recent news about winsys, wanted to try panfrost on my peach pit laptop (exynos5420/mali t628). I'm running Debian Sid.
I've used a patched version of mali kbase r16p0-00rel0 (source from Debian with modifications to make it w...Given the recent news about winsys, wanted to try panfrost on my peach pit laptop (exynos5420/mali t628). I'm running Debian Sid.
I've used a patched version of mali kbase r16p0-00rel0 (source from Debian with modifications to make it work on 4.18) and the binary driver seems happy with it. I had also to patch libdrm with patches from http://archive.lwn.net:8080/dri-devel/20181018200737.5953-1-christian.gmeiner@gmail.com/. After adding some glue to get support for exynos on panfrost, I tried kmscube, and it fails with:
```
Program received signal SIGBUS, Bus error.
panfrost_make_fixed_blend_mode (blend=0xb663a294 <default_blend>, out=0x73296d, colormask=0, blend_color=0x7534b0) at ../src/gallium/drivers/panfrost/pan_blending.c:483
483 ../src/gallium/drivers/panfrost/pan_blending.c: No such file or directory.
(gdb) bt
#0 panfrost_make_fixed_blend_mode (blend=0xb663a294 <default_blend>, out=0x73296d, colormask=0, blend_color=0x7534b0) at ../src/gallium/drivers/panfrost/pan_blending.c:483
#1 0xb62c0a16 in panfrost_make_fixed_blend_mode (blend=blend@entry=0xbefff72c, out=out@entry=0x73296d, colormask=0, blend_color=blend_color@entry=0x7534b0)
at ../src/gallium/drivers/panfrost/pan_blending.c:470
#2 0xb62bc4d2 in panfrost_create_blend_state (pipe=0x739980, blend=0xbefff728) at ../src/gallium/drivers/panfrost/pan_context.c:2540
#3 0xb65cf3da in util_blitter_create (pipe=pipe@entry=0x739980) at ../src/gallium/auxiliary/util/u_blitter.c:226
#4 0xb62bf5c0 in panfrost_create_context (screen=<optimized out>, priv=<optimized out>, flags=<optimized out>) at ../src/gallium/drivers/panfrost/pan_context.c:3152
#5 0xb6329462 in st_api_create_context (stapi=<optimized out>, smapi=0x72bc28, attribs=<optimized out>, error=0xbefff9d8, shared_stctxi=0x0) at ../src/mesa/state_tracker/st_manager.c:905
#6 0xb624c498 in dri_create_context (api=API_OPENGLES2, visual=0x72d9f0, cPriv=0x731c20, ctx_config=<optimized out>, error=0xbefffae4, sharedContextPrivate=0x0)
at ../src/gallium/state_trackers/dri/dri_context.c:161
#7 0xb62490ec in driCreateContextAttribs (screen=<optimized out>, api=<optimized out>, config=0x72d9f0, shared=<optimized out>, num_attribs=2, attribs=0xbefffae8, error=0xbefffae4,
data=0x626cb0) at ../src/mesa/drivers/dri/common/dri_util.c:473
#8 0xb6f64dc6 in dri2_create_context (drv=<optimized out>, disp=<optimized out>, conf=0x731558, share_list=<optimized out>, attrib_list=0x4073b4) at ../src/egl/drivers/dri2/egl_dri2.c:1249
#9 0xb6f5e96c in eglCreateContext (dpy=0x730d10, config=0x731558, share_list=<optimized out>, attrib_list=0x4073b4) at ../src/egl/main/eglapi.c:783
#10 0x004035d6 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
```
The panfrost version is from the gs branch, commit "Fix alpha test, maybe" (76a626e1d7a6cd2fdb9f10f516766d708149241c).
So, I'm wondering if:
- it's a issue with my setup,
- panfrost works on 32bits,
- panfrost works with t628.https://gitlab.freedesktop.org/panfrost/mesa/-/issues/11Perspective division broken in glmark -btexture (warped texture)2019-01-18T04:02:54ZAlyssa RosenzweigPerspective division broken in glmark -btexture (warped texture)Issue has been known a while, identified by raster on IRC as probably related to missing z-coordinate division.Issue has been known a while, identified by raster on IRC as probably related to missing z-coordinate division.Alyssa RosenzweigAlyssa Rosenzweighttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/10Wrong stride when width has a remainder mod 16 (tile granularity)2020-08-18T17:01:57ZAlyssa RosenzweigWrong stride when width has a remainder mod 16 (tile granularity)Stride calculations only work to tile granularity as the GPU can only render to tile granularity. We should be rounding up to the nearest tile and scissoring appropriately.Stride calculations only work to tile granularity as the GPU can only render to tile granularity. We should be rounding up to the nearest tile and scissoring appropriately.Alyssa RosenzweigAlyssa Rosenzweighttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/9Calculate vertex buffer size for transient upload when necessary2019-01-13T05:50:14ZAlyssa RosenzweigCalculate vertex buffer size for transient upload when necessaryOur current code regresses e.g. -bideas due to the attributte layout (calculating size by stride*vertex_count rather than resource width or something more clever).Our current code regresses e.g. -bideas due to the attributte layout (calculating size by stride*vertex_count rather than resource width or something more clever).https://gitlab.freedesktop.org/panfrost/mesa/-/issues/5Packing scalars into vector registers during RA2020-08-18T17:01:53ZAlyssa RosenzweigPacking scalars into vector registers during RAI saw this optimization in etnaviv's NIR patchset; we might want to try it to lower register pressure. TODO: Figure out how it works / how to do it here.I saw this optimization in etnaviv's NIR patchset; we might want to try it to lower register pressure. TODO: Figure out how it works / how to do it here.https://gitlab.freedesktop.org/panfrost/mesa/-/issues/4Investigate packed attributes and varyings2020-08-18T17:01:49ZAlyssa RosenzweigInvestigate packed attributes and varyingsThese are used by Kodi (among others) and probably are causing breakage.These are used by Kodi (among others) and probably are causing breakage.Alyssa RosenzweigAlyssa Rosenzweighttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/3Investigate mali_attr.unknown12019-01-13T17:21:13ZAlyssa RosenzweigInvestigate mali_attr.unknown1We know its value depends at least in part on the number of components used. See !5 where this is introduced. However, it's not a simple linear count or anything. I suspect it controls how padding works, but maybe not. This should be pok...We know its value depends at least in part on the number of components used. See !5 where this is introduced. However, it's not a simple linear count or anything. I suspect it controls how padding works, but maybe not. This should be poked at further, perhaps trying other (GLES3-class) attributes?Alyssa RosenzweigAlyssa Rosenzweighttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/2Send fragment job in other places2020-08-18T17:01:44ZAlyssa RosenzweigSend fragment job in other placesAs cwabbott pointed out on IRC, a fragment job has to be called:
- each time eglSwapBuffers is called
- whenever framebuffer is swapped out
- probably other timesAs cwabbott pointed out on IRC, a fragment job has to be called:
- each time eglSwapBuffers is called
- whenever framebuffer is swapped out
- probably other timeshttps://gitlab.freedesktop.org/panfrost/mesa/-/issues/1Don't assume glClear() is always called every frame2020-08-18T17:01:36ZAlyssa RosenzweigDon't assume glClear() is always called every frameIt _should_ be for perf but it may not be.It _should_ be for perf but it may not be.