- 07 Dec, 2022 16 commits
-
-
Use ctx->XXProgram._Current instead of the st_context variables. v2: split from a bigger commit Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
We need to track those states in the cache and flush the cache if the next glBitmap call uses different states. Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
This should have no effect thanks to previous commits. Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
This will be required with the next change, which will remove the rasterizer state dependency on _NEW_PROGRAM. Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
st/mesa just reorders sampler views, so we only need to rebind those. Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
We only need to update the constant buffer. Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
just a code movement to a better place Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
_mesa_update_state() receives the _NEW_PROGRAM flag, so we can handle any shader changes there. There may be some overhead reduction because gfx_shaders_may_be_dirty is removed. Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
softpipe loads from an unbound and destroyed constant buffer for some reason Acked-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
No change in behavior. Replace: if (shader) bind(shader); else bind(NULL); With: bind(shader); Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!19859>
-
This should not have re-introduced this lowering, effectively reverting dcf3ae72. Fixes: 16971cd6 ("zink: add driver-workaround for missing gl_point_size") Part-of: <mesa/mesa!20195>
-
In a tesselation control shader where an input array is accessed using the index gl_InvocationID, we can end up accessing elements beyond the number of input vertices specified in the shader key. This happens because of the lowering in nir_lower_indirect_derefs(). This lowering will affect compact variables which happens in this case : in gl_PerVertex { vec4 gl_Position; float gl_ClipDistance[1]; } gl_in[gl_MaxPatchVertices]; The lowered code produced by NIR is somewhat ineffecient (implements a binary seach) : if (gl_InvocationID < 16) { if (gl_InvocationID < 8) { if (gl_InvocationID < 4) { vec4 vals = load_at_offset(0); value = bcsel(vals, gl_InvocationID); } else { vec4 vals = load_at_offset(4); value = bcsel(vals, gl_InvocationID - 4); } } else { if (gl_InvocationID < 12) { vec4 vals = load_at_offset(8); value = bcs...
-
Faith Ekstrand authored
Reviewed-by:
Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com> Reviewed-by:
Emma Anholt <emma@anholt.net> Part-of: <mesa/mesa!20193>
-
- 06 Dec, 2022 24 commits
-
-
Found and proposed by Ray Strode (halfline) Fixes: 68e89401 ("glx/drisw: use xcb instead of X to query connection") Reviewed-by:
Emma Anholt <emma@anholt.net> Reviewed-by:
Adam Jackson <ajax@redhat.com> Part-of: <mesa/mesa!20188>
-
We're no longer respecting this flag, so there's no need in setting it. Fixes: 00dc0036 ("zink: flatten out buffer creation usage flags codepath") Part-of: <mesa/mesa!20183>
-
Reviewed-by:
Jason Ekstrand <jason.ekstrand@collabora.com> Part-of: <mesa/mesa!14831>
-
Signed-off-by:
Dawn Han <dawnhan@google.com> Part-of: <mesa/mesa!20064>
-
Fixes: abae9d48 ("Add the iub binding count tracking") Signed-off-by:
Dawn Han <dawnhan@google.com> Part-of: <mesa/mesa!20064>
-
If points or lines are drawn using the polygon mode, the guardband should be adjusted for large points/lines. Cc: 22.3 mesa-stable Signed-off-by:
Samuel Pitoiset <samuel.pitoiset@gmail.com> Reviewed-by:
Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <mesa/mesa!20185>
-
While running VK-CTS with valgrind, the application hit the max thread count of 500. After further investigation, this was due to multiple instances being created with the disk cache spinning up worker threads which wouldn't be cleaned as disk_cache_destroy wasn't being called. Signed-off-by:
Mark Collins <mark@igalia.com> Part-of: <!20178>
-
We lost the race in a recent MR of mine. Fixes: 381e0b43 ("mesa: Add test to prevent windows.h to be included in shared headers") Reviewed-by:
Marek Olšák <marek.olsak@amd.com> Reviewed-by:
Yonggang Luo <luoyonggang@gmail.com> Part-of: <!20170>
-
The `coord_offset` pass is responsible for upgrading any eligible texture loads into prefetches, but a texture prefetch's capabilities are limited and cannot handle any interpolation modes aside from `smooth`. An exception is carved out for `flat` interpolation modes, but this doesn't exclude upgrading `noperspective` texture loads and results in perspective-corrected samples being provided that can severely break applications depending on this behaviour. Fixes incorrect lighting projection on Super Mario Odyssey on Skyline Emulator. Fixes incorrect dirt texture mapping on Portal 2 trace on Turnip and Zink on Turnip. Fixes incorrect lighter shadowing on Half Life 2 trace on Turnip. Signed-off-by:
Mark Collins <mark@igalia.com> Part-of: <mesa/mesa!19842>
-
`coord_offset` is called on the source of `alu` instructions and it returns -1 for failures, this not explicitly checked for and as a result the fetch can incorrectly be upgraded to a prefetch when it isn't appropriate to do so. Signed-off-by:
Mark Collins <mark@igalia.com> Part-of: <mesa/mesa!19842>
-
Otherwise, making a CS using the memory will use the uninitialized .map value (when checking the size of the CS in in begin's tu_cs_is_empty() check), causing valgrind noise in dEQP-VK.binding_model.descriptorset_random.sets4.dynindexed.ubolimitlow.sbolimitlow.sampledimghigh.lowimgsingletex.iublimitlow.nouab.vert.noia.0 (thanks to vi_info->vertexBindingDescriptionCount==0). Part-of: <!20173>
-
This reduces the number of instructions in task shaders when payload size is not aligned to vec4 and payload_in_shared WA is enabled, because nir_lower_task_shader will not need to handle the unaligned size case. Reviewed-by:
Caio Oliveira <caio.oliveira@intel.com> Part-of: <mesa/mesa!20080>
-
We were not taking into account that when all invocations within workgroup are active, we'll copy more data than needed, corrupting task payload of other workgroups. Fixes: 8aff8d3d ("nir: Add common task shader lowering to make the backend's job easier.") Reviewed-by:
Caio Oliveira <caio.oliveira@intel.com> Reviewed-by:
Timur Kristóf <timur.kristof@gmail.com> Part-of: <mesa/mesa!20080>
-
fossil-db (navi21): Totals from 52 (0.04% of 135636) affected shaders: Instrs: 79036 -> 78567 (-0.59%) CodeSize: 431188 -> 427984 (-0.74%) Latency: 1318142 -> 1313821 (-0.33%) InvThroughput: 293842 -> 292836 (-0.34%) VClause: 2555 -> 2361 (-7.59%); split: -8.06%, +0.47% Copies: 8746 -> 8767 (+0.24%); split: -0.11%, +0.35% Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Part-of: <!20117>
-
Death stranding does scratch_arr[80-idx]. This doesn't seem to work if we try to combine the subtraction into the access. fossil-db (navi21): Totals from 52 (0.04% of 135636) affected shaders: Instrs: 78560 -> 79036 (+0.61%) CodeSize: 427940 -> 431188 (+0.76%) Latency: 1313809 -> 1318142 (+0.33%) InvThroughput: 292833 -> 293842 (+0.34%) VClause: 2361 -> 2555 (+8.22%); split: -0.51%, +8.73% Copies: 8767 -> 8746 (-0.24%); split: -0.35%, +0.11% Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Fixes: 0e783d68 ("aco: use scratch_* for scratch load/store on GFX9+") Closes: #7735 Part-of: <!20117>
-
No fossil-db changes. Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Part-of: <mesa/mesa!20117>
-
fossil-db (navi21): Totals from 93 (0.07% of 135636) affected shaders: Instrs: 133949 -> 133899 (-0.04%); split: -0.05%, +0.01% CodeSize: 708124 -> 707528 (-0.08%); split: -0.09%, +0.01% Latency: 2451564 -> 2450158 (-0.06%); split: -0.06%, +0.00% InvThroughput: 398282 -> 397345 (-0.24%) SClause: 4441 -> 4437 (-0.09%); split: -0.18%, +0.09% Copies: 7578 -> 7546 (-0.42%); split: -0.55%, +0.13% Signed-off-by:
Rhys Perry <pendingchaos02@gmail.com> Reviewed-by:
Daniel Schürmann <daniel@schuermann.dev> Reviewed-by:
Timur Kristóf <timur.kristof@gmail.com> Part-of: <mesa/mesa!20117>
-
Test if this trace impact surrounding traces causing rendering changes. Ref: mesa/mesa#7732 Signed-off-by:
David Heidelberg <david.heidelberg@collabora.com> Part-of: <mesa/mesa!20179>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!20146>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <!20146>
-
Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!20146>
-
readnone is illegal now and we should be using invariant.load since LLVM 15. (suggested by Nicolai) Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!20146>
-
It's illegal and LLVM always knows which intrinsics don't read memory. This started failing IR validation with LLVM 16. Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!20146>
-
LLVM adds the flag automatically. Reviewed-by:
Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> Part-of: <mesa/mesa!20146>
-