- 01 Mar, 2021 1 commit
-
-
Alyssa Rosenzweig authored
We need to iterate the whole row, we can't be clever and only look at one side, the symmetry doesn't work like that. See the original paper. total instructions in shared programs: 69392 -> 69322 (-0.10%) instructions in affected programs: 9002 -> 8932 (-0.78%) helped: 82 HURT: 28 Instructions are helped. total bundles in shared programs: 32225 -> 32155 (-0.22%) bundles in affected programs: 4286 -> 4216 (-1.63%) helped: 82 HURT: 28 Bundles are helped. total quadwords in shared programs: 56102 -> 56102 (0.00%) quadwords in affected programs: 0 -> 0 helped: 0 HURT: 0 total registers in shared programs: 4552 -> 4572 (0.44%) registers in affected programs: 298 -> 318 (6.71%) helped: 18 HURT: 38 Registers are HURT. total threads in shared programs: 3772 -> 3775 (0.08%) threads in affected programs: 84 -> 87 (3.57%) helped: 15 HURT: 14 Inconclusive result (value mean confidence interval includes 0). total spills in shared programs: 0 -> 0 spills in affected programs: 0 -> 0 helped: 0 HURT: 0 total fills in shared programs: 0 -> 0 fills in affected programs: 0 -> 0 helped: 0 HURT: 0 Fixes: 66ad64d7 ("pan/midgard: Implement linearly-constrained register allocation") Signed-off-by:
Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <mesa/mesa!9338>
-
- 25 Feb, 2021 1 commit
-
-
maurossi authored
libpanfrost_lib depends on libpanfrost_bifrost for 'bifrost_compile_shader_nir' symbol libpanfrost_lib depends on libpanfrost_bifrost_disasm for 'disassemble_bifrost' symbol LOCAL_STATIC_LIBRARIES requires proper ordering to make the symbols available Fixes the following building error happening with Android P: FAILED: out/target/product/x86_64/obj/SHARED_LIBRARIES/gallium_dri_intermediates/LINKED/gallium_dri.so external/mesa/src/panfrost/lib/decode.c:534: error: undefined reference to 'disassemble_bifrost' external/mesa/src/panfrost/lib/pan_shader.c:145: error: undefined reference to 'bifrost_compile_shader_nir' Cc: 20.3 21.0 <mesa-stable@lists.freedesktop.org> Fixes: 166630f7 ("android: pan/bi: Separate disasm/compiler targets") Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9265>
-
- 22 Feb, 2021 12 commits
-
-
Alyssa Rosenzweig authored
We don't support it yet. Fixes: 61d3ae6e ("panfrost: Initial stub for Panfrost driver") Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
Alyssa Rosenzweig authored
Fixes dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.r32ui_rgb10_a2.texture2d_to_texture2d Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
Alyssa Rosenzweig authored
fp16 loses precision. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
Alyssa Rosenzweig authored
dEQP-GLES31.functional.texture.multisample.samples_16.sample_position is failing on Bifrost, and we already weren't advertising on Midgard. Until someone gets spare cycles to debug all the problems, keep it hidden behind a debug flag to avoid introducing bugs. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
Alyssa Rosenzweig authored
The blob advertises 64 for this, so let's use the same value. Small alignments are observed to raise an IMPRECISE_FAULT at least on Bifrost. As a bonus this forces cache line alignment which will help perf. Fixes dEQP-GLES31.functional.texture.texture_buffer.render.as_vertex_texture.offset_1_alignments Fixes: 5f7bafa3 ("panfrost: Enable ARB_texture_buffer_object") Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
Alyssa Rosenzweig authored
The last of the nr_cbufs audit changes. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
Alyssa Rosenzweig authored
Auditing nr_cbufs. Note we have to augment the blending logic a bit to use the same 'no blend' case for missing RTs as we do for depth-only passes. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
Alyssa Rosenzweig authored
Auditing all uses of nr_cbufs Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
Alyssa Rosenzweig authored
Already checked in the callee, no need to check in the caller. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
Alyssa Rosenzweig authored
At least this way failed RA will crash (by having no spill node to pick) instead? Seen in dEQP-GLES31.functional.ssbo.layout.random.all_shared_buffer.21 on Bifrost. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Boris Brezillon <boris.brezillon@collabora.com> Part-of: <!9164>
-
- 18 Feb, 2021 17 commits
-
-
Alyssa Rosenzweig authored
I cannot reproduce the issue in local runs. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
Passes dEQP-GLES31.functional.fbo.no_attachments.*, it doesn't look like we need to do anything special. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
Pending on kernel work. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
Don't hardcode the RT to 0. Affects ES3.0 which already exposes MRT -- despite no dEQP coverage of this particular corner case, apps could hit this in the wild on 21.0. Fixes dEQP-GLES31.functional.draw_buffers_indexed.overwrite_indexed.common_blend_func_buffer_blend_func Fixes: c7e1ef7c ("panfrost: Advertise ES3.0 on Bifrost") Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
Already checked in format_supported (only difference being cube map arrays but the extension isn't advertised yet anyway due to missing geometry shaders.) Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
Passes dEQP-GLES31.functional.texture.border_clamp.* Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
This appears to be architecture dependent. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
Fixes debug builds of dEQP-GLES31.functional.stencil_texturing.render.* Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
Contains the InternalConversionDescriptor corresponding to the selected render target, ready to be fed into LD_TILE. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
Will be used to lower EXT_shader_framebuffer_fetch on Bifrost. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
A few cases missed, probably some more bugs hidden here! Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
We can use the constant format anywhere safely as a 0-component format, which will map fine for PIPE_FORMAT_NONE. Used so ARB_framebuffer_no_attachments can probe. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
Add some notes on what the useful combinations do and flesh out the logic. Fixes fails in dEQP-GLES31.functional.image_load_store.early_fragment_tests.* It's still not entirely clear to me what the difference between "force early" and "weak early" is from the driver's perspective, though I suspect there are performance implications to getting it wrong. Follow what the blob does in case of doubt.. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
These extra pieces of data are needed to correctly compute pixel kill / zs update settings. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
Helps debug pandecode issues. Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!9105>
-
Alyssa Rosenzweig authored
The compiler ABI specifies push uniforms at a 4-byte granularity (like Bifrost), but Midgard require a 16-byte granularity. As such if the number of pushed words is not a multiple of 4, there is a buffer overrun at shader load time. Ordinarily this is inaccessible so the garbage is ignored. However, there was a great deal of confusion around the `uniform_cutoff` variable. In some cases (such a full glmark2 run on a 64-bit processor), the push uniforms would be at the end of a BO and the overrun would cause a page fault. Remove uniform_cutoff entirely and work with count directly to avoid faulting, and round the count up to be defensive. Closes: #4289 Fixes: ed810eb0 ("panfrost: Don't truncate uniform_count") Signed-off-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Tested-by:
Robin Murphy <robin.murphy@arm.com> Part-of: <!9109>
-
- 15 Feb, 2021 9 commits
-
-
Boris Brezillon authored
Most of it is API-independent, so let's move it out of the gallium driver so it can be shared with the Vulkan driver. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!8963>
-
Boris Brezillon authored
Will be used by the pan_blend library. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!8963>
-
Boris Brezillon authored
We are about to add a pan_blend.h in src/panfrost/lib. Rename the existing pan_blend.h so we can include both. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!8963>
-
Boris Brezillon authored
This implies late preparation of the fragment shader RSD, but given the simplicity of pan_shader_prepare_rsd() (it's basically a 1:1 translation between shader info and the RSD fields), it's unlikely to make a difference. If we really want to optimize the time spent preparing the RSD, we should consider caching a packed version at the batch level and re-using it when nothing changed. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!8963>
-
Boris Brezillon authored
Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!8963>
-
Boris Brezillon authored
While at it, rework the code to avoid copies between intermediate structures: the pan_shader_info is passed to the compiler context so the compiler can fill shader information directly. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!8963>
-
Boris Brezillon authored
So we don't have to copy data around. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!8963>
-
Boris Brezillon authored
So we can re-use the panfrost_sysvals definition outside of the compiler without dragging the sysval_to_id hash table. Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!8963>
-
Boris Brezillon authored
Signed-off-by:
Boris Brezillon <boris.brezillon@collabora.com> Acked-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <!8963>
-