mesa merge requestshttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests2024-03-27T16:14:59Zhttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28409nvc0/surface: dont submit a kick when the scissor state doesnt care2024-03-27T16:14:59ZYusuf Khannvc0/surface: dont submit a kick when the scissor state doesnt care### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
```
nvc0/surface: dont submit a kick when the scissor state doesnt care
Bit dirty but does the trick
Signed-off-by: Yusuf Khan <yusisa...### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
```
nvc0/surface: dont submit a kick when the scissor state doesnt care
Bit dirty but does the trick
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com>
```
---
Small micro-optimization to this edge-case, mostly just a roundabout way of asking:
1. Why we need to send a submit here when we want race-free state-tracking and 2. What would have to change in nvc0/nv50 to not send a endless numbers of submits everytime we want to draw a vbo.https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27939Draft: nvc0: stencil compression2024-03-06T02:09:12ZYusuf KhanDraft: nvc0: stencil compression### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
This enables stencil compression for Maxwell B+.
---
Marked as draft just because I dont know for certain if Maxwell B is NV120### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
This enables stencil compression for Maxwell B+.
---
Marked as draft just because I dont know for certain if Maxwell B is NV120https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26339nouveau: code cleanup for tgsi-related changes2023-12-07T22:43:07ZThomas Andersennouveau: code cleanup for tgsi-related changesThese are just some trivial things I noticed while reading the code.
* Drop #include of tgsi headers that are no longer used
* Move the reference to tgsi_from_mesa from nvk to codegenThese are just some trivial things I noticed while reading the code.
* Drop #include of tgsi headers that are no longer used
* Move the reference to tgsi_from_mesa from nvk to codegenMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26272gallium: add pipe_shader_from_nir helper2023-11-21T20:38:54ZAlyssa Rosenzweiggallium: add pipe_shader_from_nir helperuseful for nir-based gallium meta, we have a tgsi equivalent already.useful for nir-based gallium meta, we have a tgsi equivalent already.Needs reviewMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26016nvc0: implement PIPE_CAP_TIMER_RESOLUTION2023-11-04T14:27:21ZKarol Herbstkherbst@redhat.comnvc0: implement PIPE_CAP_TIMER_RESOLUTIONThis allows rusticl to create profiling queues.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10042This allows rusticl to create profiling queues.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10042Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24705nouveau: Add a 4th optimization level for MemoryOpts2023-08-21T14:44:17ZGeorge Ouzounoudisnouveau: Add a 4th optimization level for MemoryOpts### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
nouveau: Add a 4th optimization level for MemoryOpts
MemoryOpt optimization pass makes some tests in NVK fail. Until its
fixed in codeg...### What does this MR do and why?
<!-- Describe in detail what your merge request does and why. -->
nouveau: Add a 4th optimization level for MemoryOpts
MemoryOpt optimization pass makes some tests in NVK fail. Until its
fixed in codegen or implemented on NIR instead, move it to a 4th level.
Fixes dEQP-VK.pipeline.monolithic.dynamic_control_points.change_output*
Relates to https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22118Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24447nv50/ir: port sysvals away from using TGSI2023-08-05T09:51:35ZKarol Herbstkherbst@redhat.comnv50/ir: port sysvals away from using TGSIMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24261nvc0: fix num_gprs for Volta+2023-08-03T14:11:56ZKarol Herbstkherbst@redhat.comnvc0: fix num_gprs for Volta+Overallocating by 2 gprs for ugprs is a wild guess by me. It does make
sense though as each subgroup shares 64 ugprs and that's 2 per thread.Overallocating by 2 gprs for ugprs is a wild guess by me. It does make
sense though as each subgroup shares 64 ugprs and that's 2 per thread.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24175nouveau: Delete nv50_ir_from_tgsi.cpp2023-08-03T14:11:53ZM Henningnouveau: Delete nv50_ir_from_tgsi.cppThe tgsi path has been dead code since c3cbe610 "nouveau: Delete the NV50_PROG_USE_TGSI env var."The tgsi path has been dead code since c3cbe610 "nouveau: Delete the NV50_PROG_USE_TGSI env var."Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23802nvc0: backport fp helper invocation fix to 2nd gen Maxwell+2023-07-18T21:38:51ZKarol Herbstkherbst@redhat.comnvc0: backport fp helper invocation fix to 2nd gen Maxwell+See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21989 for more details.See https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21989 for more details.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23749nouveau: couple of random fixes2023-06-24T02:33:23ZKarol Herbstkherbst@redhat.comnouveau: couple of random fixesCurrently in the process of just running the CTS on various GPUs and fixing a bunch of stuff. Will add more commits until I'm done or bored of it. Feel free to review existing patches.Currently in the process of just running the CTS on various GPUs and fixing a bunch of stuff. Will add more commits until I'm done or bored of it. Feel free to review existing patches.Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23724nouveau: handle dead channels2023-08-31T13:16:05ZKarol Herbstkherbst@redhat.comnouveau: handle dead channelsAt the moment this simply calls into the device reset callback, but maybe we want to do a little more in case we don't have one registered?At the moment this simply calls into the device reset callback, but maybe we want to do a little more in case we don't have one registered?https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23369compiler: Rename shader_prim to mesa_prim and replace all usage of pipe_prim_...2023-08-22T00:39:06ZYonggang Luocompiler: Rename shader_prim to mesa_prim and replace all usage of pipe_prim_type with mesa_prim
This is a prepare step to remove depends on p_defines.h in src/util/*
This is done by:
- replace pipe_prim_type with mesa_prim
- replace shader_prim with mesa_prim
- replace PIPE_PRIM_MAX with MESA_PRIM_COUNT
- replace SHADER_PRIM_ ...
This is a prepare step to remove depends on p_defines.h in src/util/*
This is done by:
- replace pipe_prim_type with mesa_prim
- replace shader_prim with mesa_prim
- replace PIPE_PRIM_MAX with MESA_PRIM_COUNT
- replace SHADER_PRIM_ with MESA_PRIM_
- replace PIPE_PRIM_ with MESA_PRIM_Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22997nv50,nvc0: Fix blitter shader leaks2023-05-13T19:52:26ZM Henningnv50,nvc0: Fix blitter shader leaksMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22722nvc0: do not randomly emit fences.2023-05-18T17:26:27ZKarol Herbstkherbst@redhat.comnvc0: do not randomly emit fences.We track fences in a global list and have a per context "current" fence
which we randomly attach things to. If we take such a fence and emit it
without also creating a new fence for future tasks we can get out of sync
leading to random f...We track fences in a global list and have a per context "current" fence
which we randomly attach things to. If we take such a fence and emit it
without also creating a new fence for future tasks we can get out of sync
leading to random failures.
Some of our queries could trigger such cases and even though this issues
appears to be triggered by the MT rework, I'm convinced that this was only
made more visible by those fixes and we had this bug lurking for quite a
while.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7429Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21989nvc0: enable fp helper invocation memory loads on GPUs with firmware blobs2023-06-22T15:03:49ZKarol Herbstkherbst@redhat.comnvc0: enable fp helper invocation memory loads on GPUs with firmware blobsReason:
Nvidia hardware has a per context switch to enable/disable memory loads in fp helper invocations. Those are disabled by default.
The bad news: This is an mmio register which needs to be toggled.
The good news: Nvidia's firmware...Reason:
Nvidia hardware has a per context switch to enable/disable memory loads in fp helper invocations. Those are disabled by default.
The bad news: This is an mmio register which needs to be toggled.
The good news: Nvidia's firmware provides a way to toggle gr context switched mmio registers from Userspace via MME macros.
On pre Turing GPUs we'll just toggle it on the kernel side for every context. The main reason we do it via macros for Turing+ is that GSP will require us to do it like this anyway.
Shader test file to reproduce this problem:
```
[require]
GL >= 4.3
GLSL >= 4.30
GL_ARB_shader_atomic_counter_ops
GL_ARB_shader_ballot
[vertex shader passthrough]
[fragment shader]
#extension GL_ARB_shader_atomic_counter_ops: require
#extension GL_ARB_gpu_shader_int64: require
#extension GL_ARB_shader_ballot : require
uniform int input_uniform;
layout(binding = 0) buffer bufblock {
uint64_t input_ssbo;
uint64_t test_uniform;
uint64_t test_ssbo;
};
out vec4 color;
void main()
{
if (gl_SubGroupInvocationARB != 0)
discard;
test_uniform = ballotARB(input_uniform == 5);
test_ssbo = ballotARB(input_ssbo == 10);
color = vec4(0.0, 1.0, 0.0, 1.0);
}
[test]
ssbo 0 32
ssbo 0 subdata uint64 0 10
ssbo 0 subdata uint64 8 0
ssbo 0 subdata uint64 16 0
ssbo 0 subdata uint64 24 0
uniform int input_uniform 5
clear color 0.5 0.5 0.5 0.5
clear
draw rect 0 0 1 1
# only passing if fp helper invocation load from memory
probe ssbo uint64 0 8 == 15
probe ssbo uint64 0 16 == 15
```Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20151nvc0/vbo: Fix crash with enabled vertex attrib without buffer2023-08-16T17:48:46ZYusuf Khannvc0/vbo: Fix crash with enabled vertex attrib without bufferFixes the spec@!opengl 3.1@vao-broken-attrib piglit
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com>Fixes the spec@!opengl 3.1@vao-broken-attrib piglit
Signed-off-by: Yusuf Khan <yusisamerican@gmail.com>Yusuf KhanYusuf Khanhttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19543nouveau: eliminate busy waiting on fences2023-06-18T20:24:28ZKarol Herbstkherbst@redhat.comnouveau: eliminate busy waiting on fencesShould get rid of CPU overhead in Nouveau, sometimes, maybe. I didn't really benchmark it, but it should help (unless the kernel side is doing something silly).Should get rid of CPU overhead in Nouveau, sometimes, maybe. I didn't really benchmark it, but it should help (unless the kernel side is doing something silly).Marge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19431nouveau/codegen: Support bindless texture queries2022-11-01T15:54:01ZFaith Ekstrandnouveau/codegen: Support bindless texture queriesMarge BotMarge Bothttps://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19405nvc0/nv50: support and enable EXT_memory_object*2023-02-13T12:18:57ZYusuf Khannvc0/nv50: support and enable EXT_memory_object*Signed-off-by: Yusuf Khan <yusisamerican@gmail.com>Signed-off-by: Yusuf Khan <yusisamerican@gmail.com>Marge BotMarge Bot