aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* pan/bi: Force ADD scheduling for MINMAXAlyssa Rosenzweig2020-04-061-1/+1
| | | | | | | Might be GPU version specific. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>
* pan/bi: Fix incorrect abs flip in fma/fadd16Alyssa Rosenzweig2020-04-061-2/+2
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>
* pan/bi: Set BI_MODS for MINMAXAlyssa Rosenzweig2020-04-061-1/+1
| | | | | | | We support it. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>
* pan/bi: Add ADD add/min/max fp32 packingAlyssa Rosenzweig2020-04-061-0/+36
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>
* pan/bi: Structify ADD unit add/min/maxAlyssa Rosenzweig2020-04-061-0/+17
| | | | | | | ..since it's missing for FMA Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>
* pan/bi: Implement min/max on FMAAlyssa Rosenzweig2020-04-062-7/+15
| | | | | | | | | Unfortunately, while this looks fine to the disasm, it's raising INSTR_INVALID_ENC on my g31 board here. Looks like it might be ADD only on newer Bifrost. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>
* pan/bit: Add special unit testAlyssa Rosenzweig2020-04-065-1/+38
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>
* pan/bit: Add special op interpretingAlyssa Rosenzweig2020-04-061-2/+36
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>
* pan/bi: Add fp16 support for frcp/frsqAlyssa Rosenzweig2020-04-062-2/+15
| | | | | | | More ops. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>
* pan/bi: Add 32-bit _FAST packingAlyssa Rosenzweig2020-04-062-0/+28
| | | | | | | For frcp/frsq on newer Bifrost. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>
* pan/bi: Remove nontrivial SPECIAL opsAlyssa Rosenzweig2020-04-063-20/+0
| | | | | | | | These require a lot more handholding in the IR than we can deal with at this stage; we need to restrict ourselves to frcp/sqrt. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4470>
* aco: zero-initialize TempRhys Perry2020-04-063-2/+3
| | | | | | | | | | | Fixes dEQP-VK.transform_feedback.* crashes from accesses garbage temporaries in emit_extract_vector(). Fixes: 85521061 ("aco: prepare helper functions for subdword handling") Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4463> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4463>
* aco: remove divergence check in sanitize_if()Rhys Perry2020-04-061-2/+1
| | | | | | | | | We also need to do this if a side ends in a divergent break. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4461> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4461>
* nir/lower_amul: fix slot calculationRob Clark2020-04-063-10/+34
| | | | | | | | | | Fixes incorrect indexing in dEQP-GLES31.functional.ssbo.layout.instance_array_basic_type.packed.mat2x3 Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4455> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4455>
* nir: add some swizzle helpersRob Clark2020-04-061-0/+20
| | | | | | | Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4455>
* nir: Assert memory loads are alignedJason Ekstrand2020-04-061-9/+23
| | | | | | | | | | | | We've had alignment parameters on these operations for a while but a bunch of places weren't setting them. That should be resolved now so we can start validating that they're always set. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Samuel Pitoiset <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4441> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4441>
* util: move and adjust the vertex upload heuristic equation from u_vbufMarek Olšák2020-04-062-3/+20
| | | | | | | | | | This will also be used by glthread. The new equation is optimized for glthread. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466>
* vbo: expose helper function vbo_get_minmax_index_mapped for glthreadMarek Olšák2020-04-062-43/+59
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466>
* mesa: split _mesa_primitive_restart_index into a function without gl_contextMarek Olšák2020-04-061-5/+13
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466>
* mesa: precompute _mesa_primitive_restart_index during state changesMarek Olšák2020-04-0611-16/+22
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466>
* mesa: remove no longer needed _mesa_is_bufferobj functionMarek Olšák2020-04-0640-134/+123
| | | | | | | | | | All buffers have Name != 0. Note that there is no longer the pointer dereference to get Name, so it's faster. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466>
* mesa: remove NullBufferObjMarek Olšák2020-04-064-18/+9
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466>
* mesa: don't ever bind NullBufferObj to glBindBuffer(Base,Range) slotsMarek Olšák2020-04-0610-90/+96
| | | | | Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466>
* mesa: don't ever bind NullBufferObj for glBindBuffer targetsMarek Olšák2020-04-0616-103/+62
| | | | | | | | Since VAOs don't use NullBufferObj for vertex attribs anymore, let's remove more uses of NullBufferObj. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466>
* mesa: don't ever set NullBufferObj in gl_vertex_array_bindingMarek Olšák2020-04-0611-78/+113
| | | | | | | | | | This improves performance by 5% in the game "torcs", FPS: 98.83 -> 103.73 It does a lot of glPush/PopClientAttrib, which exacerbates the overhead of setting NullBufferObj. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466>
* mesa: optimize initialization of new VAOsMarek Olšák2020-04-064-73/+83
| | | | | | | | | | | Precompute the default state in gl_context, and just copy it when we create a VAO. This also helps glPushClientAttrib function, which always creates a VAO, which has a substantial CPU overhead in profiles. Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4466>
* android: aco: add various compiler statisticsMauro Rossi2020-04-061-0/+1
| | | | | | | | | Fixes a building error due to compiler/aco_statistics.cpp missing in src/amd/Makefile.sources Fixes: b1544352 ("aco: add various compiler statistics") Signed-off-by: Mauro Rossi <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]>
* nir: fix wrong assignment to buffer in xfb_varyings_infoHyunjun Ko2020-04-061-5/+5
| | | | | | | | | | Tested with dEQP-VK.transform_feedback.fuzz.various_buffers.buffers100_instance_array_vertex Signed-off-by: Hyunjun Ko <[email protected]> Reviewed-by: Tapani Pälli <[email protected]> Cc: [email protected] Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4459> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4459>
* mesa/st: release variants for active programs before unrefTapani Pälli2020-04-063-6/+22
| | | | | | | | | | | | | | | | | | | | | | Programs can be shared among many contexts and each program holds a variant list which has context specific variants. When context gets destroyed it must make sure it relases all variants, otherwise remaining context that utilizes same program will attempt to save a zombie shader for already deleted context when releasing program and its variants. Fixes: dEQP-EGL.functional.sharing.gles2.program.render and other flaky multihread dEQP-EGL failures. v2: pass program pointer via & (Marek) Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Cc: [email protected] Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4386> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4386>
* mesa/st: unbind shader state before deleting itTapani Pälli2020-04-061-0/+6
| | | | | | | | Signed-off-by: Tapani Pälli <[email protected]> Reviewed-by: Marek Olšák <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Cc: [email protected] Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4386>
* pan/bit: Add mode to run unit testsAlyssa Rosenzweig2020-04-051-0/+12
| | | | | | | | Probably the most useful of the bunch going forward. Signed-off-by: Alyssa Rosenzweig <[email protected]> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Make run more usefulAlyssa Rosenzweig2020-04-051-4/+11
| | | | | | | ..by printing some output. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Add csel testsAlyssa Rosenzweig2020-04-054-26/+62
| | | | | | | | ..and pull out common instruction generation to reduce duplication in tests a bit. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Add CSEL to interpreterAlyssa Rosenzweig2020-04-051-1/+44
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Add FMA testsAlyssa Rosenzweig2020-04-052-2/+60
| | | | | | | Now that the earlier reg ctrl issue is fixed these should pass. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Add 16-bit fmod testsAlyssa Rosenzweig2020-04-052-4/+26
| | | | | | | | | These raise another set of issues -- indeed, not all of these tests are passing, since it turns out I have an actual bug in the packing code. So after all this work, test bringup has identified an actual issue :) Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Add verbose printing for testsAlyssa Rosenzweig2020-04-051-1/+10
| | | | | | | | | We'd like to dump both the generated IR (so we know exactly what's being tested) as well as the compiled program (so we know what's running for comparison). Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Add helper for generating floating mod testsAlyssa Rosenzweig2020-04-052-7/+56
| | | | | | | We can iterate them, isn't that adorable! Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Add packing test frameworkAlyssa Rosenzweig2020-04-054-1/+157
| | | | | | | | | Given an instruction, we'd like to wrap it in a clause with some I/O on each end so we can pack it up and send it to the hardware to compare against the simulator. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Implement floating source modsAlyssa Rosenzweig2020-04-051-0/+30
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Implement outmodsAlyssa Rosenzweig2020-04-051-0/+27
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Add preliminary FMA/ADD/MOV implementationsAlyssa Rosenzweig2020-04-051-13/+136
| | | | | | | | | | Missing some details about modifiers but the core structure should look like this for 32 and 16-bit, I think. My sincerest apologies for the macro magic, I tried to make it the least bad I could but trying to keep down repitition. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Handle read/writeAlyssa Rosenzweig2020-04-052-9/+55
| | | | | | | | We case the various sources and destinations to model register file access and passthrough in particular. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bit: Stub out BIR interpreterAlyssa Rosenzweig2020-04-053-1/+112
| | | | | | | | We'd like to step through a BIR program to evaluate it for testing. Let's stub out some infrastructure for modeling Bifrost. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bi: Match CSEL argument order with hwAlyssa Rosenzweig2020-04-052-9/+15
| | | | | | | | | | It turns out ports need to be in order of the arguments of an instruction (port 3, that is), which breaks on instructions whose IR argument order is different from the packed order, like csel. So fix that. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bi: Add helper to debug port assignmentAlyssa Rosenzweig2020-04-051-0/+25
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bi: Handle BIFROST_FIRST_WRITE_FMA_P2_READ_P3Alyssa Rosenzweig2020-04-052-1/+4
| | | | | | | | It's a special case for unclear reasons, and if you mess it up you get INSTR_INVALID_ENC. Isn't hardware fun? Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bi: Allow BI_FMA to take modsAlyssa Rosenzweig2020-04-051-1/+1
| | | | | | | It doesn't take abs but it can take outmod/neg. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bi: Don't gobble zero portsAlyssa Rosenzweig2020-04-051-3/+6
| | | | | | | In case we've reading/writing R0. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>
* pan/bi: Fix negation in ADD.v2f16Alyssa Rosenzweig2020-04-051-20/+9
| | | | | | | | When we flip the sources we need to flip the negates as well to stay consistent. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4458>