aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* aco: use s_waitcnt_depctr to mitigate VMEMtoScalarWriteHazardRhys Perry2020-07-181-3/+10
| | | | | | | | | Apparently this is potentially faster than v_nop: https://reviews.llvm.org/D83872 Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5923>
* aco: properly recognize that s_waitcnt mitigates VMEMtoScalarWriteHazardRhys Perry2020-07-181-6/+8
| | | | | | | | | | | fossil-db (Navi): Totals from 555 (0.41% of 135946) affected shaders: CodeSize: 1005716 -> 1003400 (-0.23%) Instrs: 195326 -> 194744 (-0.30%) Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5923>
* meson: Enable GCing of functions and data from compilation units by default.Eric Anholt2020-07-171-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally, the linker will pull in any compilation unit (aka .c file) from a static lib (such as our shared util code) that is depended on by the code linking against it. Since that code is already compiled, the .text section is allowed to jump anywhere in .text, and the compiler can't garbage collect unused functions inside of a compile unit. Teasing callgraphs apart so that normal compilation-unit-level GCing can reduce driver size hurts the logical organization of the code and is difficult. As an example, once I'd split the format pack/unpack tables, I had to split out util_format_read/write() from util_format.c to avoid pulling in pack/unpack. But even then it didn't help, because it turns out turnip's pack calls pull in util_format_bptc.c for bptc packing, but that file also includes the unpack impls, and those internally call util_format_unpack, and thus we pulled in all of unpack. Splitting all of this to separate files makes code harder to find and maintain, and is a waste of dev time. By setting these compiler flags, the compiler puts each function and data symbol in a separate ELF section and the linker can then safely GC unused text and data sections from a compile unit that gets pulled in. There's a bit of a space cost due to having those separate sections, but it ends up being a huge win in disk space on my personal release driver builds: - i965_dri.so -213k - x86 gallium dri.so -430k - libvulkan_intel.so -272k - aarch64 gallium dri.so -330k - libvulkan_freedreno.so -783k No difference on iris drawoverhead -compat -test 1 on my skylake (n=60) Effect on debugoptimized build times (n=5) touch nir_lower_io.c build time (bfd) +15.999% +/- 3.80377% touch freedreno fd6_gmem.c build time (bfd) +13.5294% +/- 4.86363% touch nir_lower_io.c build time (lld) no change touch freedreno fd6_gmem.c build time (lld) +2.45375% +/- 2.2383% Reviewed-by: Eric Engestrom <[email protected]> Acked-by: Adam Jackson <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5739>
* panfrost: Enable FP16 by defaultAlyssa Rosenzweig2020-07-172-5/+5
| | | | | | | | | | | | | | I see no reason to hide this. The small hit in cycle count is offset in practice by the increase in thread count. So let's ship it and get some testing. If this regresses a workload: 1. Open an issue on the tracker and attach an apitrace. 2. In the meantime set PAN_MESA_DEBUG=nofp16 to override. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5960>
* gitlab-ci: re-enable all a630 jobsRob Clark2020-07-171-9/+5
| | | | | | | | | | | | I haven't noticed tftp boot issues in last few days, not sure if they where just a fluke on Mon or if it is somehow related to # of jobs we run (ie. having more of the c630 runners powered up and running more of the time). Let's turn them back on and see what happens. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5952>
* freedreno/a2xx: Fix compiler warning in disasm.Eric Anholt2020-07-171-1/+2
| | | | | | | | | | | | warning: converting a packed ‘instr_cf_t’ {aka ‘union <anonymous>’} pointer (alignment 1) to a ‘uint16_t’ {aka ‘short unsigned int’} pointer (alignment 2) may result in an unaligned pointer value [-Waddress-of-packed-member] We may know that we'll only ever have aligned instr_cf_ts, but gcc doesn't. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5955>
* gitlab-ci: Re-add kernels for bare-metalTomeu Vizoso2020-07-174-16/+73
| | | | | | | | | | | I mistakenly removed what I thought were remnants of when Freedreno used LAVA for their DUTs. lava_arm.sh is used for baremetal, so re-add that code. Fixes: dcd171f5e9bd ("gitlab-ci: More stable URL for kernel and ramdisk artifacts, for LAVA") Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5839>
* nir: Set the alignment for SSBO loweringIcecream952020-07-171-0/+3
| | | | | | | | | | | The alignment can just be copied from the source intrinsic. Fixes the assertion nir_intrinsic_align_offset(instr) < nir_intrinsic_align_mul(instr) Reviewed-by: Karol Herbst <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5949>
* intel/perf: Move perf query register programming to static tables.Eric Anholt2020-07-174-12/+21
| | | | | | | | | | | And now that they're static tables, we don't need to ralloc a copy in non-shared memory. Saves ~210k in the built intel drivers. Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1048434 Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5829>
* intel/perf: Fix unused var warning in release builds.Eric Anholt2020-07-171-1/+1
| | | | | Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5829>
* intel: Fix release-build warnings about sf_entry_size.Eric Anholt2020-07-171-1/+1
| | | | | | | In one side of the ifdef it's only used in an assert. Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5829>
* zink: use ralloc for spirv_builder as wellErik Faye-Lund2020-07-173-56/+64
| | | | | Reviewed-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954>
* zink: pass mem_ctx to ralloc_size-callErik Faye-Lund2020-07-171-1/+1
| | | | | Reviewed-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954>
* zink: use ralloc for plain malloc-callsErik Faye-Lund2020-07-171-5/+6
| | | | | Reviewed-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954>
* zink: use ralloc in nir-to-spirvErik Faye-Lund2020-07-171-8/+8
| | | | | Reviewed-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954>
* radv: enable more float_controls featuresRhys Perry2020-07-171-11/+10
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5773>
* aco: set tcs_in_out_eq=false if float controls of VS and TCS stages differRhys Perry2020-07-171-4/+9
| | | | | | | | | | | | Otherwise, we might have both VS and TCS code in the same block but float controls are set per-block. We also rely on VS code not dominating TCS code for the optimizer to work correctly. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5773>
* aco: fix nir_op_f2f16_rtne with non-default rounding modesRhys Perry2020-07-173-1/+19
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5773>
* aco: flush denormals before fp16 fabs/fneg if neededRhys Perry2020-07-171-0/+4
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5773>
* aco: use s_round_mode/s_denorm_modeRhys Perry2020-07-172-15/+34
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5773>
* panfrost: Set depth_enabled when stencil is enabledIcecream952020-07-171-4/+11
| | | | | | | | | | | Fixes square circles in the KiCad 3D viewer. v2: Cleanup a bit, add a comment, and handle the fs->writes_stencil case to be pedantic (Alyssa). Reported-by: Urja Rannikko <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5946>
* radv: return better Vulkan error codes when VkQueueSubmit() failsSamuel Pitoiset2020-07-173-136/+159
| | | | | | | | The driver shouldn't abort when a CS submission fails. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5876>
* radv: improve the error messages when a CS submission failedSamuel Pitoiset2020-07-171-21/+10
| | | | | | | | | While we are at it, do not duplicate the error messages for the three different submission paths. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5876>
* radv: remove one useless goto in radv_queue_submit_deferred()Samuel Pitoiset2020-07-171-3/+0
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5876>
* panfrost: Report TEXTURE_BUFFER_OBJECTS cap when gl3 flag setIcecream952020-07-171-1/+1
| | | | | | | | OpenGL 3.3 is now reported again when PAN_MESA_DEBUG=gl3 is set. Fixes: 96fa8d70bc1 ("panfrost: Report CAPs more honestly") Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5947>
* nir: Fix lower_two_sided_color when the face is an inputIcecream952020-07-171-1/+35
| | | | | | | | | | | | Fixes the two-sided-lighting and vertex-program-two-side piglit tests on Panfrost. v2: Use an existing variable for gl_FrontFacing if present. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Tested-by: Urja Rannikko <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5915>
* nir: Add a face_sysval argument to nir_lower_two_sided_colorIcecream952020-07-176-6/+7
| | | | | | | | | | This is needed for handling drivers that use an input for loading the face, for example Panfrost with Midgard GPUs. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Tested-by: Urja Rannikko <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5915>
* panfrost: Do per-sample shading when outputs are readIcecream952020-07-171-2/+7
| | | | | | | Fixes dEQP-GLES31.functional.blend_equation_advanced.msaa.* Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5930>
* pan/mdg: Do per-sample framebuffer loadsIcecream952020-07-173-3/+24
| | | | | | | | EXT_shader_framebuffer_fetch requires the fetched value to be per-sample, so we need to load the sample id when in a fragment shader. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5930>
* panfrost: Rename lower_store to is_blend in pan_lower_framebufferIcecream952020-07-171-2/+2
| | | | | | | The bool will be used for deciding whether to do a per-sample load. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5930>
* pan/mdg: Don't disassemble blit shadersIcecream952020-07-175-8/+8
| | | | | | | | There are a lot of them and they are mostly uninteresting, so don't disassemble them or print shader-db results. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5948>
* gitlab-ci: Only trigger test-docs job automatically for MRsMichel Dänzer2020-07-171-1/+1
| | | | | | | | | Follow-up to https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5898 . Reviewed-by: Tomeu Vizoso <[email protected]> Acked-by: Daniel Stone <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5918>
* virgl: set PIPE_CAP_BLEND_EQUATION_ADVANCEDElie Tournier2020-07-171-0/+2
| | | | | | | Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* virgl: Encode barrier for blend_equation_advancedElie Tournier2020-07-171-1/+2
| | | | | | | Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* virgl: Use alpha_src_factor to store blend_equation_advenced valueElie Tournier2020-07-173-1/+12
| | | | | | | Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* glsl_to_ir: do lower_blend_equation if PIPE_CAP_FBFETCHElie Tournier2020-07-171-1/+1
| | | | | | | Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* st: expose KHR_blend_equation_advanced if PIPE_CAP_BLEND_EQUATION_ADVANCEDElie Tournier2020-07-171-0/+3
| | | | | | | | | | With virgl, we want to expose KHR_blend_equation_advanced even if EXT_shader_framebuffer_fetch is not available. Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* gallium: Add PIPE_CAP_BLEND_EQUATION_ADVANCEDElie Tournier2020-07-174-0/+7
| | | | | | | Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* virgl: Reserved last caps of capability_bitsElie Tournier2020-07-171-0/+1
| | | | | | | | | This cap is used by virglrenderer but not by Mesa. Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* glsl_to_tgsi: Set TGSI_PROPERTY_FS_BLEND_EQUATION_ADVANCEDElie Tournier2020-07-171-0/+6
| | | | | | | | | | | In virgl, when fbfetch extention is not available but blend_equation_advanced is, we didn't call lower_blend_equation_advanced. So we need to pass the blend value to the host in order to recreate the shader correctly. Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* gallium: add TGSI_PROPERTY_FS_BLEND_EQUATION_ADVANCEDElie Tournier2020-07-172-0/+2
| | | | | | | | | | For virgl, we don't lower advanced equation to fbfetch So we need to pass the blend equation info in the TGSI to the host Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* mesa: treat Color._AdvancedBlendMode as enumErik Faye-Lund2020-07-174-4/+8
| | | | | | | Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* mesa: do not use bitfields for advanced-blend stateErik Faye-Lund2020-07-174-39/+34
| | | | | | | Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* st/mesa: fix st_CopyPixels without support for stencil exportsKarol Herbst2020-07-171-0/+7
| | | | | | | | Fixes: f611af35948e ("st/mesa: use fragment shader to copy stencil buffer") Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5940>
* nvc0_2d: Document SET_PIXELS_FROM_MEMORY_CORRAL_SIZE from rnndbRhys Kidd2020-07-172-3/+5
| | | | | | | | | | Present in both cl502d and cl902d. Based on envytools commit 889f8fb4445863c19336c31dd13ecbdd3b19a196 Signed-off-by: Rhys Kidd <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5922>
* nv50_2d,nvc0_2d: Document SET_PIXELS_FROM_MEMORY_SAFE_OVERLAP from rnndbRhys Kidd2020-07-173-4/+4
| | | | | | | | | | Present in both cl502d and cl902d. Based on envytools commit 0b9d3e717828a06be6937395464c34dfc870a6dc Signed-off-by: Rhys Kidd <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5922>
* docs/features: Mark trivial missed featureAlyssa Rosenzweig2020-07-161-1/+1
| | | | | | | It's right there in GLES. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5943>
* egl: mark the rest of the callbacks as mandatory or optionalEric Engestrom2020-07-161-0/+10
| | | | | | | | Suggested-by: Frank Binns <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Frank Binns <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861>
* egl: drop now empty egl_dri2_fallbacks.hEric Engestrom2020-07-1610-41/+1
| | | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Frank Binns <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861>
* egl: inline fallback for get_sync_valuesEric Engestrom2020-07-169-15/+3
| | | | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Frank Binns <[email protected]> Reviewed-by: Emil Velikov <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5861>