summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* glsl/linker: add DisableTransformFeedbackPacking workaroundLouis-Francis Ratté-Boulianne2020-03-035-19/+115
| | | | | | | | | | | | | | | | | Some drivers (e.g. Panfrost) don't support packing of varyings when used for transform feedback. This new constant ensures that any varying used for xfb is aligned at the start of a slot and won't be packed with other varyings. Scenarios where transform feedback declarations are related to an array element or a struct member will be handled in a subsequent patch. Signed-off-by: Louis-Francis Ratté-Boulianne <[email protected]> Signed-off-by: Tomeu Vizoso <[email protected]> (Fix order of arguments to varying_matches()) Reviewed-by: Alyssa Rosenzweig <[email protected]> Acked-by: Daniel Stone <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2433>
* spirv: fix memory_barrier_tcs_patch emissionRhys Perry2020-03-031-1/+2
| | | | | | | | | | | Shouldn't affect any driver, since all currently implement memory_barrier_tcs_patch as a no-op. It also looks like optimizations are fine Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4003> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4003>
* spirv: improve creation of memory_barrierRhys Perry2020-03-031-3/+8
| | | | | | | | It shouldn't check for atomic counters or return in case we also need to create a TCS output barrier. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4003>
* lima: don't disable tiling if there's linear modifier in listVasily Khoruzhick2020-03-031-3/+0
| | | | | | | | | | Instead we should disable it if tiling modifier is not here and we already do that. Reviewed-by: Daniel Stone <[email protected]> Signed-off-by: Vasily Khoruzhick <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4029> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4029>
* ac: rename min_vgpr_alloc to min_wave64_vgpr_allocSamuel Pitoiset2020-03-034-5/+5
| | | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3975> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3975>
* ac: rename vgpr_alloc_granularity to wave64_vgpr_alloc_granularitySamuel Pitoiset2020-03-034-5/+5
| | | | | | | | And update the value. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3975>
* ac: rename lds_size_per_cu to lds_size_per_workgroupSamuel Pitoiset2020-03-035-6/+6
| | | | | | | | | It's more accurate. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3975>
* turnip: Execute main cs for secondary command buffersBrian Ho2020-03-031-10/+25
| | | | | | | | | | | | | Previously, we only added the secondary command buffer's draw and draw epilogue command streams to the primary command buffer on vkCmdExecuteCommands. However, we also need to merge the primary cs for non-draw operations like vkCmdCopyBuffer and vkCmdBeginQuery. Fixes dEQP-VK.memory.pipeline_barrier.host_write_transfer_src.* and various other tests in dEQP-VK.api.command_buffers.*. Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3988> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3988>
* turnip: Promote tu_cs_get_size/is_empty to headerBrian Ho2020-03-032-20/+20
| | | | | | These will be used in tu_cmd_buffer.c. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3988>
* nvc0: enable EXT_texture_shadow_lodIlia Mirkin2020-03-022-4/+10
| | | | | | | | This passes all the CTS tests for this extension. Signed-off-by: Ilia Mirkin <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4014> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4014>
* st/mesa: allow TXB2/TXL2 to work with cube array shadow texturesIlia Mirkin2020-03-022-10/+22
| | | | | | | | | It's a bit asymmetric, but it's such a contrived use-case, and not a lot of drivers will support it. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4014>
* nv50,nvc0: add newly added PIPE_CAP's to listIlia Mirkin2020-03-022-0/+34
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4014>
* anv: multiply the scratch space by 4 on gen9-10 like iris and i965Paulo Zanoni2020-03-031-2/+16
| | | | | | | | | | | | | | | | | | | My understanding is that there's no reason for the scratch space allocation to be different between iris, i965 and anv. Let's make all the functions behave the same. I don't know if this fixes any specific gen9 bugs, it it might since it increases the scratch space. v2: Rebase. v3: Rebase. v4: Remove redundant gen 11 check (Jason). Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Signed-off-by: Paulo Zanoni <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4006> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4006>
* intel/device: bdw_gt1 actually has 6 eus per subslicePaulo Zanoni2020-03-031-1/+1
| | | | | | | | | | | | | | | | | | | Found by inspection, I'm not aware of any bugs caused by this typo. According to Lionel, it seems we only use this to generate masks of available EUs for perfromance queries, and it's only used when we can't query the fused parts of the GPU through DRM_IOCTL_I915_QUERY. So this patch should help for the corner case where the Kernel is too old to support the query ioctl. v2: improve commit message, cc stable (Lionel). Cc: [email protected] Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Signed-off-by: Paulo Zanoni <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4006>
* intel: fix the gen 12 compute shader scratch IDsPaulo Zanoni2020-03-032-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | This is the same idea as "intel: fix the gen 11 compute shader scratch IDs". The number of EUs on TGL is not the same as ICL, but the MEDIA_VFE_STATE restrictions stay the same, so adapt the code to it. Also, consider the base configuration instead of what we read from the Kernel. According to Mark, this fixes the following piglit tests on TGL: piglit.spec.arb_compute_shader.execution.shared-atomicmax-uint.tglm64 piglit.spec.arb_compute_shader.execution.shared-atomicmax-int.tglm64 piglit.spec.intel_shader_atomic_float_minmax.execution.shared-atomicmax-float.tglm64 v2: s/ICL+/Gen11+/ (Jason). Cc: [email protected] Tested-by: Mark Janes <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Signed-off-by: Paulo Zanoni <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4006>
* intel: fix the gen 11 compute shader scratch IDsPaulo Zanoni2020-03-033-3/+18
| | | | | | | | | | | | | | | | | | | Scratch space allocation is based on the number of threads in the base configuration, and we only have one base configuration for ICL, with 8 subslices. This fixes an issue with Aztec on Vulkan in a machine with a configuration that's not the base. The issue looks like a regression from b9e93db20896, but it seems things are broken since forever, just not easily reproducible. v2: Reimplement it using the subslices variable. Don't touch TGL. Cc: [email protected] Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Lionel Landwerlin <[email protected]> Signed-off-by: Paulo Zanoni <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4006>
* pan/bi: Move some definitions from disasm to bifrost.hAlyssa Rosenzweig2020-03-032-62/+62
| | | | | | | | These are generally useful outside the disassmbler. Signed-off-by: Alyssa Rosenzweig <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Structify FMA_FADDAlyssa Rosenzweig2020-03-032-8/+35
| | | | | | | Just to make it easier to work with. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Squash LD_ATTR ops togetherAlyssa Rosenzweig2020-03-032-33/+37
| | | | | | | *whistles* Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Combine LOAD_VARYING_ADDRESS instructions by typeAlyssa Rosenzweig2020-03-032-5/+29
| | | | | | | It's all a single opcode in fact. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Decode ADD_SHIFT properlyAlyssa Rosenzweig2020-03-032-21/+46
| | | | | | | Just like FMA_SHIFT, but with some bits shuffled around. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Identify extended FMA opcodesAlyssa Rosenzweig2020-03-031-119/+127
| | | | | | | | When the top 3 bits of the opcode are 111, it leads to a special extended opcode mode instead. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Add v4i8 mode to FMA_SHIFTAlyssa Rosenzweig2020-03-032-1/+3
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Decode FMA_SHIFT properlyAlyssa Rosenzweig2020-03-032-24/+48
| | | | | | | | The shift-bitwise ops are fairly configurable, let's decode this the right way. Choo choo. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Move notes on ADD ops to notes fileAlyssa Rosenzweig2020-03-032-44/+80
| | | | | | | Again, we'd like to see just the opcode table more clearly. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Introduce CSEL4 classAlyssa Rosenzweig2020-03-032-24/+52
| | | | | | | All of these "ops" are just variants on the same. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Move notes on FMA opcodes from disassemblerAlyssa Rosenzweig2020-03-032-79/+101
| | | | | | | | We're going to be shuffling around the opcode table, so let's get this moved out first. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Add ICMP.GL.NEQ opAlyssa Rosenzweig2020-03-031-0/+1
| | | | | | | A fused not useful to feed into `discard`. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/bi: Add discard opsAlyssa Rosenzweig2020-03-031-0/+7
| | | | | | | | | These run on the ADD unit and evidently need to be their own clause (probably treated as a high-latency instruction). Like csel, they can either do a float comparison directly or ingest a 0/1 value. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/decode: Skip analysis for Bifrost tiler structuresAlyssa Rosenzweig2020-03-031-1/+34
| | | | | | | | We don't understand the Bifrost at all yet, so let's just print and move on. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/decode: Fix tiler weights printingAlyssa Rosenzweig2020-03-031-2/+2
| | | | | | | Theoretical - still always zero. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/decode: Restore bifrost sample_locationsAlyssa Rosenzweig2020-03-032-9/+66
| | | | | | | | | Code by Connor Abbott, reverting a part of 254f40fd535ef57dee2bcc4afd97840749ce5918 where it was removed during a Midgard refactor. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* pan/decode: Calm an assert to a pandecode errorAlyssa Rosenzweig2020-03-031-2/+2
| | | | | | | We'd like to see what the problem actually was... Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4025>
* iris: Wait for the GPU to be idle before invalidating the aux table.Rafael Antognolli2020-03-021-0/+12
| | | | | | | | | An end of pipe sync seems to satisfy this restriction. It takes care of GPU hangs seen in dEQP-GLES31.functional.copy_image.* tests. Reviewed-by: Jason Ekstrand <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4005> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4005>
* iris: Split aux map initialization from invalidation.Rafael Antognolli2020-03-023-9/+34
| | | | | | | | We can write the aux map address only once during the batch initialization, and then only invalidate it once we modify it. Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4005>
* anv: Wait for the GPU to be idle before invalidating the aux table.Rafael Antognolli2020-03-021-0/+10
| | | | | Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4005>
* anv: Do end-of-pipe sync around MCS/CCS ops instead of CS stallJason Ekstrand2020-03-022-8/+8
| | | | | | | | v2: Do end-of-pipe sync after clear depth stencil too (Jason). v3: Also do end-of-pipe sync before clear depth stencil too (Jason). Reviewed-by: Rafael Antognolli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4005>
* anv: Use a proper end-of-pipe sync instead of just CS stallJason Ekstrand2020-03-022-15/+118
| | | | | Reviewed-by: Rafael Antognolli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4005>
* anv: Use the PIPE_CONTROL instead of bits for the CS stall W/AJason Ekstrand2020-03-021-3/+7
| | | | | Reviewed-by: Rafael Antognolli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4005>
* gallivm/tessellator: use private functions for min/max to avoid namespace issuesDave Airlie2020-03-031-45/+45
| | | | | | | | | | | | | Different builds are failing because of namespace collisions here. Just fix the MS code to avoid it. Fixes: bd0188f9eab ("gallium/auxiliary: add the microsoft tessellator and a pipe wrapper.") Reviewed-by: Tapani Pälli <[email protected]> Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2586 Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4016> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4016>
* egl: allow INVALID format for linux_dmabufIvan Molodetskikh2020-03-021-5/+24
| | | | | | | | | | | | | | | | | | | | | As per https://gitlab.freedesktop.org/wayland/wayland-protocols/commit/fb9b2a87317c77e26283da5f6c9559d709f6fdcd, the compositor may advertise DRM_FORMAT_MOD_INVALID as a supported modifier. This patch makes mesa recognize this fact and allow linux_dmabuf usage with the INVALID modifier in this case. In case the driver doesn't support modifiers, we can still use linux-dmabuf protocol instead of the legacy wl_drm interface to create wl_buffers. This will help compositors to handle these buffers better. In this commit, the INVALID modifier is allowed to be added to the list of supported modifiers, and create_wl_buffer will be able to use linux_dmabuf with an INVALID modifier if the compositor advertised it as supported. Signed-off-by: Ivan Molodetskikh <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2147> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2147>
* lima: add RGBA5551 and RGBA4444 formatsVasily Khoruzhick2020-03-024-25/+48
| | | | | | | | | | We also need to set channel_layout in pp_frame reg (previously known as foureight) depending on cbuf format. Reviewed-by: Andreas Baierl <[email protected]> Signed-off-by: Vasily Khoruzhick <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3972> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3972>
* ci: Add a disabled-by-default job for GLES3 testing on db410c.Eric Anholt2020-03-023-0/+2848
| | | | | | | | | | | | | | Now that we have 7 (soon 8) boards available, there's capacity to be testing GLES 3.0. However, due to (it looks like) buffer overflows in the driver, we end up with flaky test results: 1/60 jobs spuriously failed, and another 6/60 jobs reported flakes. At 6 jobs per pipeline, that's way too high of a failure rate to enable for non-freedreno developers. Leave the job present but disabled so that we can do manual test runs for regressions. Reviewed-by: Daniel Stone <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3661> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3661>
* ci: Switch testing on db410c over to LAVA.Eric Anholt2020-03-025-9/+51
| | | | | | | | | | | | | | | | | | | This should get us better stability of the db410c boards by having a smaller per-board software stack, with no disks involved (just initramfs). Additionally, the new cluster is 7 (soon 8) db410cs, while currently the docker cluster only has 1/4 of its db410cs still running. Unfortunately, we have to prepare the fastboot boot image during the ARM drivers build stage, because LAVA relies on publicly available URLs for the images to load into the bootloaders of the boards, and the only thing we have for that is gitlab's artifacts. Note that this testing relies on the boards being freshly flashed with the linaro v136 firmware to pick up the initramfs size fixes and to stop the boot at fastboot. Reviewed-by: Daniel Stone <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3661>
* r600/sfn: Don't try to catch exceptions, the driver doesn't throw anyGert Wollny2020-03-021-12/+6
| | | | | | Signed-off-by: Gert Wollny <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3974> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3974>
* r600/sfn: Use static_cast when type is already knownGert Wollny2020-03-028-12/+12
| | | | | | | | | | | In all these cases the type was tested before based, so don't use dynamic_casts. Closes #2566 Signed-off-by: Gert Wollny <[email protected]> Tested-by: Mauro Rossi <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3974>
* r600/sfn: Avoid using dynamic_cast to identify typeGert Wollny2020-03-022-17/+34
| | | | | | | | | | v2: Fix typo (maurossi) Related: #2566 Signed-off-by: Gert Wollny <[email protected]> Tested-by: Mauro Rossi <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3974>
* docs/features: add v3d driverAlejandro Piñeiro2020-03-021-55/+56
| | | | | | | | | | | Now that we bumped the GLES version to 3.1, it makes even more sense to include the driver here. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2507 Reviewed-by: Jose Maria Casanova <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3810> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3810>
* aco: pass vars by const &Albert Astals Cid2020-03-021-2/+2
| | | | | | Reviewed-by: Rhys Perry <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3935> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3935>
* Revert "gitlab-ci: disable panfrost runners"Daniel Stone2020-03-021-4/+4
| | | | | | | | | | | | | The infrastructure issues, caused by building electrical works gone wrong, have been fixed, and the Panfrost LAVA runners are available again. This reverts commit a86662c44d7cb2541c3f613805533064219ad11f. Signed-off-by: Daniel Stone <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4019> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4019>