summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-06-21freedreno/a4xx: restore pitch to bytes change to layout codeJonathan Marek1-3/+3
I lost this change when rebasing the commit moving this. Fixes: aa2186db0 ("freedreno: move a4xx specific layout code to a4xx code") Signed-off-by: Jonathan Marek <jonathan@marek.ca> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5132>
2020-06-21vulkan/wsi: Really terminate DRM lease in wsi_release_display().Mario Kleiner1-6/+16
wsi_release_display() implements vkReleaseDisplayEXT() which is supposed to return control to the lessor of an output upon call. We need to terminate the wsi->wait_thread when close()'ing the wsi->fd, otherwise the wait_thread holds another reference to the wsi->fd, keeping the lease active, and thereby the leased output blocked, until vkDestroyInstance() is called. This gives users their GUI back, instead of extended darkness. Fixes: 352d320a0745 ("vulkan: Add EXT_direct_mode_display [v2]") Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: <mesa-stable@lists.freedesktop.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5396>
2020-06-21freedreno/ir3: split ubo analysis/lowering passesRob Clark4-12/+31
Since binning pass variants share the same const_state with their draw-pass counterpart, we should re-use the draw-pass variant's ubo range analysis. So split the two functions of the existing pass into two parts. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5526>
2020-06-21freedreno/ir3: splitup get_existing_range()Rob Clark1-11/+33
This serves two purposes, one during ubo range analysis, where we want to create new ranges, and another during the actual ubo lowering. Split these in two, with read-only ubo analysis state in the second case, to prepare to split this pass in two. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5526>
2020-06-21freedreno/ir3: split out ubo info from rangeRob Clark4-31/+50
Split out the description of the ubo from the ubo-range. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5526>
2020-06-20turnip: remove unnecessary OVERFLOW_FLAG_REG checkJonathan Marek1-90/+10
The HW deals with overflow automatically, and presumably does it better (only disabling for pipes that had overflow, and using the visiblity data available before the overflow) Signed-off-by: Jonathan Marek <jonathan@marek.ca> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5565>
2020-06-20freedreno/a6xx: remove unnecessary OVERFLOW_FLAG_REG checkJonathan Marek2-124/+16
The HW deals with overflow automatically, and presumably does it better (only disabling for pipes that had overflow, and using the visiblity data available before the overflow) Signed-off-by: Jonathan Marek <jonathan@marek.ca> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5565>
2020-06-20freedreno/a6xx: VSC "STRM_ARRAY_PITCH" is "STRM_LIMIT"Jonathan Marek3-10/+12
This was being set wrong in both freedreno and turnip, and setting it correctly should avoid hangs when there is overflow. Signed-off-by: Jonathan Marek <jonathan@marek.ca> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5565>
2020-06-20radv: enable radv_no_dynamic_bounds for more Path of Exile executablesRhys Perry1-1/+10
It looks like there's also a standalone version and a 32-bit version. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5574>
2020-06-20gallium/util: add missing includeErik Faye-Lund1-0/+1
This source-file uses PIPE_OS_WINDOWS to enable the Windows functionality. But witout including p_config.h, this pre-processor symbol won't be defined at all. Let's fix this by adding the missing include, enabling stack-traces on Windows. Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5497>
2020-06-20gallium/util: limit STACK_LEN on WindowsErik Faye-Lund1-0/+5
The Windows implementation of debug_backtrace_capture has a limiation of max 62 frames in total. Subtract a start-frame of 1 and the wrapping functions frame, and we land at 60. So let's lower this number on Windows to avoid triggering an assert. Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5497>
2020-06-20graw/gdi: do not depend on UNICODE macroErik Faye-Lund1-1/+1
Similar to the previous patch, we currently depend on the UNICODE macro not being set, but it sometimes ends up getting set after all. Unlike the previous patch, the easier thing to do here, is to lean into the Unicode wrappers, and use the TEXT()-macro to define a Unicode or ASCII literal, depending on the setting of the UNICODE macro. Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5497>
2020-06-20gallium/os: call "ANSI" version of GetCommandLineErik Faye-Lund1-1/+1
The GetCommandLine API comes in two versions, GetCommandLineA (which returns "ANSI" results), and GetCommandLineW which returns UTF-16 ("WIDE") results. Then finally, windows.h provides a wrapper-macro that defines GetCommandLine to either of the two, based on the setting of the UNICODE macro. More information about this mechanism can be found here: https://docs.microsoft.com/en-us/windows/win32/intl/unicode-in-the-windows-api For some reason, the UNICODE macro is set during build, even if we're not explicitly setting it. This leads to us trying to cast a UTF-16 result to a char-pointer, which is obviously not going to do the right thing. So let's be defensive, and just call GetCommandLineA directly instead. This avoids us depending on the setting of the UNICODE-macro in the first place. Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5497>
2020-06-19intel/compiler: Always apply sample mask on Vulkan.Arcady Goldmints-Orlov5-2/+8
With OpenGL, shader writes to the sample mask are ignored when not rendering to a multisample render target. However, on Vulkan, writes to the sample mask have still have their effect in that case. Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3016 Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5156>
2020-06-19radv: enable radv_no_dynamic_bounds for Path of ExileRhys Perry1-0/+4
To workaround game bugs. This also enables it for the D3D11 renderer but that shouldn't be an issue. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3081 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3084 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3080 Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5569>
2020-06-19radv: add new drirc option radv_no_dynamic_boundsRhys Perry2-0/+9
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Cc: <mesa-stable@lists.freedesktop.org> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5569>
2020-06-19iris: Support I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCSNanley Chery1-0/+11
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5420>
2020-06-19iris: Refactor modifier_is_supported for gen12Nanley Chery1-9/+19
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5420>
2020-06-19iris: Handle importing aux-enabled surfaces on TGLNanley Chery2-1/+16
Ensure main surfaces are properly 64KB-aligned (as suggested by Jordan) and map the main surface addresses to aux surface addresses on import. v2. Add a Bspec quote. (Sagar) v3. Add a bit more to the Bspec comment. (Ken) Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> (v2) Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5420>
2020-06-19gallium/dri2: Support I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCSNanley Chery1-0/+1
Add a case for this modifier in dri2_get_modifier_num_planes. Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5420>
2020-06-19isl/drm: Support I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCSNanley Chery1-0/+7
Add an entry for this modifier in the modifier_info array. Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5420>
2020-06-19iris: Use ISL_AUX_USAGE_GEN12_CCS_E on gen12Nanley Chery3-22/+28
Makes iris pass a subtest of the fcc-write-after-clear piglit test (fast-clear tracking across layers 1 -> 0 -> 1) on gen12. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5363>
2020-06-19iris: Don't support sRGB + Y_TILED_CCS on gen9Nanley Chery3-74/+21
Delete some code that would otherwise need updating for ISL_AUX_USAGE_GEN12_CCS_E. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5363>
2020-06-19intel: Add ISL_AUX_USAGE_GEN12_CCS_ENanley Chery6-9/+54
Add a new aux usage which more accurately describes the behavior of CCS_E on gen12. On this platform, writes using the 3D engine are either compressed or substituted with fast-cleared blocks. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5363>
2020-06-19ci: Enable NIR validation on a630 GLES2 and VK tests.Eric Anholt1-1/+4
We get through GLES2 in 5.5 minutes and the vk subset in 8 minutes, so we can spare the CPU time on these tests. Acked-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5554>
2020-06-19ci: Bump vulkan CTS to 1.2.3.0.Eric Anholt5-68/+47
Looks like it fixes some potentially important VK test bugs. But also, it fixes the GLES31 SSBO layout tests to not be so excessively large, so we can run them in a reasonable time now. Note that a630 fail list is reset, since the test list has changed and so we end up with a different subset of tests being run. Interestingly, in the process the semaphore tests are now reporting "NotSupported (Exporting and importing semaphore type not supported at vktSynchronizationSignalOrderTests.cpp:513)" where they weren't before. Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5554>
2020-06-19iris: Disable sRGB fast-clears for non-0/1 valuesNanley Chery6-41/+20
For texturing and draw calls, HW expects the clear color to be in two different color spaces after sRGB fast-clears - sRGB in the former and linear in the latter. Up until now, iris has stored the clear color in the sRGB color space. Limit the allowable clear colors for sRGB fast-clears to 0/1 so that both color space requirements are satisfied. Makes iris pass the sRGB -> sRGB subtest of the fcc-write-after-clear piglit test on gen9+. v2: * Drop iris_context::blend_enables. (Ken) * Drop some more resolve-related blend-state-tracking code. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4972>
2020-06-19iris: Avoid fast-clear with incompatible viewNanley Chery3-2/+40
For rendering operations, avoid adding or using fast-cleared blocks if the render format is incompatible with the clear color interpretation. Note that the clear color is currently interpreted through the resource's surface format. Makes iris pass subtests of the fcc-write-after-clear piglit test: * UNORM -> SNORM, partial block on gen8+. * linear -> sRGB, partial block on gen9+. * UNORM -> SNORM, full block on gen12. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4972>
2020-06-19iris: Remove the CCS_D fallbackNanley Chery3-4/+3
Remove the CCS_D fallback logic so that iris doesn't attempt to use a non-existent surface state for some renders. Also, add an assertion to catch the issue. The fallback in iris_resource_render_aux_usage can lead to this problem because it doesn't account for the fact that surface states created from resources with the Y_TILED_CCS modifier may only have CCS_E or NONE as aux usages (due to iris_resource_create_with_modifiers). Without this change, the next commit would have triggered the fallback and regressed the following tests on gen9: * dEQP-EGL.functional.wide_color.window_888_colorspace_srgb * dEQP-EGL.functional.wide_color.window_8888_colorspace_srgb * dEQP-EGL.functional.wide_color.pbuffer_888_colorspace_srgb * dEQP-EGL.functional.wide_color.pbuffer_8888_colorspace_srgb Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4972>
2020-06-19iris: Drop can_fast_clear_color's format parameterNanley Chery1-4/+3
Pull the resource's format from the pipe_resource instead. Makes the changes in later commits more obvious. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4972>
2020-06-19docs: move "stable" tag explanation next to `Fixes:`Eric Engestrom1-23/+21
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378>
2020-06-19docs: move `Fixes:` tag explanation to its own sectionEric Engestrom1-21/+19
This also adds the ability to link directly to it: https://mesa3d.org/submittingpatches.html#fixes Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378>
2020-06-19docs: make it clear that the tags needs to be in the commit messageEric Engestrom1-3/+3
Some people have been putting them only in the MR description, which isn't picked up by our tools. (Note that doing both doesn't hurt.) Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378>
2020-06-19docs: reword a sentence a bitEric Engestrom1-5/+4
The "that you know ahead of time" bit just sounded weird as everything on this page except the backport MR only applies if you know it "ahead of time". Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378>
2020-06-19docs: add some formatting to the "backport merge request" optionEric Engestrom1-2/+2
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378>
2020-06-19docs: prefer `Fixes:` over `Cc: mesa-stable`Eric Engestrom1-3/+4
`Fixes:` targets a specific commit and as such is much more precise and useful than `Cc: mesa-stable`, so let's prefer it when applicable. Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378>
2020-06-19docs: drop `git sendemail` instructionsEric Engestrom1-14/+0
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378>
2020-06-19docs: reword "sending a patch revision" to "updating a merge request"Eric Engestrom1-3/+4
Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378>
2020-06-19docs: stop considering `Cc: mesa-stable` as an email addressEric Engestrom1-3/+3
Our tools haven't needed more than this ^ for a while, and the historical reasons this used to be an email address don't matter anymore. Signed-off-by: Eric Engestrom <eric@engestrom.ch> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5378>
2020-06-19freedreno/a6xx: Set index buffer size to bo sizeKristian H. Kristensen1-1/+1
The number of vertices may be out of bound and if we use it for computing index buffer size we may get too big a size. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5552>
2020-06-19freedreno/a6xx: Don't write REG_A6XX_RB_SRGB_CNTL in restoreKristian H. Kristensen1-3/+0
We configure this as part of MRT set up. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5552>
2020-06-19anv: Use resolve_device_entrypoint for dispatch initJason Ekstrand3-51/+17
There's no good reason to have the "which table do I use?" code duplicated twice. The only advantage to the way we were doing it before was that we could move the switch statement outside the loop. If this is ever an actual device initialization perf problem that someone cares about, we can optimize that when the time comes. For now, the duplicated cases are simply a platform-enabling pit-fall. Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5530>
2020-06-19docs: suggest alternative installation methods for mesonEric Engestrom1-1/+8
A couple of popular distros have a habit of never updating anything. Point their users towards ways of using current versions of meson anyway. Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/2988>
2020-06-19turnip: Fill out VkPhysicalDeviceSubgroupPropertiesBrian Ho1-0/+10
This commit fills out VkPhysicalDeviceSubgroupProperties if present in a VkPhysicalDeviceProperties2. The values here are simply pulled from the blob. Fixes some flakes in dEQP-VK.subgroups.* since dEQP was reading uninitialized values of VkPhysicalDeviceSubgroupProperties. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5564>
2020-06-19zink: use int assignment for vk int typeMike Blumenkrantz1-1/+1
this breaks 32bit builds that use -Werror=int-conversion Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5545>
2020-06-19freedreno/ir3: move output_loc to variantRob Clark8-37/+40
This moves the last bit of important state to be serialized from ir3_shader to ir3_shader_variant. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508>
2020-06-19freedreno/ir3: move const_state back to variantRob Clark7-40/+54
For shader-cache, we want to not have anything important in `ir3_shader`. And to have shader variants with lower const size limits (to properly handle cross-stage limits), we also want variants to be able to have their own const_state. But we still need binning pass shaders to align with their draw pass counterpart so that the same const emit can be used for both passes. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508>
2020-06-19freedreno/ir3: un-embed const_stateRob Clark8-10/+21
Make it an rzalloc'd ptr instead of embedded struct, so it can serve as the mem ctx for immediates. This gets rid of needing to explicitly free the immediates, so one less thing to deal with when moving const_state. (Also, after we move const_state to the shader variant, we won't need one for binning pass variants) Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508>
2020-06-19freedreno/ir3: move num_reserved_user_consts out of const_stateRob Clark3-3/+3
When we move const_state to the variant, this will need to stay in the shader, as it applies to all variants (and we need to store it somewhere before we have any variants) Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508>
2020-06-19freedreno/ir3: convert over to rallocRob Clark3-26/+8
The `ir3_shader` is the root mem ctx, with `ir3_shader_variant` hanging off that, and various variant specific allocations hanging off the variant. This lets us delete a bunch of cleanup code. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5508>