aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* st/mesa: Move _NEW_FRAG_CLAMP to NewFragClamp driver flag.Mathias Fröhlich2020-04-305-12/+21
| | | | | Reviewed-by: Marek Olšák <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314>
* mesa: optimize glPush/PopClientAttrib by removing malloc overheadMarek Olšák2020-04-304-137/+46
| | | | | | | | just declare all structures needed by the stack in gl_context. This improves performance by 5.6% in the game "torcs". FPS: 101.01 -> 106.73 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4314>
* freedreno/a6xx: don't set SP_FS_CTRL_REG0.VARYING for fragcoordRob Clark2020-04-301-1/+0
| | | | | | | | | | Similar change to 5785bcc8a0ff9c5072c647337bf73f696c63cbe6. It appears on a6xx and in fact this could cause varying corruption before the FS had a chance to consume the varyings from varying storage. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2838 Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4838>
* iris: don't assert on unfinished aux import in copy pathsLionel Landwerlin2020-04-303-13/+33
| | | | | | | | | | | | | | | | | After a resource is created the first command using it could be a copy command. In iris_state we finish the import on surface/view creation but we don't do that for copies. v2: Move finish call to gallium entrypoints (Ken) Signed-off-by: Lionel Landwerlin <[email protected]> Cc: <[email protected]> Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/2725 Reviewed-by: Tapani Pälli <[email protected]> (v1) Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4657>
* freedreno: sync registers with envytoolsRob Clark2020-04-303-12/+24
| | | | | | | | Pull in the `SP_xS_BRANCH_COND` regs to keep the mesa and envytools copies from getting out of sync. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: more OUT_REG()Rob Clark2020-04-301-26/+41
| | | | | Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno: scissor vs disabled scissor micro-optRob Clark2020-04-303-3/+12
| | | | | | | | We don't need to deref and check rast state every time scissor changes, only when rast state changes. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: convert const emit to OUT_PKT()Rob Clark2020-04-302-36/+71
| | | | | | | | | This is another hot packet. This splits out each of the four cases (geom vs frag, and indirect vs inline) intentionally, to avoid some parity bit calc. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/ir3: inline const emitRob Clark2020-04-3014-619/+711
| | | | | | | | | | | | Drop vfunc callbacks for per-gen packet emit, and instead have a header that is #include'd once per gen. We'll end up with multiple copies of some of this, but since we never have multiple gen's of adreno on a single device, only one copy will be paged in (and hopefully in the I-cache for hot-paths) Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: split out const emitRob Clark2020-04-307-249/+375
| | | | | | | | | | In order to inline the const emit and drop the per-gen vfuncs to emit the correct sort of packet, we should consolidate all of the entry- points to const emit in one object file, otherwise we'll end up with multiple copies per gen. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: convert draw packet to OUT_PKT()Rob Clark2020-04-301-48/+51
| | | | | | | | | | | | | | This is one of the hotter pkt7 packets, since it is guaranteed to happen on every draw. Switch to OUT_PKT() for less driver overhead in the draw path. Slight bit of cheating for using CP_DRAW_INDX_OFFSET_0 for the first dword in all cases. Possibly *gen_header.py* could be more clever and use typedef's in the cases of bitsets like vgt_draw_initiator. But this works out because it is always the first dword. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: add OUT_PKT()Rob Clark2020-04-303-5/+97
| | | | | | | | | | | Similar to OUT_REG(), this has the benefits of: 1. No more messing up pkt size 2. Detects errors of mixing up the order of dwords in the packet 3. Optimizes to more efficient code Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: skip unnecessary MRT blend stateRob Clark2020-04-301-3/+3
| | | | | | | To lower CP overhead. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: combine sample mask into blend stateRob Clark2020-04-304-35/+102
| | | | | | | | | | | | | This gets rid of one lone register we used to emit directly in IB2 whenever blend state changes, at the expense of needing blend state variants when sample-mask changes. I think typically sample-mask should not change frequently, so this seems like a fair trade-off. To further limit the # of variants, we ignore sample-mask bits that are not relavant for the current # of samples. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: move blend-color to stateobjRob Clark2020-04-302-0/+5
| | | | | | | To reduce CP overhead for draws skipped in a bin. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: limit LRZ state emitRob Clark2020-04-302-9/+34
| | | | | Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: limit PROG_FB_RAST state emitRob Clark2020-04-303-2/+10
| | | | | | | | The dependency on RASTERIZER state is only when rasterizer_discard changes. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: move scissor state to stateobjRob Clark2020-04-302-2/+9
| | | | | | | To reduce CP overhead for draws skipped in a given tile. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: move const state to single stateobjRob Clark2020-04-302-19/+28
| | | | | | | | | | In practice, we end up updating all the shader stages at the same time. So collapse this into a single group. Reduces CP overhead. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: avoid unnecessary clearing VS DP stateRob Clark2020-04-302-1/+7
| | | | | | | | | If there is no (potentially unflushed) VS driver-param state, we don't need to emit a DISABLE on each frame. So avoid that to reduce CP overhead. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/a6xx: small query cleanupRob Clark2020-04-301-3/+1
| | | | | | | Don't open-code `fd6_event_write()` Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/drm: inline the thingsRob Clark2020-04-303-65/+62
| | | | | | | | | The existing structure dates back to when this code was part of libdrm, and we wanted some of this not to be exposed as ABI between libdrm and mesa. Now that this is no longer a constraint, inline things. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/drm: drop atomic refcntsRob Clark2020-04-301-2/+2
| | | | | | | | Since we dropped the async flush_queue, we no longer need the refcnts to be atomic. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4813>
* freedreno/ir3: Initialize the unused dwords of the immediates consts.Eric Anholt2020-04-301-0/+3
| | | | | | | Avoids having spurious differences (and weird values to look at!) in traces from uninitialized memory. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4824>
* Revert "anv/gen12: Temporarily disable VK_KHR_buffer_device_address (and EXT)"Jason Ekstrand2020-04-301-4/+2
| | | | | | | | | This reverts commit c61ad77cd260ce7666b257ce411e512e0ca12ec8. We now no longer have a problem with these. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4819>
* intel/eu: Use non-coherent mode (BTI=253) for stateless A64 messagesJason Ekstrand2020-04-302-10/+39
| | | | | | | | | | We don't care about full IA coherency since we always have the opportunity in GL or Vulkan to flush the data cache. Using IA-coherent mode is likely just making A64 access slower than it needs to be. Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4819>
* pan/decode: Use correct printf modifier for long intTomeu Vizoso2020-04-301-1/+1
| | | | | | | | | | As reported by Coverity: >>> CID 1462605: API usage errors (PRINTF_ARGS) >>> Argument "p->zero5" to format specifier "%x" was expected to have type "unsigned int" but has type "unsigned long". Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4724>
* pan/decode: Check for correct unknown fieldTomeu Vizoso2020-04-301-1/+1
| | | | | | | | | | | As reported by Coverity: >>> CID 1462606: Incorrect expression (COPY_PASTE_ERROR) >>> "unk1" in "s->unk1" looks like a copy-paste error. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4724>
* panfrost: Don't leak temporary descriptors arrayTomeu Vizoso2020-04-301-0/+2
| | | | | | | | | | | As found by Coverity: >>> CID 1462596: Resource leaks (RESOURCE_LEAK) >>> Variable "descriptors" going out of scope leaks the storage it points to. Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4724>
* panfrost: Emit blend descriptors on BifrostTomeu Vizoso2020-04-309-56/+200
| | | | | | Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4724>
* panfrost: Enumify bifrost blend typesAlyssa Rosenzweig2020-04-301-8/+11
| | | | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Signed-off-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4724>
* gitlab-ci: update tracie README after changes in main scriptAndres Gomez2020-04-301-11/+6
| | | | | | | | | | | v2: - Update the default location for the traces when there is no traces-db entry in the traces definition file (Alexandros). Fixes: 90a39af5f65 "(ci: Drop the git dependency in tracie)" Signed-off-by: Andres Gomez <[email protected]> Reviewed-by: Alexandros Frantzis <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4640>
* .mailmap: add an alias for Andres GomezAndres Gomez2020-04-301-0/+2
| | | | | | Reviewed-by: Erik Faye-Lund <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4739>
* .mailmap: add an alias for Iago Toral QuirogaAndres Gomez2020-04-301-0/+2
| | | | | | Reviewed-by: Erik Faye-Lund <[email protected]> Reviewed-by: Iago Toral Quiroga <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4739>
* ci: Add intel to shaderdb runsLionel Landwerlin2020-04-301-1/+2
| | | | | | | Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Acked-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594>
* intel: add stub_gpu toolLionel Landwerlin2020-04-303-0/+468
| | | | | | | | | | | | | | | | | Run shaderdb like this : intel_stub_gpu -p bxt ./run ./shaders/* List of platform names is available from gen_device_name_to_pci_device_id() (src/intel/dev/gen_device_info.c). v2: Add missing getparam support Raise max soft limit of file descriptors Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Acked-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594>
* intel/dev: print out error when platform is not found by nameLionel Landwerlin2020-04-301-0/+6
| | | | | | | Signed-off-by: Lionel Landwerlin <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Acked-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594>
* drm-shim: silence warningsLionel Landwerlin2020-04-301-15/+28
| | | | | | | | | | | | | Matt is seeing a bunch of warnings : drm_shim.c:312:4: warning: ignoring return value of ‘asprintf’, declared with attribute warn_unused_result [-Wunused-result] v2: Add nofail variants of *asprintf (Eric) Signed-off-by: Lionel Landwerlin <[email protected]> Acked-by: Matt Turner <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594>
* drm-shim: don't create a memfd per BOLionel Landwerlin2020-04-302-13/+30
| | | | | | | | | | | | | | Running shader-db on big servers with many cores, we're running out of file descriptors. Use a single 4Gb memfd instead and allocate from it using a VMA. v2: Align VMA allocation to 4096 (Eric) Signed-off-by: Lionel Landwerlin <[email protected]> Acked-by: Matt Turner <[email protected]> Reviewed-by: Eric Anholt <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594>
* drm-shim: move handle lock to shim_fdLionel Landwerlin2020-04-302-9/+12
| | | | | | Signed-off-by: Lionel Landwerlin <[email protected]> Acked-by: Matt Turner <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4594>
* gallium: extract out logicop helperRob Clark2020-04-305-68/+30
| | | | | | Signed-off-by: Rob Clark <[email protected]> Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4826>
* gallivm: fix half to float conversions with llvm 11Roland Scheidegger2020-04-301-10/+24
| | | | | | | | | | | | | | LLVM 11 removes the intrinsic for half to float conversion, so use the fpext function instead. This function actually works now with half to float, albeit a quick experiment showed at least the x86 backend cannot lower it itself if the cpu doesn't support it natively and tries to call external library, which crashes (and would be very slow anyway as it would be lowered to scalar code), so for now only use it where we previously used the f16c intrinsic. Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/2603 Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4800>
* cut 20.1 branchEric Engestrom2020-04-293-24/+2
| | | | | Signed-off-by: Eric Engestrom <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4823>
* intel/ir: Update performance analysis parameters for memory fence codegen ↵Francisco Jerez2020-04-291-4/+18
| | | | | | | | | | | | | changes. The SFID field of the SHADER_OPCODE_MEMORY_FENCE and SHADER_OPCODE_INTERLOCK instructions now indicates the target function of the memory fence. Account the cycle-count cost to the right shared unit. Fixes: f858fa26b4cca8834c8687f01d2ba431fcc8e006 ("intel/fs,vec4: Pull stall logic for memory fences up into the IR") Reviewed-by: Caio Marcelo de Oliveira Filho <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4817>
* docs: update calendar, add news item, and link releases notes for 20.0.6Dylan Baker2020-04-293-7/+4
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4822>
* docs: Add SHA256 sums for 20.0.6Dylan Baker2020-04-291-1/+1
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4822>
* docs: Add release notes for 20.0.6Dylan Baker2020-04-291-0/+130
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4822>
* pan/mdg: Be a bit more pedantic in invert passesAlyssa Rosenzweig2020-04-291-0/+1
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4820>
* pan/mdg: Track more typesAlyssa Rosenzweig2020-04-291-3/+11
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4820>
* freedreno: fix buffer importRob Clark2020-04-291-1/+2
| | | | | | | | `rsc->layout.cpp` is zero until we `fd_resource_layout_init()` Fixes: 5a8718f01b3 ("freedreno: Make the slice pitch be bytes, not pixels.") Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4818>