aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* mesa: remove exec="dynamic" from Draw functions that are not really dynamicMarek Olšák2020-04-2712-137/+173
| | | | | Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4758>
* mesa: reset primitive restart state in glClientAttribDefaultEXTMarek Olšák2020-04-271-0/+9
| | | | | Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4758>
* mesa: replace _NEW_EVAL with vbo_exec_update_eval_mapsMarek Olšák2020-04-279-34/+52
| | | | | Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4758>
* ac: reassociate FP expressions for inexact instructions for radeonsiMarek Olšák2020-04-271-0/+9
| | | | | | | | | | | | | | | | | Totals: SGPRS: 2591784 -> 2590696 (-0.04 %) VGPRS: 1666888 -> 1666736 (-0.01 %) Spilled SGPRs: 4131 -> 4107 (-0.58 %) Spilled VGPRs: 38 -> 38 (0.00 %) Private memory VGPRs: 2176 -> 2176 (0.00 %) Scratch size: 2228 -> 2228 (0.00 %) dwords per thread Code Size: 52715468 -> 52693584 (-0.04 %) bytes LDS: 92 -> 92 (0.00 %) blocks Max Waves: 479897 -> 479892 (-0.00 %) Wait states: 0 -> 0 (0.00 %) Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4696>
* ac: generate FMA for inexact instructions for radeonsiMarek Olšák2020-04-273-0/+40
| | | | | | | | | | | | | | | | | | | NIR mostly does this already. Totals: SGPRS: 2588520 -> 2591784 (0.13 %) VGPRS: 1666984 -> 1666888 (-0.01 %) Spilled SGPRs: 4074 -> 4131 (1.40 %) Spilled VGPRs: 38 -> 38 (0.00 %) Private memory VGPRs: 2176 -> 2176 (0.00 %) Scratch size: 2228 -> 2228 (0.00 %) dwords per thread Code Size: 52726872 -> 52715468 (-0.02 %) bytes LDS: 92 -> 92 (0.00 %) blocks Max Waves: 479872 -> 479897 (0.01 %) Wait states: 0 -> 0 (0.00 %) Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4696>
* ac: update and document fast math flags used by radeonsiMarek Olšák2020-04-273-4/+14
| | | | | | | | This should have no effect, because we never use FP division, but it's safer for the future. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4696>
* ac: force enable -structurizecfg-skip-uniform-regions for LLVM 11Marek Olšák2020-04-271-0/+4
| | | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4696>
* st/mesa: Treat vertex inputs absent in inputMapping as zero in mesa_to_tgsiDanylo Piliaiev2020-04-271-2/+6
| | | | | | | | | | | | | | | | After updating vertex inputs being read based on optimized NIR, they may go out of sync with inputs in mesa IR. Which is translated to TGSI and used together with NIR if draw doesn't have llvm. It's much easier to treat such inputs as zero because there is no pass to entirely get rid of them and they don't contribute to shader's output. Fixes: d684fb37bfbc47d098158cb03c0672119a4469fe Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2815 Signed-off-by: Danylo Piliaiev <[email protected]> Reviewed-by: Jose Maria Casanova Crespo <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4705>
* gitlab-ci: add lists of expected failures for RADV CISamuel Pitoiset2020-04-274-0/+56
| | | | | | | | | | | | Currently only supports PITCAIRN, POLARIS10, VEGA10 and NAVI10 with ACO only, but it's a start. Unfortunately, we have to duplicate and we will have to try to keep these lists up-to-date, but it's better than nothing. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4689>
* radv: fix robust_buffer_access if enabled via VkPhysicalDeviceFeatures2Samuel Pitoiset2020-04-271-10/+44
| | | | | | | | It can be enabled via pEnabledFeatures or via vkPhysicalDeviceFeatures2. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4706>
* gallivm: fix stencil borderDave Airlie2020-04-273-8/+12
| | | | | | | | | Fixes: dEQP-GLES31.functional.texture.border_clamp.unused_channels.depth32f_stencil8_sample_stencil dEQP-GLES31.functional.texture.border_clamp.sampler.uint_stencil Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
* llvmpipe: clamp color storage for integer types.Dave Airlie2020-04-271-0/+5
| | | | | | | | | | | If storing to an integer for lower bit size (i.e. 16-bit uint to 10-bit uint), we need to clamp to the maximum value not truncate. Fixes: dEQP-VK.api.copy_and_blit.core.blit_image.all_formats.color.r16_uint.a2b10g10r10_uint_pack32.optimal_optimal_nearest Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
* llvmpipe: enable stencil only formats. (v2)Dave Airlie2020-04-273-6/+11
| | | | | | | | | | | | This fixes two bugs, one in clearing and one in sign extensions for S8 only types, and enables it for use. These are useful for vulkan support later. v2: move casting to same place as Z casting. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
* llvmpipe/setup: add point size clampingDave Airlie2020-04-275-4/+9
| | | | | | | | | Fixes dEQP-GLES2.functional.rasterization.limits.points dEQP-VK.rasterization.primitive_size.points.point_size* Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
* llvmpipe: fix d32 unorm depth conversions.Dave Airlie2020-04-271-1/+4
| | | | | | | | | | | | | When the depth value was 1.0 and was being converted to Z32_UNORM the conversion would scale it up to INT32_MAX + 1 which would cause FPToSI to give incorrect results, changing it to use FPToUI for the unsigned 32-bit case only fixes it. Fixes: GTF-GL45.gtf30.GL3Tests.depth_texture.depth_texture_fbo_clear Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
* draw/tess: fix TES patch vertices in.Dave Airlie2020-04-273-5/+11
| | | | | | | Fixes CTS KHR-GL45.tessellation_shader.single.max_patch_vertices Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
* llvmpipe: fix ssbo alignmentDave Airlie2020-04-271-1/+1
| | | | | | | KHR-GL45.geometry_shader.api.max_shader_storage_blocks Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
* llvmpipe: bump max images to 16Dave Airlie2020-04-271-1/+1
| | | | | | | This is needed to make some tests run, and helps for vulkan later. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
* util/indirect: handle stride less than number of parameters.Dave Airlie2020-04-271-1/+3
| | | | | | | | | | | It's legal to have a stride less than the num of parameters, in this case no need to try and over map the buffer which asserts Fixes: GTF-GL45.gtf43.GL3Tests.multi_draw_indirect.multi_draw_indirect_stride Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
* gallivm/nir: add helper invocation supportDave Airlie2020-04-274-4/+13
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
* gallivm/nir: fix image store conversionsDave Airlie2020-04-271-7/+13
| | | | | | | | | | | | This fixes a few of the image store paths, to do the correct clamping of unsigned/signed values Fixes: KHR-GLES31.core.layout_binding.block_layout_binding_block_ComputeShader KHR-GL45.shader_image_load_store.basic-allFormats-store KHR-GL46.shader_image_load_store.multiple-uniforms Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4574>
* tu: Don't invert point coordsConnor Abbott2020-04-251-1/+2
| | | | | | We shouldn't need to invert them, and the Vulkan blob doesn't either. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4733>
* ir3: Remove VARYING_SLOT_PNTC remapping hackConnor Abbott2020-04-251-12/+0
| | | | | | The st now does this for us. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4732>
* st/nir: Fix assigning PointCoord location with !PIPE_CAP_TEXCOORDConnor Abbott2020-04-251-0/+2
| | | | | | | | This was trying to emulate the effect of mapping GL -> TGSI -> NIR, but failed to handle VARYING_SLOT_PNTC which led to a kludgy workaround in freedreno. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4732>
* freedreno/a6xx: Implement PrimID passthroughConnor Abbott2020-04-252-3/+9
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4704>
* tu: Implement PrimID passthroughConnor Abbott2020-04-252-5/+14
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4704>
* ir3: Skip missing VS outputs in VS out map when linkingConnor Abbott2020-04-256-48/+67
| | | | | | | | | | | | | The hardware is capable of automatically filling in certain values in the VPC without writing them from the last geometry stage, like gl_PointCoord or gl_PrimitiveID when there is no GS. However, we *do* have to enable these outputs (i.e. set the VPC_VAR_DISABLE bit to 0) as VPC_VAR_DISABLE is really about FS inputs rather than VS outputs. To do this, we move the computation of the enable bits to ir3_link_add(), which is also a nice refactor anyway. In addition we detect the PrimID case specifically so that the driver can program the location. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4704>
* freedreno/a6xx: Document PrimID passthrough registersConnor Abbott2020-04-253-3/+16
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4704>
* radv: Pass logical device to si_emit_graphicsJoshua Ashton2020-04-253-5/+6
| | | | | | | We'll need this in order to retrieve the va of a bo for a future ext. Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4728>
* freedreno/ir3: Print @tex write mask using 0x%xKristian H. Kristensen2020-04-251-1/+1
| | | | | | That way we can parse it again with the assembler. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4741>
* freedreno/ir3: Reset lex line number when we start parsingKristian H. Kristensen2020-04-251-0/+2
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4741>
* freedreno/ir3: Parse, but ignore @in, @out and @tex headersKristian H. Kristensen2020-04-252-0/+21
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4741>
* freedreno/ir3: Move ir3 assembler to backend compilerKristian H. Kristensen2020-04-256-24/+21
| | | | | | For easier reuse. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4741>
* freedreno/computerator: Decouple ir3 assemblerKristian H. Kristensen2020-04-254-23/+36
| | | | | | | Specifically, don't include ir3_asm.h in the parser as that's computerator specific. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4741>
* Revert "meson,ci: Disable sparse_array tests on windows"Andres Gomez2020-04-241-4/+1
| | | | | | | | | | The Wine version in the build image has been upgraded. This reverts commit 6be65b077743fc80efe061b1e05cb13b2ff1a6b1. Reviewed-by: Michel Dänzer <[email protected]> Acked-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4678>
* gitlab-ci: install winehq-stable to get 5.0 instead of 4.0Andres Gomez2020-04-243-5/+37
| | | | | | | | | | | | | | | Additionally, purge the winehq-stable package and its dependencies to avoid crashing when building for s390x. v2: - Remove winehq-stable and dependencies for s390x. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2657 Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Daniel Stone <[email protected]> [v1] Reviewed-by: Michel Dänzer <[email protected]> Acked-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4678>
* etnaviv: Fix depth stencil ops on GC880/GC2000Marek Vasut2020-04-241-2/+2
| | | | | | | | | | | | | | | | | | | This patch fixes depth stencil ops on MX6S GC880 and MX6Q GC2000. The following dEQPs now pass: dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_depth_funcs.* dEQP-GLES2.functional.fragment_ops.depth_stencil.stencil_ops.* which is roughly 600 fixed dEQP tests. The problem is that if the front-facing stencil has a value mask 0x00 and the back-facing stencil has some non-zero value mask, then the stencil part of the depth stencil buffer is written with 0x00 unconditionally. The blob replicates the value mask of the back-facing stencil to the value mask of the front-facing stencil to achieve correct rendering, replicate the same behavior here. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4275>
* radv/aco: enable 8/16-bit storage and int8/int16 on GFX8+Rhys Perry2020-04-244-22/+33
| | | | | | | | | | | | With this, Doom Eternal should now run with ACO on GFX8+. The generated 8/16-bit storage code is okay but the generated int8/int16 code is currently pretty bad but it works and apparently Doom Eternal doesn't actually use it (even though it requires it). Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4707>
* aco: lower 8/16-bit integer arithmeticRhys Perry2020-04-241-0/+31
| | | | | | | | | dEQP-VK.spirv_assembly.type.* passes with the features and extensions enabled. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4707>
* aco: improve sub-dword emit_split_vector() with sgprsRhys Perry2020-04-241-6/+7
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>
* aco: clobber scc in s_bfe_u32 in get_alu_src()Rhys Perry2020-04-241-1/+2
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>
* aco: handle undef p_create_vector operands in the optimizerRhys Perry2020-04-241-0/+4
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>
* aco: vectorize global loads/storesRhys Perry2020-04-241-2/+10
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>
* aco: allow 8/16-bit shared loadsRhys Perry2020-04-241-2/+0
| | | | | | | | These should work now Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>
* aco: add and use get_buffer_store_op() helperRhys Perry2020-04-241-78/+33
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>
* aco: refactor visit_store_scratch() to use new helpersRhys Perry2020-04-241-32/+15
| | | | | | | | Should support 8/16-bit stores now Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>
* aco: refactor visit_store_global() to use new helpersRhys Perry2020-04-241-30/+29
| | | | | | | | Should support 8/16-bit stores now Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>
* aco: refactor visit_store_ssbo() to use new helpersRhys Perry2020-04-241-64/+13
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>
* aco: refactor store_vmem_mubuf() to use new helpersRhys Perry2020-04-241-58/+9
| | | | | | Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>
* aco: refactor store_lds() to use new helpersRhys Perry2020-04-241-91/+90
| | | | | | | | It should also work correctly for 8/16-bit stores Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4639>