aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* turnip: add vk_format_is_snorm/is_floatJonathan Marek2020-04-091-0/+12
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3783>
* turnip: rework format helpersJonathan Marek2020-04-096-29/+41
| | | | | | | | | | * Take tile_mode as input directly * tu6_format_gmem to tu6_base_format, use may not be limited to GMEM * Add new helpers that will return the correct tile_mode as for image level as part of the format. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3783>
* turnip: use dirty bits for dynamic viewport/scissor stateJonathan Marek2020-04-092-8/+16
| | | | | | | | CmdClearAttachments shader path will overwrite this state, so it needs to be re-emitted with dirty bits in that case. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3783>
* turnip: save attachment samples in renderpass stateJonathan Marek2020-04-092-4/+5
| | | | | | | | This is needed to be able to know the number of samples during CmdClearAttachments which can be used while the framebuffer is unknown. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3783>
* turnip: disable 8x msaaJonathan Marek2020-04-092-5/+6
| | | | | | | Not everything supports 8x msaa, and the blob doesn't support it at all. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3783>
* turnip: fix nir validate failure from push constant loweringJonathan Marek2020-04-091-0/+3
| | | | | | | Fixes newly added checks in nir validate failing. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3783>
* turnip: split up gmem/tile alignmentJonathan Marek2020-04-094-20/+12
| | | | | | | Note: the x1/y1 align in tu6_emit_blit_scissor was broken Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3783>
* turnip: RB_CCU_CNTL fixesJonathan Marek2020-04-094-16/+19
| | | | | | | | | * Correct bypass value for a618 * Bypass value for blitter * Don't set RB_CCU_CNTL again unnecessarily in tu6_emit_binning_pass Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3783>
* freedreno/a6xx: set bypass RB_CCU_CNTL value for blitterJonathan Marek2020-04-091-0/+5
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3783>
* freedreno/registers: add RB_CCU_CNTL bitfieldsJonathan Marek2020-04-094-14/+34
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3783>
* radv: allow TC-compat HTILE with GENERAL outside of render loopsSamuel Pitoiset2020-04-091-1/+16
| | | | | | | | | | | | | | | | | | | | | | This gives +8% with Wolfeinstein Youngblood on my Vega64, and according to someone else, it also improves performance with Doom 2016 and Wolfenstein 2 (and probably other ID Tech games). This improvement is because Youngblood uses GENERAL for the main depth-only pass and TC-compat HTILE is now enabled with GENERAL if we know that we are outside of a render loop. This obviously also reduces the number of HTILE decompressions from/to GENERAL. Note that Youngblood violates the Vulkan spec regarding render loops because they are only allowed with input attachments. Expect possible rendering issues if apps use render loops with the wrong way (ie. without input attachmens) because HTILE might not be coherent if a depth-stencil texture is sampled and rendered in the same draw. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2704 Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4391>
* radv: only enable TC-compat HTILE for images readable by a shaderSamuel Pitoiset2020-04-091-0/+8
| | | | | | | | | | | If no texture fetches happen it's useless to enable TC-compat HTILE. Because the driver currently doesn't support TC-compat HTILE for storage images we don't have to check. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4497>
* radv: only expose fp16 control features for chips with double rate fp16Samuel Pitoiset2020-04-091-5/+10
| | | | | | | | | | | | This disables all fp16 shader control features on GFX8 because only GFX9+ supports double rate packed math. This improves consistency regarding other AMD Vulkan drivers. Signed-off-by: Samuel Pitoiset <[email protected]> Acked-by: Daniel Schürmann <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4453>
* radv: only expose storageInputOutput16 for chips with double rate fp16Samuel Pitoiset2020-04-091-2/+2
| | | | | | | | | | | | | | | This feature allows to use both 16-bit integers and 16-bit floats as inputs/outputs. This disables storageInputOutput16 on GFX8 because only GFX9+ supports double rate packed math. This improves consistency regarding other AMD Vulkan drivers. Signed-off-by: Samuel Pitoiset <[email protected]> Acked-by: Daniel Schürmann <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4453>
* radv: only expose shaderFloat16 for chips with double rate fp16Samuel Pitoiset2020-04-092-3/+3
| | | | | | | | | | | | | | | | | | | This disables shaderFloat16 on GFX8 because only GFX9+ supports double rate packed math. This improves consistency regarding other AMD Vulkan drivers and it makes no sense to enable that feature without packed math. This also reduces performance with Wolfeinstein Youngblood if fp16 is forced enabled on GFX8, while it's similar on GFX9. We might re-introduce that feature in the future with ACO support if it ends up being faster and correct. Signed-off-by: Samuel Pitoiset <[email protected]> Acked-by: Daniel Schürmann <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4453>
* ac,radv: add ac_gpu_info::has_double_rate_fp16Samuel Pitoiset2020-04-093-2/+6
| | | | | | | | | Only GFX9+ support double rate packed math instructions. Signed-off-by: Samuel Pitoiset <[email protected]> Acked-by: Daniel Schürmann <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4453>
* turnip: use buffer size instead of bo size for VFD_FETCH_SIZEJonathan Marek2020-04-091-1/+1
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4224>
* turnip: improve vertex input handlingJonathan Marek2020-04-096-81/+64
| | | | | | | | | Emit vertexBindingDescriptionCount bindings, instead of one per attribute. Verified with dEQP-VK.pipeline.vertex_input.* Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4224>
* radeonsi: fix Segmentation fault during vaapi enc testJames Zhu2020-04-081-2/+4
| | | | | | | | | | Fix Segmentation fault during vaapi enc test on Arcturus. Signed-off-by: James Zhu <[email protected]> Reviewed-by Leo Liu <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4472>
* radv: Use correct buffer count with variable descriptor set sizes.Bas Nieuwenhuizen2020-04-083-1/+3
| | | | | | | | | Fixes dEQP-VK.binding_model.descriptorset_random.sets16.noarray.ubolimitlow.sbolimitlow.imglimitlow.iublimitlow.frag.ialimitlow.0 CC: <[email protected]> Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2607 Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4489>
* radv: Whitespace fixup.Bas Nieuwenhuizen2020-04-081-1/+0
| | | | | | | | Review comment that I did, but forgot to git add before amending ... From https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4334 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4488>
* radv: set sparseAddressSpaceSize to RADV_MAX_MEMORY_ALLOCATION_SIZESamuel Iglesias Gonsálvez2020-04-081-1/+1
| | | | | | | Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4487>
* radv: check buffer size in vkCreateBuffer()Samuel Iglesias Gonsálvez2020-04-081-0/+3
| | | | | | | | | | | Fixes: dEQP-VK.api.buffer.basic.size_max_uint64 Signed-off-by: Samuel Iglesias Gonsálvez <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4487>
* radv: Consider maximum sample distances for entire grid.Bas Nieuwenhuizen2020-04-081-4/+6
| | | | | | | | | | | | The other pixels in the grid might have samples with a larger distance than the (0,0) pixel. Fixes dEQP-VK.pipeline.multisample.sample_locations_ext.verify_location.samples_8_packed when CTS is compiled with clang. CC: <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4480>
* radv: enable lowering of GS intrinsics for the LLVM backendSamuel Pitoiset2020-04-084-50/+29
| | | | | | | | | | | | | | | | | | | | | | | | This replaces emit_vertex with: if (vertex_count < max_vertices) { emit_vertex_with_counter vertex_count ... vertex_count += 1 } Which is exactly what NIR->LLVM was doing but at NIR level. This pass is already called by ACO. pipeline-db changes on GFX10: Totals from affected shaders: SGPRS: 1952 -> 1912 (-2.05 %) VGPRS: 2112 -> 2044 (-3.22 %) Code Size: 189368 -> 185620 (-1.98 %) bytes Max Waves: 494 -> 491 (-0.61 %) No pipeline-db changes on other generations. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4182>
* radv: remove radv_layout_has_htile() helperSamuel Pitoiset2020-04-083-38/+8
| | | | | | | | | | | | | | | The goal of this function was to return whether a depth-stencil image has HTILE, in comparison to radv_layout_is_htile_compressed() which is used to know whether a depth-stencil image has HTILE compressed. These two functions are actually similar and they have never been used for what they were supposed to. Remove radv_layout_has_htile() in favour of radv_layout_is_htile_compressed() for now. If it's needed in the future, I will re-introduce this concept properly. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4389>
* radv: cleanup creating the decompress/resummarize pipelinesSamuel Pitoiset2020-04-081-26/+15
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4389>
* radv: rename extra graphics pipeline decompress/resummarize fieldsSamuel Pitoiset2020-04-083-9/+9
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4389>
* radv: rename decompress/resummarize depth/stencil functionsSamuel Pitoiset2020-04-083-27/+27
| | | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4389>
* turnip: fix compute shaders crashing after geometry shader changeJonathan Marek2020-04-081-4/+6
| | | | | | | Fixes: 1af71bee734da7d8 ("turnip: Set has_gs in ir3_shader_key") Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4483>
* nir: make opt_if_loop_terminator() less strictTimothy Arceri2020-04-081-1/+1
| | | | | | | | | nir_cf_{extract,reinsert}() can't stitch a block together if the block we are extracting ends in a jump but other jumps nested in further ifs should be fine to move. Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4477>
* radeonsi: don't lower constant arrays to uniforms in GLSL IRTimothy Arceri2020-04-081-0/+1
| | | | | | | | | | | | | | | This re-enables the change made in 2f5783bc2b82 which was incorrectly disabled by 3e1dd99adca5. For radeonsi, we will prefer the NIR pass as it'll generate better code (some index calculation and a single load vs. a load, then index calculation, then another load) and oftentimes NIR optimization can kick in and make all the access indices constant. Fixes: 3e1dd99adca5 ("radeonsi: Remove a bunch of default handling of pipe caps.") Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4474>
* meson: fix debug build on AndroidDominik Behr2020-04-072-1/+13
| | | | | | | | | | | debug_stack functions are implemented in another file for Android. Also add backtrace library dependency. Reviewed-by: Chia-I Wu <[email protected]> Reviewed-bu: Kristian H. Kristensen <[email protected]> Signed-off-by: Dominik Behr <[email protected]> Acked-by: Dylan Baker <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2435>
* radv: Store 64-bit availability bools if requested.Bas Nieuwenhuizen2020-04-071-71/+56
| | | | | | | | | Fixes dEQP-VK.query_pool.*.reset_before_copy.* on RAVEN. CC: <[email protected]> Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2296 Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4334>
* gallivm: Add missing header for powf.Vinson Lee2020-04-071-0/+1
| | | | | | | | | | | | | | | | | | | Fix build error after llvm-11 commit 3a29393b4709 ("Remove math.h/cmath include from DataTypes.h"). src/gallium/auxiliary/gallivm/lp_bld_format_srgb.c: In function ‘lp_build_linear_to_srgb’: src/gallium/auxiliary/gallivm/lp_bld_format_srgb.c:194:44: error: implicit declaration of function ‘powf’ [-Werror=implicit-function-declaration] 194 | exp2f_c * powf(coeff_f, 1.0f / exp_f)); | ^~~~ src/gallium/auxiliary/gallivm/lp_bld_format_srgb.c:194:44: warning: incompatible implicit declaration of built-in function ‘powf’ src/gallium/auxiliary/gallivm/lp_bld_format_srgb.c:78:1: note: include ‘<math.h>’ or provide a declaration of ‘powf’ 77 | #include "lp_bld_format.h" +++ |+#include <math.h> 78 | Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4473>
* turnip: Drop dep_llvm from dependenciesKristian H. Kristensen2020-04-071-1/+0
| | | | | Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4478> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4478>
* turnip: Make Android platform buildKristian H. Kristensen2020-04-073-23/+24
| | | | | | | We still don't have a way to keep this from breaking, but I don't think this ever built. Let's call it progress. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4478>
* turnip: Stub out VK_KHR_external_{fence,semaphore}_fdKristian H. Kristensen2020-04-072-0/+40
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4478>
* turnip: Add missing VKAPI_ATTR annotationsKristian H. Kristensen2020-04-073-5/+5
| | | | | | Make sure the types match. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4478>
* tracie: Reformat code to fix indentationRohan Garg2020-04-071-8/+8
| | | | | | | Signed-off-by: Rohan Garg <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4435> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4435>
* tracie: Print results in a machine readable formatRohan Garg2020-04-072-6/+37
| | | | | | Signed-off-by: Rohan Garg <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4435>
* freedreno/a6xx: Set a level's pitch based on minified level0 pitch, not width0.Eric Anholt2020-04-072-13/+274
| | | | | | | | | | | | Found from piglit fbo-generatemipmaps failures, then tracked down with the texturator test. The piece that really revealed things was finding that 1024x1 linear RGBA8 on the older blob drivers would have a pitch of 5120 instead of 4096, and the following levels minified that pitch. Fixes ~124 piglit tests (~8.5% of piglit failures) on cheza. Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987>
* freedreno: Add the outline of a test for a6xx texture layout.Eric Anholt2020-04-073-1/+244
| | | | | | | | | | Trying to work out texture layout by remembering what things looked like in texturator is hard. Instead, let's use texture layouts from tracing the blob as a source of truth to make sure that we pick the same layouts they do (and don't break known-good ones). More testcases will be added as I fix layout bugs. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987>
* freedreno/a6xx: Drop the "alignment" layout temporary.Eric Anholt2020-04-071-10/+3
| | | | | | | It's just 1 for !3d, which means that the align we're doing in that case is pointless. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987>
* freedreno/a6xx: Remove the "aligned_height" temporary.Eric Anholt2020-04-071-5/+3
| | | | | | Now that we're not incrementally minifying height, we can just modify it. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987>
* freedreno/a6xx: Sink the per-level size temps inside the loop.Eric Anholt2020-04-071-17/+5
| | | | | | | u_minify(n, 1) is no cheaper than u_minify(n, level), and this makes the logic a lot simpler to follow. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3987>
* gitlab-ci: Run merge request pipelines automatically only for Marge BotMichel Dänzer2020-04-071-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | MR pipelines not triggered by Marge Bot can still be triggered manually. Motivation: The main & forked Mesa project CI pipelines combined are currently generating over 1 TB of egress traffic per week. ~80% of this is from pre-merge pipelines. Assuming this corresponds to 4 pre-merge and one post-merge pipeline per MR on average, this change could potentially eliminate up to ~60% of the overall traffic (by preventing 3 of the 4 pre-merge pipelines from running automatically). (Of course, this could be subverted if all jobs of the other pipelines were triggered manually anyway... In most cases, manually triggering just a few jobs should suffice) v2: * $GITLAB_USER_NAME was the wrong variable, $GITLAB_USER_LOGIN should do the trick. Suggested-by: Marek Olšák <[email protected]> Reviewed-by: Adam Jackson <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4432> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4432>
* gitlab-ci: Don't require triggering build/test jobs manuallyMichel Dänzer2020-04-071-13/+24
| | | | | | | | | | Let them run automatically once all their dependencies have passed. Reviewed-by: Adam Jackson <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4432>
* gitlab-ci/lava: Add needs: for container image to test jobs (again)Michel Dänzer2020-04-071-0/+2
| | | | | | | | | | | | | Without this, the test jobs could spuriously run after the container job failed or was cancelled, even if the build job didn't run at all. (I already did this in 94cfe590703018cf3d34a0c1f8667064919bf843, but it got dropped accidentally in 22d976454f4e50142116f4544c0bbf11134ce991) Reviewed-by: Adam Jackson <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4432>
* gitlab-ci: Rename "paths" YAML anchor to "all_paths"Michel Dänzer2020-04-071-3/+3
| | | | | | | | | To avoid confusion with `paths:` elements. Reviewed-by: Adam Jackson <[email protected]> Acked-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4432>