aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* r600/sfn: Don't emit inline constants in the r600 IRGert Wollny2020-04-281-23/+2
| | | | | | | | This can be handled when lowering to assembly, and it makes testing for indirect buffer and sampler access easier. Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4714>
* r600/sfn: simplify UBO lowering passGert Wollny2020-04-281-20/+15
| | | | | Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4714>
* r600: Handle texcoord semantics in LDS index evaluationGert Wollny2020-04-283-10/+12
| | | | | | | | With NIR the texcoord semantic is enabled, and hence we have to handle index evaluation differently here. Signed-off-by: Gert Wollny <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4714>
* ci: bare-metal: power down device after testsChristian Gmeiner2020-04-282-0/+19
| | | | | | | | Helps to save electricity. Signed-off-by: Christian Gmeiner <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4754>
* panfrost: Fix GL_EXT_vertex_array_bgraIcecream952020-04-281-1/+1
| | | | | | | | | | Previously, attributes would always use an RGBA swizzle, even if the format was BGRA. Fixes piglit tests bgra-sec-color-pointer and bgra-vert-attrib-pointer. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4752>
* ci: add llvmpipe paths to virgl rulesDave Airlie2020-04-281-0/+2
| | | | | | | since llvmpipe changes will affect virgl Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4777>
* radv: do not expose GTT as device local memory mostly for APUsSamuel Pitoiset2020-04-271-29/+30
| | | | | | | | | | | | | | | | | | | | | | On APUs, the memory is unified (all heaps are equally fast) and apps should count all memory heaps together. But some games like Id Tech games (Youngblood and such) don't manage memory correctly on APUs and they spill everything when one VRAM heap is full. Instead of spilling buffers, they should just allocate new buffers in the second heap but it seems like these games are confused if two memory heaps have the DEVICE_LOCAL_BIT set. This is probably a first step towards better memory management on APUs but there is still some work to do if we want to run most apps with a small dedicated VRAM (256MB or so). This gives a huge boost for Id Tech games on APUs, and doesn't seem to reduce Feral games performance. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4771>
* gallium/swr: Fix LLVM 11 compilation issuesJan Zielinski2020-04-278-35/+156
| | | | | | | | Changes needed to adapt to LLVM API changes in vector and pointer types. Reviewed-by: Krzysztof Raszkowski <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4769>
* ci/freedreno: Add a test run of a few driver options.Eric Anholt2020-04-274-0/+134
| | | | | | | | | | This lets us get coverage of corner cases of the driver that are tricky to force a testcase to hit. We don't want to do a full run of the CTS with each option because that's a lot of runner time, so stack a bunch of fractional runs in one test job to amortize the test run setup overhead. Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4621>
* ci: Clean up some excessive use of pipes in dEQP results processing.Eric Anholt2020-04-271-10/+4
| | | | | | | | Given that we use set -x in the script, this actually makes the user experience of viewing logs nicer. Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4621>
* ci: Allow namespacing of dEQP run results files.Eric Anholt2020-04-271-16/+20
| | | | | | | | | I want to do multiple runs of some bits of the CTS in one test job to test some driver options, but I want to be able to see the results from any of them. Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4621>
* freedreno: Fix calculation of the const buffer cmdstream size.Eric Anholt2020-04-271-1/+1
| | | | | | | | | The HW packet requires padding the number of pointers you emit, and we would assertion fail about running out of buffer space if the number of UBOs to be uploaded was odd. Fixes: b4df115d3f3c ("freedreno/a6xx: pre-calculate userconst stateobj size") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4621>
* ci: Add sanity checking that dEQP gets the expected GL_RENDERER.Eric Anholt2020-04-275-7/+20
| | | | | | | | | | It's easy to get something wrong in the driver build or container or something that results in falling back to swrast, and then your only clue was runtime and how your failure cases suspiciously match a swrast driver's. Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4621>
* ci: Enable --compact-display false on all dEQP runs.Eric Anholt2020-04-274-5/+4
| | | | | | | | We always want to see status updates happening in the logs, otherwise it can like maybe your machine hung until the run actually completes. Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4621>
* zink: explicitly unref old fb object when setting new oneMike Blumenkrantz2020-04-271-1/+5
| | | | | | | | | | this object has a ref from being created, and its lifetime is expected to be a single frame, so remove that initial ref when we expect to stop using it Closes: #2648 Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4768>
* zink: remove framebuffer cacheMike Blumenkrantz2020-04-272-33/+4
| | | | | | | | this can only match when re-rendering identical frames, which is not a typical case. the lack of cache eviction also leads to memory ballooning. Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4768>
* st/dri: Set next in template instead of after creation. (v2)Bas Nieuwenhuizen2020-04-274-3/+5
| | | | | | | | | | | | | | | | | This should prevent horrors like Iris has with the delayed calls to iris_resource_finish_aux_import just because info is not available at allocation time. AFAICT all drivers just copy the template except radeonsi/r600 which reset the next pointer. AFAICT there is also no other place we get a state tracker setting next ptrs on a resource. v2: Updated Gallium docs. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3792>
* mesa/st: call _mesa_initialize() earlyErik Faye-Lund2020-04-271-0/+2
| | | | | | | | This allows drivers to reliably do things like using the GLSL type-system during initialization. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4765>
* mesa/main: one_time_init() -> _mesa_initialize()Erik Faye-Lund2020-04-272-3/+6
| | | | | | | | | | | | This exposes the logic inside one_time_init() as _mesa_initialize(), so drivers who needs to use functionality initialized in one_time_init earlier if they need. This means we can reliably use the GLSL type-system when compiling driver built-in shaders. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4765>
* mesa/main: Do not pass context to one_time_initErik Faye-Lund2020-04-271-6/+6
| | | | | | | | | There's no longer any reason to pass the context down to one_time_init, because we always do the same thing regardless of the context, and we don't change the context. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4765>
* mesa/main: do not init remap-table per apiErik Faye-Lund2020-04-271-3/+0
| | | | | | | | | | This hasn't really been nessecary since 8386088e3dc ("dispatch: stop using _mesa_create_exec_table_es1() for GLES1."), when we stopped diverging the logic here based on the context-API. So let's simplify the code a bit. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4765>
* mesa/main: do not pass context to one-time extension initErik Faye-Lund2020-04-273-7/+7
| | | | | | | | | _mesa_problem doesn't use the ctx argument for anything, so there's no reason to pass it. This saves us from needing a context passed down this code-path in the first place. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4765>
* mesa/main: do not store unrecognized extensions in contextErik Faye-Lund2020-04-272-19/+18
| | | | | | | | | | | | | We process extension overrides only when we initialize the first context, which means that unrecognized extensions only appear in the first context created. Let's instead store them in a global array, so we can apply them to all contexts. This has the added benefit of making the initialization of the first context less special, which allows us to clean up code a bit more. Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4765>
* vulkan: add initial device selection layer. (v6.1)Dave Airlie2020-04-278-0/+875
| | | | | | | | | | | | | | This is code Bas has out of tree but I think mesa should be shipping it, and I've improved it. Initially-written-by: Bas Nieuwenhuizen <[email protected]> v2: add infinite recursion fix (Bas) v3: Fix wayland/xcb barrier, whitespace v4: use a macro for getting apis, shorten some lines, use outarray v5: rewrite in C, use hash_table/mutex. v6: use once_init to init the mutex, fix freeing ht Reviewed-by: Bas Nieuwenhuizen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/1766>
* freedreno/ir3: Add support for disasm of cat2 float32 immediates.Eric Anholt2020-04-275-47/+86
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4736>
* freedreno/ir3: Refactor out print_reg_src().Eric Anholt2020-04-271-10/+6
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4736>
* freedreno/ir3: Convert remaining disasm src prints to reginfo.Eric Anholt2020-04-271-60/+92
| | | | | | More lines of code, but they're much more intelligible. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4736>
* freedreno/ir3: Add a unit test for our disassembler.Eric Anholt2020-04-272-0/+141
| | | | | | | Makes sure that we can maintain consistent output from our disassembly as we refactor. I've only included stuff that matches qcom's disasm so far. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4736>
* freedreno/ir3: Print a space after nop counts, like qcom's disasm.Eric Anholt2020-04-271-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4736>
* freedreno/ir3: Fix the disasm of half-float STG dests.Eric Anholt2020-04-271-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4736>
* ci: Enable GLES 3.1 testing on db820c (a530).Eric Anholt2020-04-273-0/+14
| | | | | | | The driver exposes GLES3.1, so let's make sure we're not regressing its featureset. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4685>
* freedreno: Fix derivatives without texturing on a3xx-a5xx.Eric Anholt2020-04-275-735/+101
| | | | | | The shader variant tells us if we should set the PIXLODENABLE flag. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4685>
* ci: Enable GLES3 testing on db410c/db820c (freedreno a306 and a530).Eric Anholt2020-04-272-4/+15
| | | | | | | | | | We haven't had it enabled due tointermittent failures. Those failures are, as far as I can tell, due to GPU faults from buffer overflows where a failing test in a thread stomps an otherwise passing thread's buffers. By running deqp single-threaded, we can get more consistent failures, at the cost of needing to do a tiny subset of the tests to keep runtime down. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4685>
* ci: Drop redundant freedreno stage specification.Eric Anholt2020-04-271-1/+0
| | | | | | The source rules give us the stage. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4685>
* freedreno/ir3: run nir_lower_packJonathan Marek2020-04-271-0/+1
| | | | | | | | This lowers pack_32_2x16/unpack_32_2x16 into the scalar versions of those instructions. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4738>
* nir: add pack_32_2x16_split/unpack_32_2x16_split loweringJonathan Marek2020-04-275-13/+21
| | | | | | | | | | | The new option replaces the two other _split lowering options, since there's no need for separate options. Signed-off-by: Jonathan Marek <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Boris Brezillon <[email protected]> Reviewed-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4738>
* radv: Add WSI buffers to BO list only if they can be used.Bas Nieuwenhuizen2020-04-273-14/+42
| | | | | | | | | | | Also reverse the BO list removal loop. This way typical WSI usage should find the entry in O(active swapchains) iterations, which should not be a performance issues. Tested with Doom(2106) which found the entry in 1 iteration every time. Acked-by: Jason Ekstrand <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4306>
* vulkan/wsi: Add callback to set ownership of buffer.Bas Nieuwenhuizen2020-04-272-0/+26
| | | | | | | | For radv BO list pruning. Reviewed-by: Jason Ekstrand <[email protected]> Acked-by: Samuel Pitoiset <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4306>
* ac,radeonsi: fix compilations issues with LLVM 11Samuel Pitoiset2020-04-275-15/+19
| | | | | | | | | | Latest LLVM replaced LLVMVectorTypeKind. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2826 Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4755>
* gallium/gallivm: remove unused header include for newer LLVMJan Zielinski2020-04-271-0/+2
| | | | | | | | | | In the top of the trunk LLVM (11) llvm/IR/CallSite.h header has been removed. The file compiles without this include also for LLVM 8, but I'm not sure about 9, 10, and older versions so I disable it only for the latest LLVM Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4748>
* gallium/gallivm: fix compilation issues with llvm 11Jan Zielinski2020-04-278-19/+26
| | | | | | | | | | | | Top of the trunk LLVM removes old vector type and introduces two new ones - one for fixed-width and one for scalable vectors. This commit fixes compilation issues by switching from LLVMVectorTypeKind to LLVMFixedVectorTypeKind for new LLVM. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4748>
* ir3: Use shared mediump output loweringAlyssa Rosenzweig2020-04-271-49/+1
| | | | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Acked-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4716>
* nir: Move nir_lower_mediump_outputs from ir3Alyssa Rosenzweig2020-04-274-0/+81
| | | | | | | | (Original code from ir3) Reviewed-by: Kristian H. Kristensen <[email protected]> Acked-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4716>
* nir/algebraic: Detect some kinds of malformed variable namesIan Romanick2020-04-271-2/+6
| | | | | | | | | | | | | | I spent over an hour trying to debug a problem if a condition on a variable not being applied. The problem turned out to be "a(is_not_negative" instead of "a(is_not_negative)". This commit would have detected that problem and failed to build. v2: Just add $ to the end of the existing regex, and it will fail to match a malformed string. Suggested by Jason. Reviewed-by: Jason Ekstrand <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> [v1] Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4720>
* pan/bi: Implement 16-bit COMBINE loweringAlyssa Rosenzweig2020-04-271-1/+25
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4766>
* pan/bi: Fix RA wrt 16-bit swizzlesAlyssa Rosenzweig2020-04-271-2/+9
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4766>
* pan/bit: Add SELECT testsAlyssa Rosenzweig2020-04-271-0/+34
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4766>
* pan/bit: Interpret BI_SELECTAlyssa Rosenzweig2020-04-271-1/+13
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4766>
* pan/bi: Force BI_SELECT arguments scalarAlyssa Rosenzweig2020-04-271-0/+4
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4766>
* pan/bi: Pack ADD SEL16Alyssa Rosenzweig2020-04-271-1/+12
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4766>