- Jan 29, 2021
-
-
Dylan Baker authored
-
Dylan Baker authored
-
- Jan 26, 2021
-
-
Caio Oliveira authored
It is currently a bitset on top of a uint64_t but there are already more than 64 values. Change to use BITSET to cover all the SYSTEM_VALUE_MAX bits. Backported from 9f3d5e99 ("compiler: Use util/bitset.h for system_values_read"). Cc: mesa-stable Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Karol Herbst <kherbst@redhat.com> Acked-by: Jesse Natalie <jenatali@microsoft.com> Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Acked-by: Alejandro Piñeiro <apinheiro@igalia.com> Part-of: <mesa/mesa!8728>
-
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!8706> (cherry picked from commit cb7352ae)
-
Cc: mesa-stable Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Part-of: <mesa/mesa!7878> (cherry picked from commit e3f56601)
-
In Vulkan, for some variable modes, the generated NIR will have derefs pointing to resource index intrinsics instead of the variable. This was letting nir_remove_dead_variables pass remove those variables, which would lose information relevant for later passes after spirv2nir. Add a set to keep track of such variables and prevent them to be removed when producing the NIR output. Issue reported by Rhys. Fixes: c4c9c780 ("spirv: Remove more dead variables") Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!8706> (cherry picked from commit 10b3eecd)
-
We can skip CCS ambiguate if followed by a fast clear within render pass. v2: (Jason) - Check array layer as well since we only fast clear first layer and first LOD. - Don't drop fast clear check while doing resolve operation. Fixes: d5849bc8 "anv: Skip HiZ and CCS ambiguates which preceed fast-clears" Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!6988> (cherry picked from commit 001722b3)
-
According to the BSpec page for MEDIA_VFE_STATE, on Gen12 platforms "if a fused configuration has fewer threads than the native POR configuration, the scratch space allocation is based on the number of threads in the base native POR configuration". However we currently use the subslice count from devinfo->num_subslices[0], which only includes the subslices currently enabled by the platform fusing. This leads to scratch space underallocation and occasional hangs. The problem is likely to affect most Gen12 GPUs with less than 96 EUs. GFXBench5 Aztec Ruins is able to reproduce the issue fairly reliably. Fixes: 9e5ce30d "intel: fix the gen 12 compute shader scratch IDs" Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <mesa/mesa!8636> (cherry picked from commit e2c5ef6c)
-
Fixes a double-free in some Qt5 WebEngine apps (e.g. ghostwriter). Cc: mesa-stable Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <mesa/mesa!8678> (cherry picked from commit 1d967132)
-
While invalidating the AUX-TT entries, we have to consider the surface offset as well otherwise, we will end up invalidating another surface's CCS portion. For eg. when we have HiZ+CCS and STC_CCS enabled, both will use the CCS portion allocated at the end of BO. While invalidating the CCS portion of stencil buffer, we will end up invalidating the CCS portion that belongs to the depth main surface and vice-versa, if the surface offset is not considered. Cc: mesa-stable Closes: mesa/mesa#4123 Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com> Acked-by: Nanley Chery <nanley.g.chery@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net> Part-of: <mesa/mesa!8677> (cherry picked from commit dab229ef)
-
We can't enable Logic Op & Color Buffer Blend. The Vulkan spec seems to say Logic Op discards blending. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: mesa-stable@lists.freedesktop.org Closes: mesa/mesa#3767 Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com> Part-of: <mesa/mesa!8691> (cherry picked from commit 998f38bd)
-
Passing NULL for the views parameter should be the same as passing an array of NULL, according to the documentation. So let's respect that detail. This fixes a crash when using GALLIUM_HUD. The wrong handling of views parameter was causing problems starting with 2813688f ("gallium/hud: don't use cso_context to restore VBs, constbuf 0 and sampler views"). Cc: <mesa-stable@lists.freedesktop.org> Fixes: c9e8b49b ("etnaviv: gallium driver for Vivante GPUs") Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com> Reviewed-by: Lucas Stach <l.stach@pengutronix.de> Part-of: <mesa/mesa!8670> (cherry picked from commit 81ab9fe2)
-
Cc: mesa-stable Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <mesa/mesa!8530> (cherry picked from commit efff70e7)
-
If PAN_MESA_DEBUG=deqp is set to enable testing, then we advertise shader images to get GLES3.1, even though we don't have any of the shader image funcs hooked up. This caused breakage when cso started unbinding shader images at context destruction. Just stub out the function for now, you'll still segfault when creating an image. Cc: mesa-stable (for the next commit) Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <mesa/mesa!8530> (cherry picked from commit f259fcae)
-
gallivm has images support, but this driver doesn't. Cc: mesa-stable (for the upcoming shader image leak fix) Acked-by: Jan Zielinski <jan.zielinski@intel.com> Part-of: <mesa/mesa!8530> (cherry picked from commit 9445c3d5)
-
This is dangerous w.r.t. LCSSA-phis. Totals from 746 (0.54% of 139391) affected shaders (Navi10): CodeSize: 8592160 -> 8568156 (-0.28%); split: -0.30%, +0.02% MaxWaves: 5172 -> 5171 (-0.02%); split: +0.02%, -0.04% Instrs: 1653949 -> 1648489 (-0.33%); split: -0.36%, +0.03% Cycles: 49474892 -> 49329224 (-0.29%); split: -0.33%, +0.03% VMEM: 137574 -> 137421 (-0.11%); split: +0.18%, -0.29% SMEM: 42391 -> 42439 (+0.11%); split: +0.12%, -0.01% VClause: 26946 -> 26943 (-0.01%) Copies: 130902 -> 126176 (-3.61%); split: -4.05%, +0.43% Branches: 54891 -> 54556 (-0.61%); split: -0.64%, +0.03% PreVGPRs: 53941 -> 53939 (-0.00%) This has a slight effect on RA due to affinity changes. Cc: 20.3 Cc: 21.0 Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <mesa/mesa!8260> (cherry picked from commit cd870d1b)
-
It could happen that due to inconsistent copy-propagation v1 = p_parallelcopy v2b instructions were left after optimization on GFX8. Cc: 20.3 Cc: 21.0 Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <mesa/mesa!8260> (cherry picked from commit 856fd475)
-
Dylan Baker authored
-
- Jan 25, 2021
-
-
This variable is only ever written as NULL, so we can omit it entirely. Fixes: 4000c011 ("Remove the ATI_envmap_bumpmap extension") Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by: Eric Anholt <eric@anholt.net> Part-of: <mesa/mesa!6473> (cherry picked from commit 92ff89f6)
-
When using glvnd, this function needs to be exposed through getDispatchAddress or libglvnd will not find it. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Fixes: 60ebeb46 "glx: Implement GLX_EXT_swap_control for DRI2 and DRI3" Part-of: <mesa/mesa!8621> (cherry picked from commit d548d781)
-
We could probably support some strides if we tried hard enough but the whole point of this opcode is to accelerate things with crazy Align16 or crazy regions. It's ok if we have to emit an extra MOV to get a packed source. Fixes: 8b4a5e64 "intel/fs: Add support for subgroup quad operations" Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <mesa/mesa!7329> (cherry picked from commit 58bcb540)
-
Previously, we were returning 2 whenever the source was a Q type. As far as I can tell, the only reason why this hasn't blown up before is that it was only ever used for VGRFs until the SWSB pass landed which uses it for everything. This wasn't a problem because Q types generally aren't a thing on TGL. However, they are for a small handful of instructions. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Part-of: <mesa/mesa!7329> (cherry picked from commit 4c8cbe9b)
-
Dylan Baker authored
-
For HEVC and VP9 template's max_references are tied to the number of surfaces associated with context. Later, the decoder is created if max_references is different to zero. But vaCreateContext() doesn't really need an array of VASurfaceIDs (see https://lists.01.org/pipermail/intel-vaapi-media/2017-July/000052.html and https://github.com/intel/libva/issues/251 ). This patch removes the validation of the max_references at decoder creation and also remove the assignation of num_render_targets to max_references. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com> Reviewed-by: Leo Liu <leo.liu@amd.com> Part-of: <mesa/mesa!7949> (cherry picked from commit 925d7010)
-
Without this, we'll expose GL_ARB_transform_feedback2 and GL_ARB_transform_feedback3 even without VK_EXT_transform_feedback, because these caps are directly wired up without checking the pervious extensions. Fixes: e8ad52f7 ("zink: enable xfb extension in screen creation") Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com> Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!8640> (cherry picked from commit 855370bb)
-
Vulkan has a cap to enable this, we should check that one rather than always claiming support. Fixes: 0c70268f ("zink: mark ARB_sample_shading as supported") Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com> Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!8640> (cherry picked from commit 6f6941e2)
-
Vulkan has a cap to enable this, we should check that one rather than always claiming support. Fixes: 8d46e35d ("zink: introduce opengl over vulkan") Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com> Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!8640> (cherry picked from commit 61216985)
-
For example: s2: %688:s[32-33] = p_linear_phi %3:s[10-11], %688:s[32-33] would have been considered trivial. This might happen due to parallelcopies when assigning phi registers. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Fixes: 69b6069d ("aco: refactor try_remove_trivial_phi() in RA") Part-of: <mesa/mesa!8645> (cherry picked from commit 824eba21)
-
The intention of IRIS_DIRTY_{RENDER,COMPUTE}_RESOLVES_AND_FLUSHES is to avoid considering resolves/flushes on back to back draw calls where nothing of significance has changed with the resources. When anything changes that could require a resolve, we must flag those. Those situations are: 1. Texture/image/framebuffer bindings change (as the set of images we need to look at is now different) 2. Depth writes are enabled/disabled (the resolve code uses this) 3. The aux state for a currently bound resource changes. We were missing this last case. In particular, one example where we missed this was: 1. Bind a texture. 2. Clear that texture (likely blits/copies/teximage would work too) 3. Draw and sample from that texture Clear-then-Bind would work, as binding would flag resolves as dirty. But Bind-then-Clear doesn't work, as clear can change the aux state of the bound texture, but wasn't flagging that anything had changed. Technically, we could consider whether the resource whose aux state is changing is bound for compute (and only flag COMPUTE_RESOLVES), or bound for a 3D stage (and only flag RENDER_RESOLVES), and flag nothing at all if it isn't bound. But we don't track that well, and it probably isn't worth bothering. So, flag unconditionally for now. This does not appear to impact Piglit's drawoverhead scores. Cc: mesa-stable Closes: mesa/mesa#3994 Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/4019 Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Part-of: <mesa/mesa!8603> (cherry picked from commit e2500c02)
-
When NGG is used, the hw can't know the number of geometry shader primitives. To fix that, the NGG geometry shader accumulates itself the number of primitives by using an atomic operation directly to GDS. Then, begin/query copy the start/stop values from GDS to the query pool buffer using a PS_DONE event. This was actually wrong because PS_DONE is completely asynchronous to everything and executed when the preceding draws finish pixel shaders. Fix this by using a COPY_DATA packet which is synced with CP. This fixes random failures on Sienna Cichlid with dEQP-VK.query_pool.statistics_query.*.geometry_shader_primitives.*. Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8590> (cherry picked from commit 085e2ce3)
-
Cc: mesa-stable Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Part-of: <mesa/mesa!8583> (cherry picked from commit 0d0536c1)
-
We incorrectly utilize the stencil layouts structures even if we should stick to the depth_stencil ones if the layout includes stencil. v2: Don't forget stencil only layout (Nanley) Simplify callers of new helper functions (Nanley) v3: Store VK_IMAGE_LAYOUT_UNDEFINED when no stencil is available (Nanley) Use a switch statement (Nanley) v4: Consider all layouts but depth only to be potential stencil layouts (Lionel) v5: Refactor helper in vk_image_layout_depth_only() and discard VkAttachmentDescriptionStencilLayoutKHR in VkAttachmentDescription2KHR if format is not depth/stencil. v5: s/LAYOUT_COLOR_ATTACHMENT_OPTIMAL/LAYOUT_DEPTH_ATTACHMENT_OPTIMAL/ (Nanley) v6: Fix overly harsh assert() Fixes: c1c346f1 ("anv: implement VK_KHR_separate_depth_stencil_layouts") Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Closes: mesa/mesa#4084 Reviewed-by: Nanley Chery <nanley.g.chery@intel.com> Part-of: <mesa/mesa!8475> (cherry picked from commit 28207669)
-
Dylan Baker authored
-
Having only one layer we can put 0 as third texture coordinate Closes: mesa/mesa#4115 Fixes: 36097fc7 ("st/pbo: fix pbo uploads without PIPE_CAP_TGSI_VS_LAYER_VIEWPORT and skip gs") Reviewed-by: Marek Olšák <marek.olsak@amd.com> Signed-off-by: Andrii Simiklit <andrii.simiklit@globallogic.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8576> (cherry picked from commit e87b59f6)
-
dEQP is too slow. Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!8587> (cherry picked from commit 13f7224d)
-
Dylan Baker authored
-
- Jan 20, 2021
-
-
Jan Zielinski authored
Reviewed-by: Krzysztof Raszkowski <krzysztof.raszkowski@intel.com> Part-of: <mesa/mesa!8597>
-
- Jan 19, 2021
-
-
v_or_b32 with a v2b definition should use SDWA if is_partial=true. Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Daniel Schürmann <daniel@schuermann.dev> Fixes: 56345b8c ("aco: allow reading/writing upper halves/bytes when possible") Part-of: <mesa/mesa!8577> (cherry picked from commit fcda9b67)
-
If software decompression is used for ETC2, the alpha channel for sRGB8 textures would be set only if BGRA is true. Fixes: e5604ef7 "st/mesa/i965: Allow decompressing ETC2 to GL_RGBA" Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Part-of: <mesa/mesa!8529> (cherry picked from commit 290dcb26)
-
Passing NULL for the views parameter should be the same as passing an array of NULL, according to the documentation. So let's respect that detail. This fixes a crash when using GALLIUM_HUD. Fixes: 8d46e35d ("zink: introduce opengl over vulkan") Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com> Part-of: <mesa/mesa!8564> (cherry picked from commit 33373040)
-