aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: add gl_SampleMaskIn support.Dave Airlie2020-05-191-0/+10
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
* gallivm/nir: add sample_mask_in supportDave Airlie2020-05-193-0/+5
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
* llvmpipe/fs: hook up the interpolation APIs.Dave Airlie2020-05-191-0/+35
| | | | | | | This hooks the nir code to the interp code. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
* llvmpipe: add interp instruction supportDave Airlie2020-05-193-0/+235
| | | | | | | | This allows interpolating an attribute at offset/sample/centroid locations. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
* llvmpipe/interp: refactor out centroid calculationsDave Airlie2020-05-191-30/+39
| | | | | | | These will be reused in the interp instruction code. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
* llvmpipe/interp: refactor out use of pixel center offsetDave Airlie2020-05-191-8/+9
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
* gallivm/nir: add an interpolation interface.Dave Airlie2020-05-194-0/+74
| | | | | | | | This supports interpolating at a certain location, offsets, sample or centroid. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
* llvmpipe: remove non-simple interpolation paths.Dave Airlie2020-05-192-353/+25
| | | | | | | | These are broken since adding multisample, and unused for quite a while. Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
* llvmpipe/interp: fix interpolating frag pos for sample shadingDave Airlie2020-05-191-2/+11
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
* llvmpipe: use per-sample position not sample id for interpDave Airlie2020-05-191-1/+1
| | | | | Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
* llvmpipe: don't use sample mask with 0 samplesDave Airlie2020-05-192-12/+2
| | | | | | | | | | | piglit: spec/arb_sample_shading/builtin-gl-sample-mask 0 spec/arb_sample_shading/builtin-gl-sample-mask-simple 0 CTS: KHR-GL45.sample_variables.mask.rgba8.samples_0.mask_zero Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5050>
* r600/sfn: add emit if start cayman supportDave Airlie2020-05-181-2/+2
| | | | | Reviewed-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084>
* r600/sfn: add callstack non-evergreen supportDave Airlie2020-05-181-6/+34
| | | | | Reviewed-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084>
* r600/sfn: cayman fix int trans op2Dave Airlie2020-05-181-9/+29
| | | | | | | Fix integer multiplies Reviewed-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084>
* r600/sfn: fix cayman float instruction emission.Dave Airlie2020-05-182-4/+23
| | | | | | | This is enough to get glxgears working. Reviewed-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084>
* r600/sfn: plumb the chip class into the instruction emissionDave Airlie2020-05-1819-34/+59
| | | | | | | | In order to emit the correct instruction sequences for cayman we need this info. Reviewed-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5084>
* anv:gpu_memcpy: Emit 3DSTATE_VF_INDEXING on Gen8+Jason Ekstrand2020-05-181-0/+7
| | | | | | | | | | | If this gets run right after something which uses VK_VERTEX_INPUT_RATE_INSTANCE on its first vertex binding, we could end up in serious trouble. Fixes: 3d9747780b "anv: Add a helper for doing buffer copies with..." Reviewed-by: Rafael Antognolli <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5090>
* intel/fs: Use writes_memory from shader_infoCaio Marcelo de Oliveira Filho2020-05-182-25/+3
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4815>
* nir: Use deref intrinsics to set writes_memory when gathering infoCaio Marcelo de Oliveira Filho2020-05-181-0/+29
| | | | | Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4815>
* r600: enable TEXCOORD semantic for TGSI.Dave Airlie2020-05-186-34/+35
| | | | | | | This should make intergrating with NIR easier Reviewed-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5083>
* ci: Switch the baremetal runner to be an x86 docker image.Eric Anholt2020-05-182-1/+112
| | | | | | | | | | | | | The runner is an x86 system, so running the ARM image meant doing everything at runtime under qemu, and for the xz of the test rootfs that was quite expensive. Also, we can rebuild x86 images much faster than we can rebuild arm images for container development, which will help unblock some of the other feature parity work I have to do versus the old docker system that cheza is using. Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>
* ci: Update versions of packages to remove from rootfses.Eric Anholt2020-05-182-3/+3
| | | | | | | | | testing's versions have updated, and the apt one was pretty big in the stripped rootfs. Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>
* ci: Make the create-rootfs more resilient.Eric Anholt2020-05-182-8/+8
| | | | | | | | | If the file doesn't exist, fine. We didn't happen to get that package dragged in. Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>
* ci: Make cmake toolchain file for deqp cross build setup.Eric Anholt2020-05-183-3/+24
| | | | | | | | | | This adds a few more variables that we found we needed for x86-to-arm dEQP cross builds. Also note that we're now fixed to use ccache in the dEQP builds. Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>
* ci: Autodetect whether we need cross setup in lava_arm builds.Eric Anholt2020-05-182-9/+9
| | | | | | | | | The x86 baremetal build would have an armhf cross file, and need the kernel env setup. Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>
* ci: Move cross file generation to a shared script.Eric Anholt2020-05-184-19/+17
| | | | | | | | | We're going to do this in another container soon, and it would also be nice to consolidate cmake cross setup. Reviewed-by: Christian Gmeiner <[email protected]> Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5033>
* iris: Initialise stub iris_seqno to 0Chris Wilson2020-05-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | We create a stub never-signaled seqno to force the iris_fence to use the fence fd, but we need to fully initialise the iris_seqno struct so that the unset pointers are NULL and we do not try to destroy them later. ==38644== Conditional jump or move depends on uninitialised value(s) ==38644== at 0xF7FBFAA: pipe_resource_reference (u_inlines.h:142) ==38644== by 0xF7FC22F: iris_seqno_destroy (iris_seqno.c:38) ==38644== by 0xF7E8930: iris_seqno_reference (iris_seqno.h:89) ==38644== by 0xF7E8BC3: iris_fence_destroy (iris_fence.c:131) ==38644== by 0xF7E8C41: iris_fence_reference (iris_fence.c:143) ==38644== by 0xEF24525: dri2_destroy_fence (dri_helpers.c:176) ==38644== by 0x4865DC2: dri2_egl_unref_sync (egl_dri2.c:3302) ==38644== by 0x48661E8: dri2_destroy_sync (egl_dri2.c:3433) ==38644== by 0x4855BA4: _eglDestroySync (eglapi.c:1952) ==38644== by 0x4855CF5: eglDestroySyncKHR (eglapi.c:1972) ==38644== by 0x402628: test_cleanup (egl_khr_fence_sync.c:232) ==38644== by 0x40421E: test_eglCreateSyncKHR_native_from_fd (egl_khr_fence_sync.c:1521) Closes: #2909 Fixes: fd1907efb385a6f66897 ("iris: Convert fences to using lightweight seqno") Reviewed-by: Lionel Landwerlin <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5004>
* freedreno/drm: handle ancient kernelsRob Clark2020-05-182-1/+4
| | | | | | | | | | | | Older kernels did not support `MSM_INFO_GET_IOVA`. But this is only required for (a) clover (ie. `fd_set_global_binding()`) and drm paths that are limited to newer kernels. So move the location of the assert to fix new userspace on old kernels. Fixes: c9e8df61dc8 ("freedreno: Initialize the bo's iova at creation time.") Signed-off-by: Rob Clark <[email protected]> Tested-by: Ilia Mirkin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5081>
* freedreno/drm: don't pass thru 'DUMP' flag on older kernelsRob Clark2020-05-181-1/+2
| | | | | | | | | | | | | "softpin" mode was introduced in the same kernel as the 'DUMP' flag. So if we are using the legacy non-softpin path, clear the dump flag. OTOH the 'DUMP' flag isn't quite so needed on older kernels, since we would get all cmdstream, even SDS stateobjs, dumped regardless, as they would have cmd table entries. Fixes: b2c23b1e48f ("freedreno: Mark all ringbuffer BOs as to be dumped on crash.") Signed-off-by: Rob Clark <[email protected]> Tested-by: Ilia Mirkin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5081>
* freedreno/a3xx: fix rasterizer discardIlia Mirkin2020-05-182-43/+3
| | | | | Signed-off-by: Ilia Mirkin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5080>
* freedreno/fdperf: add dependency on generated headersRob Clark2020-05-181-1/+1
| | | | | | | | | To fix an issue reported here: https://bugs.chromium.org/p/chromium/issues/detail?id=1083815 Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5088>
* ci: Fix TypoError error when traces in traces.yml is an empty listPablo Saavedra2020-05-182-1/+12
| | | | | | | | | | | | | | | v2: Python's nitpick (Andres) In case of an empty list of traces, the results.yml will contain an empty curly braces. In YAML, an associative array can also be specified by text enclosed in curly braces ({}), This commit also adds the corresponding test to check the behavior of tracie when no traces are added in the traces.yml file. Signed-off-by: Pablo Saavedra <[email protected]> Reviewed-by: Andres Gomez <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
* ci: Split test_tracie_skips_traces_without_checksum in separate casesPablo Saavedra2020-05-181-1/+18
| | | | | | | | | | | | | | | | | test_tracie_skips_traces_without_checksum does the logic previous to the commit 8546d1dd789b58bd0aff5ca0a231efb35c09c1ac. The traces.yml includes several traces, only the one without checksum is ignored by tracie. As a complementary action, this change adds an new test (test_tracie_only_traces_without_checksum) to verify the behavior for cases where the traces.yml only contains traces without checksum. Finally, test_tracie_skips_traces_without_checksum is renamed as test_tracie_traces_with_and_without_checksum Signed-off-by: Pablo Saavedra <[email protected]> Reviewed-by: Andres Gomez <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
* ci: Migrate tracie tests done in shell script to pytestPablo Saavedra2020-05-188-159/+193
| | | | | | | | | | | | | | | | | | | | | | | | | v2: Verbatim translation from the original shell script Make the corrections visible in explicit commits (Andres) Remove redundant code (Alexandros) Code style nitpick (Rohan) Reimplementation of the tracie's self-tests using a pythonic test suit (pytest). The new tracie/test.py module is almost a direct translation of the tests defined in the tracie/test.sh. This new implementation of the test provides a more common framework where define the tests. Also allows a better introspection for the tests results and/or resulting errors. This patch also adds python3-pytest as dependency for the built images and adapts the tracie-runner scripts to run the self-test using pytest. Signed-off-by: Pablo Saavedra <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> [v1] Reviewed-by: Andres Gomez <[email protected]> Reviewed-by: Rohan Garg <[email protected]> [v1] Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
* ci: ArgumentParser receives the args from the main parametersPablo Saavedra2020-05-181-13/+18
| | | | | | | | | | | | | | | Change the main function to receive the args parameter from sys.argv[1:]. The args parameter will be passed to the ArgumentParser.parse_args() function as argument. This change provides an easier main() function signature to use with pythonic testsuites. Signed-off-by: Pablo Saavedra <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Reviewed-by: Andres Gomez <[email protected]> Reviewed-by: Rohan Garg <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
* ci: TRACES_DB_PATH and RESULTS_PATH defined as relative pathsPablo Saavedra2020-05-181-2/+2
| | | | | | | | | | | | | | | | | RESULTS_PATH and RESULTS_PATH, as variables in the module context, are resolved one single time, only during the first module loading. If the the Python code in execution changes the current dir at some point, those paths are not going to be updated anymore keeping the paths wrongly pointing to the old working dir. This change modify the definition of those variables to use simply relative paths. Signed-off-by: Pablo Saavedra <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Reviewed-by: Andres Gomez <[email protected]> Reviewed-by: Rohan Garg <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4916>
* etnaviv: don't expose timer queriesLucas Stach2020-05-181-3/+1
| | | | | | | | | We don't support any timer queries, so stop lying about our ability to do so. Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Christian Gmeiner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5086>
* freedreno/a3xx: parameterize ubo optimizationIlia Mirkin2020-05-174-1930/+27
| | | | | | | | | | | A3xx apparently has higher alignment requirements than later gens for indirect const uploads. It also has fewer of them. Add compiler parameters for both settings, and set accordingly for a3xx and a4xx+. This fixes all the ubo test failures caused by this optimization. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5077>
* freedreno: fix off-by-one in assertions checking for const sizesIlia Mirkin2020-05-174-5/+5
| | | | | | | | | Caused assertions to trip even though everything was fine. The number of constants can be equal to length, so we need less-than-or-equal. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5077>
* freedreno/a3xx: fix const footprintIlia Mirkin2020-05-171-2/+2
| | | | | | | | | | In commit 5d8f40a53a5, the change was done incorrectly, switching from max_const to constlen + 1. Instead it should have been constlen - 1, which is the analog to the former max_const. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5077>
* freedreno/ir3: avoid applying (sat) on bary.fIlia Mirkin2020-05-172-3/+5
| | | | | | | | | | This causes failures on a3xx resulting in the non-sensical dEQP failures on packUnorm2x16. The same test uses ldlv on a4xx+, so just disallow (sat) on bary.f on all generations. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5074>
* freedreno/a3xx: reinstate rgb10_a2ui texture formatIlia Mirkin2020-05-172-20/+1
| | | | | | | | | | | Rendering doesn't work, but having the format in place avoids an assert when selecting the texture format in st_format. I believe it's required for GLES3, so more tracing is required to determine what bit we're missing to make rendering work. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5073>
* freedreno/a3xx: there's no r8i/ui rb format, only rg8i/rg8uiIlia Mirkin2020-05-173-145/+10
| | | | | | | | | | | | | | This fixes a number of dEQP tests: dEQP-GLES3.functional.fbo.blit.conversion.r8* dEQP-GLES3.texture.specification.basic_teximage2d.r8* and others. The reason why this enum showed up in traces for R8 is that it was an "upgraded" texture to R8G8. Signed-off-by: Ilia Mirkin <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5073>
* radv: use util_float_to_half_rtzChristopher Egert2020-05-171-1/+1
| | | | | | | | | | | | | | | Since commit 8b8af6d398a94cb07015c695fdfdb5c157aa72cf there is a performance regression in dirt 4 on picasso APUs. The game ends up feeding a large value into this which overflows on the conversion to 16bit float. With the old implementation (which now lives in util_float_to_half_rtz) it would be clamped to inf-1, while the new one returns inf. This causes a performance hit somehow at some point down the line. Reviewed-by: Bas Nieuwenhuizen <[email protected]> Fixes: 8b8af6d398a "gallium/util: Switch util_float_to_half to _mesa_float_to_half()'s impl." Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5062>
* lima/ppir: optimize tex loads with single successorErico Nunes2020-05-162-2/+18
| | | | | | | | These don't need a mov, and can be used directly with pipeline output. Signed-off-by: Erico Nunes <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4975>
* lima/ppir: rework tex loweringErico Nunes2020-05-163-63/+66
| | | | | | | | | Move steps from lowering to emit, since they can be done earlier in a single place, rather than in two-steps. Signed-off-by: Erico Nunes <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4975>
* lima/ppir: improve handling for successors in other blocksErico Nunes2020-05-163-8/+12
| | | | | | | | | | | | | | | | | | ppir doesn't register successors in other blocks, and causes ppir_node_has_single_succ to be unreliable as it might return true for nodes with successors in other blocks. This is bad for optimization passes that try to pipeline registers or avoid insertion of movs, as that can generally only be done for nodes with a single user. As of now, ppir can't just start adding successors in other blocks as that breaks the scheduling code. So this patch is a little hacky but enables pipelining optimizations during lowering. It can hopefully be removed during future scheduler rework. Signed-off-by: Erico Nunes <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4975>
* lima/ppir: handle failures on all ppir_emit_cf_list pathsErico Nunes2020-05-161-3/+7
| | | | | | | | | | | | In some paths where ppir_emit_cf_list is called, compilation errors such as in unsupported features were not being handled, allowing compilation to continue and fail at some random point later. Handle them properly so compilation aborts in the expected way rather than what may look like a compiler crash/bug. Signed-off-by: Erico Nunes <[email protected]> Reviewed-by: Vasily Khoruzhick <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4975>
* util/rand_xor: extend the urandom path to all non-Windows platformsEric Engestrom2020-05-161-2/+4
| | | | | | | | Any system that provides `/dev/urandom` should be allowed to try to use it. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emmanuel Gil Peyrot <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2316>
* util/rand_xor: fallback Linux to time-based instead of fixed seedEric Engestrom2020-05-161-22/+14
| | | | | | | | | When the caller asked for a randomised_seed, we should fall back to the time-based seed instead of the fixed seed. Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Emmanuel Gil Peyrot <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2316>