aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* llvmpipe: add framebuffer fetching support (v1.1)HEADmasterDave Airlie2020-07-202-89/+243
| | | | | | | | v1.1: Merge two if blocks (Roland) Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5914>
* llvmpipe/cs: respect render conditionDave Airlie2020-07-191-0/+4
| | | | | | | | | Running complete CTS turned up a missing cond render. Fixes KHR-GL45.compute_shader.conditional-dispatching Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5944>
* freedreno: whitespace fixRob Clark2020-07-181-3/+3
| | | | | Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5957>
* freedreno: small comment re-wordRob Clark2020-07-181-1/+1
| | | | | Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5957>
* zink: free all ntv allocations after creating shader moduleMike Blumenkrantz2020-07-181-0/+3
| | | | | | | | these are all fairly large sources of leaks Reviewed-by: Antonio Caggiano <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5887>
* zink: free pipeline cache during program destroyMike Blumenkrantz2020-07-181-5/+15
| | | | | | | | more leaks Reviewed-by: Antonio Caggiano <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5887>
* zink: destroy descriptor pools on context destroyMike Blumenkrantz2020-07-181-1/+3
| | | | | | | | this is a big leak Reviewed-by: Antonio Caggiano <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5887>
* zink: destroy gfx program when a shader is freedMike Blumenkrantz2020-07-186-15/+17
| | | | | | | | | | | | there's no sense in having these objects sitting around when they can never be used again requires adding a zink_context* pointer to each program in order to prune the hash table entry Reviewed-by: Antonio Caggiano <[email protected]> Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5887>
* panfrost: Fix calls to panfrost_flush_batches_accessing_boIcecream952020-07-182-2/+2
| | | | | | | | The function now takes a bool flush_readers instead of an access type, but some calls were not updated. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5962>
* panfrost: Make panfrost_bo_wait take a wait_readers boolIcecream952020-07-182-5/+5
| | | | | | | | | panfrost_bo_wait is often used after panfrost_flush_batches_accessing_bo, so make them take similar arguments for consistency. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5962>
* panfrost: Enable FP16 by defaultAlyssa Rosenzweig2020-07-171-4/+4
| | | | | | | | | | | | | | I see no reason to hide this. The small hit in cycle count is offset in practice by the increase in thread count. So let's ship it and get some testing. If this regresses a workload: 1. Open an issue on the tracker and attach an apitrace. 2. In the meantime set PAN_MESA_DEBUG=nofp16 to override. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5960>
* freedreno/a2xx: Fix compiler warning in disasm.Eric Anholt2020-07-171-1/+2
| | | | | | | | | | | | warning: converting a packed ‘instr_cf_t’ {aka ‘union <anonymous>’} pointer (alignment 1) to a ‘uint16_t’ {aka ‘short unsigned int’} pointer (alignment 2) may result in an unaligned pointer value [-Waddress-of-packed-member] We may know that we'll only ever have aligned instr_cf_ts, but gcc doesn't. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5955>
* zink: use ralloc for spirv_builder as wellErik Faye-Lund2020-07-173-56/+64
| | | | | Reviewed-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954>
* zink: pass mem_ctx to ralloc_size-callErik Faye-Lund2020-07-171-1/+1
| | | | | Reviewed-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954>
* zink: use ralloc for plain malloc-callsErik Faye-Lund2020-07-171-5/+6
| | | | | Reviewed-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954>
* zink: use ralloc in nir-to-spirvErik Faye-Lund2020-07-171-8/+8
| | | | | Reviewed-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5954>
* panfrost: Set depth_enabled when stencil is enabledIcecream952020-07-171-4/+11
| | | | | | | | | | | Fixes square circles in the KiCad 3D viewer. v2: Cleanup a bit, add a comment, and handle the fs->writes_stencil case to be pedantic (Alyssa). Reported-by: Urja Rannikko <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5946>
* panfrost: Report TEXTURE_BUFFER_OBJECTS cap when gl3 flag setIcecream952020-07-171-1/+1
| | | | | | | | OpenGL 3.3 is now reported again when PAN_MESA_DEBUG=gl3 is set. Fixes: 96fa8d70bc1 ("panfrost: Report CAPs more honestly") Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5947>
* nir: Add a face_sysval argument to nir_lower_two_sided_colorIcecream952020-07-171-1/+1
| | | | | | | | | | This is needed for handling drivers that use an input for loading the face, for example Panfrost with Midgard GPUs. Reviewed-by: Alyssa Rosenzweig <[email protected]> Reviewed-by: Rob Clark <[email protected]> Tested-by: Urja Rannikko <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5915>
* panfrost: Do per-sample shading when outputs are readIcecream952020-07-171-2/+7
| | | | | | | Fixes dEQP-GLES31.functional.blend_equation_advanced.msaa.* Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5930>
* pan/mdg: Don't disassemble blit shadersIcecream952020-07-172-2/+2
| | | | | | | | There are a lot of them and they are mostly uninteresting, so don't disassemble them or print shader-db results. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5948>
* virgl: set PIPE_CAP_BLEND_EQUATION_ADVANCEDElie Tournier2020-07-171-0/+2
| | | | | | | Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* virgl: Encode barrier for blend_equation_advancedElie Tournier2020-07-171-1/+2
| | | | | | | Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* virgl: Use alpha_src_factor to store blend_equation_advenced valueElie Tournier2020-07-171-1/+7
| | | | | | | Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* gallium: Add PIPE_CAP_BLEND_EQUATION_ADVANCEDElie Tournier2020-07-171-0/+4
| | | | | | | Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* virgl: Reserved last caps of capability_bitsElie Tournier2020-07-171-0/+1
| | | | | | | | | This cap is used by virglrenderer but not by Mesa. Signed-off-by: Elie Tournier <[email protected]> Reviewed-by: Gert Wollny <[email protected]> Reviewed-by: Dave Airlie <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5516>
* nvc0_2d: Document SET_PIXELS_FROM_MEMORY_CORRAL_SIZE from rnndbRhys Kidd2020-07-172-3/+5
| | | | | | | | | | Present in both cl502d and cl902d. Based on envytools commit 889f8fb4445863c19336c31dd13ecbdd3b19a196 Signed-off-by: Rhys Kidd <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5922>
* nv50_2d,nvc0_2d: Document SET_PIXELS_FROM_MEMORY_SAFE_OVERLAP from rnndbRhys Kidd2020-07-173-4/+4
| | | | | | | | | | Present in both cl502d and cl902d. Based on envytools commit 0b9d3e717828a06be6937395464c34dfc870a6dc Signed-off-by: Rhys Kidd <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5922>
* panfrost: Revert "Disable frame throttling"Alyssa Rosenzweig2020-07-161-3/+0
| | | | | | | | | | | | | | This reverts commit 4fee7b30c0ecc56d7659ecad1d8b140ab253f0db, which was intended to be a temporary workaround for a leak introduced in a65e29ccb26 ("gallium: simplify throttle implementation"). However, that leak was then fixed in 023282a4f667695ea1dbbe9fbe1cd3a9d550a426 and we forgot to revert this hack. Closes: #2108 Signed-off-by: Alyssa Rosenzweig <[email protected]> Cc: mesa-stable Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Enable ChromiumAlyssa Rosenzweig2020-07-161-12/+0
| | | | | | | | With the latest batch of fixes, Chromium works (including WebGL support, although performance is still WIP). Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Report CAPs more honestlyAlyssa Rosenzweig2020-07-161-66/+43
| | | | | | | | | | We're overreporting on some chips and underreporting on others. Let's be more honest. This exposes OpenGL ES 3.0 on Mali T760 through T860. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Fix faults with RASTERIZER_DISCARDAlyssa Rosenzweig2020-07-161-1/+9
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Honour cso->compare_modeAlyssa Rosenzweig2020-07-161-1/+3
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Avoid integer underflow in rt_count_1Alyssa Rosenzweig2020-07-161-1/+1
| | | | | | | | If rt_count = 0, this underflows to MAX_MRT. The hw doesn't seem to care but it's semantically incorrect and confuses pandecode. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Abort on unsupported blitAlyssa Rosenzweig2020-07-161-10/+2
| | | | | | | Instead of silently failing. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Implement Z32F_S8 blitsAlyssa Rosenzweig2020-07-161-3/+12
| | | | | | | | | | Requires the ability to texture the stencil-only portion, and then u_blitter kicks in for the rest. v2: Fix dEQP-GLES31.functional.stencil_texturing.* Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Fix sRGB clear colour packingAlyssa Rosenzweig2020-07-161-1/+1
| | | | | | | | It should be sRGB transformed first, which the generic path handles but the RGBA8 special path does not. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Set PIPE_CAP_MIXED_COLORBUFFER_FORMATSAlyssa Rosenzweig2020-07-161-0/+1
| | | | | | | Missed that this is needed, fixes fbo.completeness.* Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Overhaul tilebuffer allocationsAlyssa Rosenzweig2020-07-161-13/+27
| | | | | | | | | | | | | | | Based on the colour buffers in use, we need to select a tile size allowing either 128-bits of storage per pixel or 512-bits. Based on the size chosen, we scale the offsets into the tilebuffer. Likewise, we need to calculate offsets based on bpp (with special cases) rather than picking an average case. Fixes regressions that otherwise would be caused by the next commit. v2: Fix colour clears (Icecream95). Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* panfrost: Call util_blitter_save_fragment_constant_buffer_slotAlyssa Rosenzweig2020-07-161-0/+2
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5858>
* llvmpipe: fix position offset interpolationDave Airlie2020-07-171-4/+4
| | | | | | | | | | | | pos offset only applies to the gl_FragPos input, when I refactored I messed that up, only use pos_offset for the position inputs and use 0.5 otherwise. This fixes: GTF-GL45.gtf30.GL3Tests.fragment_coord_conventions.fragment_coord_conventions_multisample Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5926>
* llvmpipe: fix stencil only formats.Dave Airlie2020-07-171-0/+3
| | | | | | | | | | | | | | Currently the test crashes with LLVM errors Stored value type does not match pointer operand type! store <8 x i32> %s_dst, <8 x i8>* %261 Change the stored type for 8-bit stencil formats. Fixes: GTF-GL45.gtf44.GL31Tests.texture_stencil8.texture_stencil8_gl44 Reviewed-by: Roland Scheidegger <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5926>
* radeonsi: use PIPE_FORMAT_P010 for 10-bit VP9 decodingThong Thai2020-07-161-2/+2
| | | | | | Signed-off-by: Thong Thai <[email protected]> Reviewed-by: Leo Liu <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5848>
* panfrost: Use Midgard-specific reloadsAlyssa Rosenzweig2020-07-167-149/+181
| | | | | | | | | | | | | | | | | | | | | | | | | v2: Be more explicit about sampler types. Prefer the term "load" to "resolve" to match VK convention. Generate shaders for MRT 8x. Blit shader generation adds about 6ms to startup cost. We could cache thes. shaders to disk if we needed to (or indeed, ship binaries). v3: Fallback on u_blitter on Bifrost so Bifrost continues to work. KHR_partial_update support is mostly no-oped on Bifrost now, but that's okay for now - compositors are still functional. v4: Specialize on multisample state as well to enable reloads of MSAA textures. This requires 2x the shader variants, so I assume we're up to 12ms startup cost for generation. Annoying. Also fix interactions with depth- or stencil-only clears of combined depth-stencil surfaces. v5: Cache to the device (screen) instead of the context, reducing duplicated work in apps that create many contexts (e.g. Chromium) v6: Squash in KHR_partial_update cleanup to fix intermediate regressions on a few tests. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5824>
* radeonsi: prevent a gfx10_ngg_calculate_subgroup_info failure for TES+NGG GSMarek Olšák2020-07-161-2/+8
| | | | | | | | arb_tessellation_shader-tes-gs-max-output -small -scan 1 50 -auto -fbo doesn't pass, but at least all shaders are compiled successfully. Acked-by: Pierre-Eric Pelloux-Prayer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5700>
* panfrost: Extract panfrost_batch_reserve_framebufferAlyssa Rosenzweig2020-07-153-17/+28
| | | | | | | | We need to trigger it explicitly for reloads without draws (for Z^S reload which is an edge case). Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929>
* panfrost: Track surfaces drawn per-batchAlyssa Rosenzweig2020-07-153-1/+13
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929>
* panfrost: Set zs_samples as necessaryAlyssa Rosenzweig2020-07-151-5/+9
| | | | | | | Fixes MSAA Z/S. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929>
* panfrost: Handle per-sample shadingAlyssa Rosenzweig2020-07-154-0/+19
| | | | | Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929>
* panfrost: Add rectangle subtraction algorithmAlyssa Rosenzweig2020-07-154-0/+193
| | | | | | | For better supporting KHR_partial_update. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929>