summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* panfrost: Take into account texture layers in SFBDTomeu Vizoso2019-11-061-5/+6
| | | | | Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Rework format encoding on SFBDTomeu Vizoso2019-11-068-93/+213
| | | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Set 0x10 bit on mali_shader_meta.unknown2_4 on T720Tomeu Vizoso2019-11-062-7/+3
| | | | | | | | | Testing shows that it's needed. Also remove ctx->is_t6xx as it was the last use of it. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* panfrost: Add checksum fields to SFBD descriptorTomeu Vizoso2019-11-063-1/+22
| | | | | | | During tests on T720, these fields were discovered. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]>
* zink: do advertize integer support in shadersErik Faye-Lund2019-11-061-1/+3
| | | | | | This is supported, so let's correct this. Signed-off-by: Erik Faye-Lund <[email protected]>
* zink/spirv: implement ball_fequal[2-4]Erik Faye-Lund2019-11-061-0/+12
|
* zink/spirv: implement ball_iequal[2-4]Erik Faye-Lund2019-11-061-0/+12
|
* zink/spirv: implement bany_inequal[2-4]Erik Faye-Lund2019-11-061-0/+12
|
* zink/spirv: implement bany_fnequal[2-4]Erik Faye-Lund2019-11-061-0/+12
|
* zink/spirv: support loading bool constantsErik Faye-Lund2019-11-061-5/+21
| | | | Seems I missed this before; let's add support for this.
* zink/spirv: drop temp-array for component-countErik Faye-Lund2019-11-061-6/+3
|
* gitlab-ci: Don't build libdrm for ARMMichel Dänzer2019-11-062-20/+2
| | | | | | | The Debian packages work fine. Saves a little bit of time and disk space. Reviewed-by: Eric Anholt <[email protected]>
* gitlab-ci: Use separate arm64 build/test docker imagesMichel Dänzer2019-11-063-66/+123
| | | | | | | | | | | | | | | | The image used for test jobs is only about 1/6 as big as before, which may help avoid some issues with some of the test boards. Inspired by https://gitlab.freedesktop.org/mesa/mesa/issues/2046 . v2: * Leave LIBDRM_VERSION at 2.4.99 (Daniel Stone) * Delete more build artifacts from dEQP tree (Daniel Stone) v3: * Set LD_LIBRARY_PATH for ldd Acked-by: Daniel Stone <[email protected]> # v2 Reviewed-by: Eric Anholt <[email protected]> # Except for the ldd line
* zink: use u_blitter when format-reinterpretingErik Faye-Lund2019-11-061-0/+10
|
* zink: always allow sampling of imagesErik Faye-Lund2019-11-061-4/+3
| | | | This is required if we're going to blit from/to it using u_blitter.
* zink: transition resources before resolvingErik Faye-Lund2019-11-061-0/+8
|
* zink: disable fragment-shader texture-lodErik Faye-Lund2019-11-061-0/+2
| | | | | | | | We don't support nir_texop_txd, which is required by this cap. So let's disable it for now. Signed-off-by: Erik Faye-Lund <[email protected]> Fixes: 8d46e35d16e ("zink: introduce opengl over vulkan")
* zink: make sure src image is transfer-src-optimalDuncan Hopkins2019-11-061-0/+4
| | | | Fixes: d2bb63c8d4c ("zink: Use optimal layout instead of general. Reduces valid layer warnings. Fixes RADV image noise.")
* zink: do not advertize coherent mappingErik Faye-Lund2019-11-061-1/+1
| | | | | | | We do not support them yet, so let's not pretend. Signed-off-by: Erik Faye-Lund <[email protected]> Fixes: 8d46e35d16e ("zink: introduce opengl over vulkan")
* zink: always allow mutating the formatErik Faye-Lund2019-11-061-2/+3
| | | | | | | | There's no good way to know if a texture-view will be created, so we just have to accept it for all resources. Signed-off-by: Erik Faye-Lund <[email protected]> Fixes: 8d46e35d16e ("zink: introduce opengl over vulkan")
* zink: use actual format for render-passErik Faye-Lund2019-11-061-3/+4
| | | | | | | | We should use the format derived from the image-view here, not from the image itselt. Otherwise, we'll end up with incompatible render-passes. Signed-off-by: Erik Faye-Lund <[email protected]> Fixes: 8d46e35d16e ("zink: introduce opengl over vulkan")
* radeonsi: fix shader disk cache keyPierre-Eric Pelloux-Prayer2019-11-061-2/+3
| | | | | | | Use unsigned values otherwise signed extension will produce a 64 bits value where the 32 left-most bits are 1. Fixes: 2afeed30101 ("radeonsi: tell the shader disk cache what IR is used")
* radv: implement VK_EXT_subgroup_size_controlSamuel Pitoiset2019-11-065-3/+59
| | | | | | | | | | | | | | | | This extension allows to control the subgroup size by allowing a varying subgroup size and also specifying a required subgroup size. This implementation only allows to specify a required subgroup size for compute shaders because there is some caveats with other shader stages (eg. NGG with geometry shader). This basically allows apps to use Wave32 for compute shaders. This extension is enabled for all chips but only GFX10 supports Wave32. ACO doesn't support it. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radv: rely on shader's wavesize when computing NGG infoSamuel Pitoiset2019-11-061-1/+10
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radv: determine shaders wavesize at pipeline levelSamuel Pitoiset2019-11-066-19/+28
| | | | | Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radv: hardcode the number of waves for the GFX6 LS-HS bugSamuel Pitoiset2019-11-061-1/+1
| | | | | | | It's always 64. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radv/gfx10: enable wave32 for compute based on shader's wavesizeSamuel Pitoiset2019-11-063-3/+7
| | | | | | | This will allow to change wavesize on-demand. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* nir: fix packing of nir_variableSamuel Pitoiset2019-11-061-2/+2
| | | | | | | | | | | | The maximum number of descriptor sets is indeed 32 but without the sign bit. The maximum number of bindings for RADV is way larger, keep it as 32-bit. Fixes: 96e6ef80d93 ("nir: pack the rest of nir_variable::data") Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Marek Olšák <[email protected]>
* radv: fix 32-bit compiler warningsSamuel Pitoiset2019-11-061-3/+3
| | | | | | Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2031 Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* radv: add a note about perftest/debug optionsSamuel Pitoiset2019-11-061-0/+1
| | | | | | | | | | Now that all environment variables are documented, it would be appreciated if we can keep this up-to-date. [skip ci] Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* docs: document all RADV environment variablesSamuel Pitoiset2019-11-061-0/+105
| | | | | | | | | Requested by https://gitlab.freedesktop.org/mesa/mesa/issues/2022 [skip ci] Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]>
* nir/serialize: pack nir_variable flagsMarek Olšák2019-11-051-13/+36
| | | | Reviewed-by: Connor Abbott <[email protected]>
* nir/serialize: store 32-bit object IDs instead of 64-bitMarek Olšák2019-11-051-28/+31
| | | | | | | | | | That means we have only 30 bits for object IDs, because 2 bits are sometimes used for something else. This decrease the uncompressed shader size for the biggest Borderlands 2 shader from 33.6 KB to 23.2 KB. (31% decrease) Reviewed-by: Connor Abbott <[email protected]>
* nir/serialize: don't expand 16-bit variable state slots to 32 bitsMarek Olšák2019-11-052-7/+5
| | | | | | the swizzle also needs only 16 bits Reviewed-by: Connor Abbott <[email protected]>
* nir: pack the rest of nir_variable::dataMarek Olšák2019-11-051-33/+34
| | | | Reviewed-by: Connor Abbott <[email protected]>
* radeonsi: keep serialized NIR instead of nir_shader in si_shader_selectorMarek Olšák2019-11-055-13/+65
| | | | | | | | | This decreases memory usage, because serialized NIR is more compact. The main shader part is compiled from nir_shader. Monolithic shader variants are compiled from nir_binary. Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: don't keep compute shader IR after compilationMarek Olšák2019-11-051-2/+5
| | | | | | | | not needed. We also need to free TGSI in the destroy function for the case when an app is terminated and si_create_compute_state_async is never executed because of util_queue_drop_job. Reviewed-by: Timothy Arceri <[email protected]>
* radeonsi: use IR SHA1 as the cache key for the in-memory shader cacheMarek Olšák2019-11-053-71/+55
| | | | | | instead of using whole IR binaries. This saves some memory. Reviewed-by: Timothy Arceri <[email protected]>
* lima: add support for gl_PointSizeVasily Khoruzhick2019-11-057-741/+90
| | | | | | | | | | | | | GP handles gl_PointSize similar to gl_Position, i.e. it needs separate buffer and it has special type in varying descriptors, also for indexed draw we need to emit special PLBU command to pass address of gl_PointSize buffer. Blob also clamps gl_PointSize to 1 .. 100 (as well as line width), so let's do the same. Reviewed-by: Andreas Baierl <[email protected]> Signed-off-by: Vasily Khoruzhick <[email protected]>
* mesa/imports: let the build system detect strtok_r()Eric Engestrom2019-11-053-2/+5
| | | | | | | | Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2013 Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Matt Turner <[email protected]> Tested-by: Prodea Alexandru-Liviu <[email protected]> Reviewed-by: Dylan Baker <[email protected]>
* meson: require `nm` again on Unix systemsEric Engestrom2019-11-051-2/+2
| | | | | | | | | This was made optional in ff9bf223c24143260a97 ("meson: make nm binary optional") for Windows, but proper windows has been added and `nm` is now only used on Unix systems. Signed-off-by: Eric Engestrom <[email protected]> Reviwed-by: Dylan Baker <dylan@pnwbakers>
* meson: add windows support to symbols checksEric Engestrom2019-11-052-6/+50
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviwed-by: Dylan Baker <dylan@pnwbakers>
* meson: move the generic symbols check arguments to a common variableEric Engestrom2019-11-059-8/+9
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviwed-by: Dylan Baker <dylan@pnwbakers>
* meson: add variable to control the symbols checksEric Engestrom2019-11-059-8/+9
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Reviwed-by: Dylan Baker <dylan@pnwbakers>
* mesa: fix call to _mesa_lookup_vao_errPierre-Eric Pelloux-Prayer2019-11-051-1/+1
| | | | | | Fixes: 3e842a0b0ea ("mesa: rework _mesa_lookup_vao_err to allow usage from EXT_dsa") Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2055 Reviewed-by: Kenneth Graunke <[email protected]>
* meson: Add dep_glvnd to egl deps when building with glvndDylan Baker2019-11-051-1/+2
| | | | | | | | | | | Otherwise if glvnd is not installed systemwide, but only in a prefix, it's headers wont be found. This happens because if it's headers are in /usr/include/ then another dependence will provide the necessary -I arguments and compilation will work. Fixes: 035ec7a2bb2d5e413ac945b8f012185a0e187d5e ("meson: Add support for EGL glvnd") Acked-by: Eric Engestrom <[email protected]>
* util/u_endian: Add error checksDylan Baker2019-11-051-0/+6
| | | | As suggested by Eric Engestrom and Michel Dänzer.
* util: rename PIPE_ARCH_*_ENDIAN to UTIL_ARCH_*_ENDIANDylan Baker2019-11-0549-122/+122
| | | | | | | | | | | As requested by Tim. This was generated with: grep 'PIPE_ARCH_.*_ENDIAN' -rIl | xargs sed -ie 's@PIPE_ARCH_\(.*\)_ENDIAN@UTIL_ARCH_\1_ENDIAN@'g v2: - add this patch Reviewed-by: Eric Engestrom <[email protected]>
* gallium/osmesa: Use PIPE_ARCH_*_ENDIAN instead of little_endian functionDylan Baker2019-11-051-20/+15
| | | | Reviewed-by: Eric Engestrom <[email protected]>
* mesa/main: delete now unused _mesa_little_endianDylan Baker2019-11-051-12/+0
| | | | Reviewed-by: Eric Engestrom <[email protected]>