aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers
Commit message (Collapse)AuthorAgeFilesLines
* 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>
* panfrost: Identify zs_samples fieldAlyssa Rosenzweig2020-07-151-2/+2
| | | | | | | For MSAA depth/stencil. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929>
* panfrost: Include sample count in payload estimatesAlyssa Rosenzweig2020-07-151-0/+2
| | | | | | | Otherwise we might not reserve enough space. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929>
* panfrost: Expose panfrost_get_blend_shaderAlyssa Rosenzweig2020-07-152-1/+8
| | | | | | | It is needed to produce a blend shader for blits. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929>
* panfrost: Force Z/S writebackAlyssa Rosenzweig2020-07-151-2/+2
| | | | | | | This is unfortunately necessary for conformance at this stage. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5929>
* nv50_2d: regenerate envytools-based rnndb headersRhys Kidd2020-07-161-14/+30
| | | | | | | | | | | | | | | | | | | | | The headers hadn't been regenerated from envytools in a long time, and there were a few minor divergences. Based on envytools commit c20929ed0f3be18b8419f7332ee22d905feb6589 Among other things, rnndb has changed naming to G80/etc, for now I've not tackled switching that over and replaced the nvidia codenames back to the chip ids that mesa uses with the following: $ sed -i 's/G80_2D/NV50_2D/g' rnndb/graph/g80_2d.xml.h $ sed -i 's/GF100_2D/NVC0_2D/g' rnndb/graph/g80_2d.xml.h No other modifications of the headergen'd headers was done, which was helped by the differing #define's being unutilised presently. Signed-off-by: Rhys Kidd <[email protected]> Reviewed-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5920>
* panfrost: Dual source blend supportIcecream952020-07-154-21/+37
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5620>
* freedreno/a6xx: don't enable early-z/lrz if no z-testRob Clark2020-07-141-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | But if shader explicitly asks for early-fragment-tests, obey it's wishes. Fixes a handful of skia (skqp) CTS fails (9.0_r12) * gles_bug593049 * gles_circular_arcs_fill * gles_circular_arcs_stroke_and_fill_square * gles_clippedcubic2 * gles_complexclip2_path_bw * gles_complexclip2_rrect_bw * gles_complexclip3_complex * gles_complexclip3_simple * gles_crbug_691386 * gles_cubicclosepath * gles_cubicpath * gles_degeneratesegments * gles_filltypespersp * gles_innershapes_bw * gles_inverse_paths * gles_mixedtextblobs * gles_onebadarc * gles_quadclosepath * gles_quadpath * gles_rrect_clip_bw * gles_scale-pixels * gles_scaledstrokes * gles_squarehair * gles_strokes_zoomed * gles_windowrectangles Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5907>
* freedreno/a6xx: bail instead of crash for compile failsRob Clark2020-07-141-0/+6
| | | | | Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5907>
* freedreno/ir3: add missing VS driver paramsRob Clark2020-07-141-2/+4
| | | | | | | Some of these only used by turnip so far, this is just for clarity. Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5907>
* zink: enable tgsi texcoord pipe capMike Blumenkrantz2020-07-142-26/+39
| | | | | | | | | | | | | | this requires some modifications to the ntv slot remapping, as we definitely don't want to reserve another 25% of the available slots for the (deprecated) texcoord varyings now we remap VARYING_SLOT_TEX[n] to the last available slots, which lets us avoid needing to do permanent reservation, and we check to make sure that we haven't seen the corresponding texcoord varying any time we emit a non-texcoord varying in that slot Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5551>
* nouveau: expose HMMKarol Herbst2020-07-141-0/+3
| | | | | | | | v2: moved caps Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Pierre Moreau <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906>
* nvc0: support PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLYKarol Herbst2020-07-143-2/+101
| | | | | | | v2: rework by adding a new buffer status Signed-off-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906>
* nouveau: enable HMMKarol Herbst2020-07-142-3/+70
| | | | | | | | | | | | | v2: move declarations into libdrm v3: fix typos rework handling of how much memory to reserve v4: remove unused parameter unmap cutout on error and when the screen is destroyed v5: move into screen_create enable HMM only if CL gets enabled Signed-off-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906>
* freedreno/regs: update a6xx PC regsJonathan Marek2020-07-143-4/+2
| | | | | | | Update some registers in the 0x9800-0xa000 range. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5870>
* freedreno/regs: update a6xx VPC regsJonathan Marek2020-07-143-12/+8
| | | | | | | Update some registers in the 0x9000-0x95ff range. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5870>
* freedreno/regs: update a6xx RB regsJonathan Marek2020-07-142-5/+5
| | | | | | | Update some registers in the 0x8c00-0x8dff range. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5870>
* freedreno/regs: update a6xx GRAS registersJonathan Marek2020-07-144-31/+30
| | | | | | | Update some registers in the 0x8000-0x87ff range. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5870>
* zink: try to handle multisampled null buffersMike Blumenkrantz2020-07-144-7/+13
| | | | | | | | I don't have any tests for this that I've run into yet, so this is mostly just guessing Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5686>
* zink: handle empty attachmentsMike Blumenkrantz2020-07-144-11/+60
| | | | | | | | | create an empty buffer and surface to reuse for the fb attachment here this fixes most of the arb_framebuffer_object tests in piglit Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5686>
* Revert https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580Michel Dänzer2020-07-146-174/+5
| | | | | | | | | | | It broke the CI pipeline on master: https://gitlab.freedesktop.org/mesa/mesa/-/jobs/3604314 https://gitlab.freedesktop.org/mesa/mesa/-/jobs/3604315 Revert for now, to allow other MRs to be merged. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5905>
* nouveau: expose HMMKarol Herbst2020-07-141-0/+3
| | | | | | | | v2: moved caps Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Pierre Moreau <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580>
* nvc0: support PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLYKarol Herbst2020-07-143-2/+101
| | | | | | | v2: rework by adding a new buffer status Signed-off-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580>
* nouveau: enable HMMKarol Herbst2020-07-142-3/+70
| | | | | | | | | | | | | v2: move declarations into libdrm v3: fix typos rework handling of how much memory to reserve v4: remove unused parameter unmap cutout on error and when the screen is destroyed v5: move into screen_create enable HMM only if CL gets enabled Signed-off-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580>
* zink: block resolve blits for depth/stencil buffersMike Blumenkrantz2020-07-141-0/+1
| | | | | | | | "The format features of dstImage must contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT" - vkCmdResolveImage spec Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5888>
* zink: block vkCmdBlitImage usage for multi sampled blitsMike Blumenkrantz2020-07-141-0/+4
| | | | | | | this is prohibited by spec Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5888>
* zink: try copy_region hook for blits where we can't do a regular blit or resolveMike Blumenkrantz2020-07-141-0/+7
| | | | | | | | | in cases where the formats match, we can likely just pass this through for now fixes a ton of spec@!opengl 1.1@depthstencil-default_fb-blit piglit tests Reviewed-by: Erik Faye-Lund <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5888>
* gv100/ir: set ftz bit on floating point operationsKarol Herbst2020-07-142-2/+8
| | | | | | | Fixes Unigine Heavens ambient occlusion Signed-off-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5881>
* freedreno/a6xx: Add some documentation for shared constsConnor Abbott2020-07-141-1/+1
| | | | | | | | I'm not convinced we'll actually want to use this, and there may be another enable bit in SP_UNKNOWN_AB00, but it's nice to at least write this down in case we want to try using it in the future. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5877>
* freedreno/a6xx: Rename and document HLSQ_UPDATE_CNTLConnor Abbott2020-07-144-8/+49
| | | | | | | | | | | | | It turns out that this clears CP_LOAD_STATE6 packets, including disabling any pending loads for SS6_INDIRECT/SS6_BINDLESS (these loads don't actually happen until the draw itself, and I'm not sure if they happen if the state is unused by the shader) and marking constants and UBO descriptors loaded with SS6_DIRECT as invalid. It's used very differently from HLSQ_UPDATE_CNTL on a4xx from whence the name came, and unlike on a4xx it's not readable, so this probably doesn't line up with HLSQ_UPDATE_CNTL on a4xx. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5877>
* freedreno/registers: Rename SP_2D_SRC_FORMATKristian H. Kristensen2020-07-142-11/+11
| | | | | | | This register contains information about the destination format, so let's rename to SP_2D_DST_FORMAT. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717>
* freedreno/a6xx: Split clear and blit texture into different functionsKristian H. Kristensen2020-07-141-84/+98
| | | | | | | | Now that most of the state programming is in shareable helpers, we can split emit_blit_or_clear_texture into emit_blit_texture and fd6_clear_surface. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717>
* freedreno/a6xx: Don't take pipe_blit_info in emit_blit_dstKristian H. Kristensen2020-07-141-11/+11
| | | | | | | We only need a few fields and we'll want to use this in cases where we don't have a pipe_blit_info. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717>
* freedreno/a6xx: Program RB_UNKNOWN_8C01 in setup helperKristian H. Kristensen2020-07-141-6/+3
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717>
* freedreno/a6xx: Move CP_SET_MARKER to setup helperKristian H. Kristensen2020-07-141-6/+3
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717>
* freedreno/a6xx: Move REG_A6XX_SP_2D_SRC_FORMAT programming to helperKristian H. Kristensen2020-07-141-30/+27
| | | | | | Rename helper to emit_blit_setup(). Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717>
* freedreno/a6xx: Program A6XX_SP_2D_SRC_FORMAT_COLOR_FORMAT based on dst formatKristian H. Kristensen2020-07-141-9/+7
| | | | | | It's a badly named register... Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717>
* freedreno/a6xx: Make blit_control helper a little more helpfulKristian H. Kristensen2020-07-141-19/+16
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717>
* freedreno/a6xx: Enable FMT6_10_10_10_2_UNORM blittingKristian H. Kristensen2020-07-141-3/+0
| | | | | | | | Now that we correctly program the _DEST version for the blit destination and use float16 internal format, these formats work with the blitter. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717>
* freedreno/a6xx: Separate stencil sysmem clear fixKristian H. Kristensen2020-07-141-0/+1
| | | | | | We need to clear with PIPE_FORMAT_S8_UINT. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717>
* freedreno/a6xx: Don't emit src state when clearingKristian H. Kristensen2020-07-141-11/+15
| | | | Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5717>