aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* pan/mdg: Add a nir pass to reorder store_output intrinsicsIcecream952020-07-151-0/+46
| | | | | | | | | | | | | Real writeout stores, which break execution, need to be moved to after dual-source stores, which are just standard register writes. v2: Don't move stores forward, to avoid moving them to before where their source is written. v3: Only reorder past dual-source stores. Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5620>
* gallium: Dual source support in blend_factor_to_shaderIcecream952020-07-151-4/+4
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5620>
* compiler: Add dual-source factors to blend_factorIcecream952020-07-151-0/+2
| | | | | Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5620>
* freedreno/ir3: DCE unused arraysRob Clark2020-07-142-0/+29
| | | | | | | | | | | | Letting unused arrays stick around confuses RA, which assigns vreg names to the unused arrays, but then does not precolor them (because they are unused). This leads to an assert in ra_select_reg_merged(): skqp: ../src/freedreno/ir3/ir3_ra.c:589: name_to_instr: Assertion '!name_is_array(ctx, name)' failed. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3262 Signed-off-by: Rob Clark <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5907>
* 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/ir3/ra: be better at failingRob Clark2020-07-142-22/+41
| | | | | | | | | It doesn't happen much. But it's annoying when we hit an impossible condition deep in RA 90% thru a long test run. Add some ra_assert()/ ra_unreachable() helper macros so we can bail cleanly and fail RA. 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: make compile fails more visibleRob Clark2020-07-141-2/+4
| | | | | 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>
* gallium: add PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLYKarol Herbst2020-07-146-5/+14
| | | | | | | | | | | | With the current UAPI we only support user pointers from the compute engines, so we need a way to express that in gallium. v2: fix typos v3: add allows_user_pointers helper Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Pierre Moreau <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906>
* nouveau: enable HMMKarol Herbst2020-07-143-4/+71
| | | | | | | | | | | | | 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>
* ci: bump libdrm to 2.4.102Karol Herbst2020-07-144-13/+13
| | | | | | | | | Since version 2.4.101 there are only xz archives hence the bz2 to xz change. Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Michel Dänzer <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906>
* ci: need to install wget in order to download libdrmKarol Herbst2020-07-141-1/+2
| | | | | | Fixes: dcd171f5e9b ("gitlab-ci: More stable URL for kernel and ramdisk artifacts, for LAVA") Signed-off-by: Karol Herbst <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5906>
* nir: Support load/store of temps as scratch in nir_lower_explicit_ioJesse Natalie2020-07-141-3/+14
| | | | | Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5889>
* nir: When nir_lower_vars_to_explicit_types is run on temps, update scratch_sizeJesse Natalie2020-07-141-2/+21
| | | | | | | | To allow interop with other scratch ops, append any remaining temp vars to the end of any already-allocated scratch space. Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5889>
* nir_lower_io: Add addr_format_is_offset helperJesse Natalie2020-07-141-2/+8
| | | | | Reviewed-by: Jason Ekstrand <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5889>
* freedreno/regs: update a6xx PC regsJonathan Marek2020-07-146-55/+61
| | | | | | | 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-146-53/+57
| | | | | | | 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-144-105/+161
| | | | | | | 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-148-160/+188
| | | | | | | 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>
* gitlab-ci: re-enable arm64_a630_vkJonathan Marek2020-07-141-2/+2
| | | | | Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5904>
* turnip: remove use of tu_cs_entry for draw statesJonathan Marek2020-07-144-152/+134
| | | | | | | | | | | | | | | The tu_cs_entry struct doesn't match well what we want for SET_DRAW_STATE and CP_INDIRECT_BUFFER (requires extra steps to get iova and size), so start phasing it out. Additionally, use newly added tu_cs_draw_state where it doesn't require any effort (it requires a fixed size, but gets rid of the extra end_sub_stream) Note this also changes the behavior of CmdBindDescriptorSets for compute to emit directly in cmd->cs instead of doing through a CP_INDIRECT. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5558>
* turnip: fix inconsistencies with tu6_load_state_sizeJonathan Marek2020-07-141-6/+14
| | | | | | | The next patch assumes the correct size is returned in tu6_emit_load_state. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5558>
* turnip: emit compute pipeline directly in CmdBindPipelineJonathan Marek2020-07-142-11/+6
| | | | | | | There's no need to defer it, and can get rid DIRTY_COMPUTE_PIPELINE. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5558>
* turnip: use DIRTY SDS bit to avoid making copies of pipeline load state ibJonathan Marek2020-07-142-41/+21
| | | | | | | | | | | Some testing showed that the DIRTY bit has the desired behavior, so use it to make things a bit simpler. Note in CmdBindPipeline, having the TU_CMD_DIRTY_DESCRIPTOR_SETS behind a if(pipeline->layout->dynamic_offset_count) was wrong. Signed-off-by: Jonathan Marek <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5558>
* 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>
* pan/mdg: Fix non-debug compiliationIcecream952020-07-141-1/+1
| | | | | | | | | | | | | | | Fixes error when the assert is optimized out: ../src/panfrost/midgard/midgard_compile.c: In function ‘output_load_rt_addr’: ../src/panfrost/midgard/midgard_compile.c:1644:1: error: control reaches end of non-void function [-Werror=return-type] } Closes #3270 Fixes: 7781d2c2ead ("pan/mdg: Support MRT in output load lowering") Reviewed-by: Tomeu Vizoso <[email protected]> Reviewed-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5895>
* Revert https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580Michel Dänzer2020-07-1417-202/+24
| | | | | | | | | | | 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>
* gallium: add PIPE_CAP_RESOURCE_FROM_USER_MEMORY_COMPUTE_ONLYKarol Herbst2020-07-146-5/+14
| | | | | | | | | | | | With the current UAPI we only support user pointers from the compute engines, so we need a way to express that in gallium. v2: fix typos v3: add allows_user_pointers helper Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Pierre Moreau <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4580>
* nouveau: enable HMMKarol Herbst2020-07-143-4/+71
| | | | | | | | | | | | | 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>
* ci: bump libdrm to 2.4.102Karol Herbst2020-07-144-13/+13
| | | | | | | | | Since version 2.4.101 there are only xz archives hence the bz2 to xz change. Signed-off-by: Karol Herbst <[email protected]> Reviewed-by: Michel Dänzer <[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>
* mesa/main: use call_once instead of open-codingErik Faye-Lund2020-07-141-13/+3
| | | | | | | We already have a utility for this, so let's use that instead. Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5879>
* mesa/main: factor out one-time-init into a helperErik Faye-Lund2020-07-141-43/+52
| | | | | | | This will make the next commit a bit cleaner. Reviewed-by: Kristian H. Kristensen <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5879>
* 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>
* meson: fix android vulkan buildEric Engestrom2020-07-145-5/+5
| | | | | | | | | | | | | | | | Android doesn't have `pthread_cancel()` and is unlikely to ever implement it [1], but `wsi_common_display.c` needs it (or an alternative). Let's just disable the platform on Android (as it used to be before 448eb19158f483d807ef). [1] https://android-review.googlesource.com/c/platform/bionic/+/1215779/1/docs/status.md Fixes: 448eb19158f483d807ef ("vulkan: automatically compile the `display` platform when available") Signed-off-by: Eric Engestrom <[email protected]> Acked-by: Nataraj Deshpande <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5860>
* gitlab-ci: Drop dependencies:Michel Dänzer2020-07-142-8/+0
| | | | | | | | | | | Artifacts from jobs listed in needs: are downloaded by default, so there's no need to list them in dependencies: as well (in fact, https://docs.gitlab.com/ce/ci/yaml/#artifact-downloads-with-needs says using dependencies: together with needs: is invalid, so we might have been getting lucky...). Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5845>
* gitlab-ci: Remove indirect dependencies from needs:Michel Dänzer2020-07-141-13/+0
| | | | | | | | | Tomeu discovered that GitLab 12.8 fixed the bug where jobs would spuriously run even though some of their dependency jobs were skipped. So we don't need to list indirect dependencies anymore. Reviewed-by: Tomeu Vizoso <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5845>
* tu: Don't invalidate irrelevant state when changing pipelineConnor Abbott2020-07-141-9/+1
| | | | | | | At least in the future this could let us avoid re-emitting gfx/cs constants when the other changes. This also matches what the blob does. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5877>
* freedreno/a6xx: Add some documentation for shared constsConnor Abbott2020-07-143-4/+24
| | | | | | | | 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-149-22/+130
| | | | | | | | | | | | | 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>
* clover: implements clEnqueueFillBufferSerge Martin2020-07-147-16/+60
| | | | | Reviewed-by: Francisco Jerez <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5897>