Displaying 20 results from an estimated 33 matches for "push_kick".
Did you mean:
push_back
2015 Aug 03
3
"enable dri3 support without glamor" causes gnome-shell regression on nv4x
Hi,
On 30-07-15 16:09, Ilia Mirkin wrote:
> FWIW this is a fail on nv50+ as well. See for example
> https://bugs.freedesktop.org/show_bug.cgi?id=91445
>
> My suspicion is that this is due to the lack of PUSH_KICK in the *Done
> exa handlers -- works fine with DRI2, but DRI3 has no synchronization
> and so the commands never get flushed out. Easily verified by sticking
> PUSH_KICK's everywhere.
I do not believe that that is the problem, in my case it clearly
seems to be a pitch / swizzle proble...
2014 Jun 23
2
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...ntext_kick_notify.
>> It would be great if you could detail the list of transformations that
>> were done in the commit description, as well as what the "new way" is
>> (if any) for the various concepts.
> I moved the pushbuf and fences to each context separately. The PUSH_KICK on context switch ensures
> that the previous context is flushed.
>> This change doesn't have any of the locking -- is that coming in a
>> future change? Otherwise we're still vulnerable to multiple threads
>> trying to render at the same time. (Now with screen sharing,...
2015 Jul 30
2
"enable dri3 support without glamor" causes gnome-shell regression on nv4x
Hi Maarten,
xf86-video-nouveau causes a garbled display when running
gnome-shell on nv4x (tested with nv43 and nv46) since this commit:
http://cgit.freedesktop.org/nouveau/xf86-video-nouveau/commit/?id=241e7289f25a342a457952b9b0e539c2f0b81d99
I've seen some discussion about issues caused by enabling dri,
but AFAIK no solution let.
I have time to help with debugging / fixing this, but I
2015 Aug 03
2
"enable dri3 support without glamor" causes gnome-shell regression on nv4x
...m> wrote:
>> Hi,
>>
>> On 30-07-15 16:09, Ilia Mirkin wrote:
>>>
>>> FWIW this is a fail on nv50+ as well. See for example
>>> https://bugs.freedesktop.org/show_bug.cgi?id=91445
>>>
>>> My suspicion is that this is due to the lack of PUSH_KICK in the *Done
>>> exa handlers -- works fine with DRI2, but DRI3 has no synchronization
>>> and so the commands never get flushed out. Easily verified by sticking
>>> PUSH_KICK's everywhere.
>>
>>
>> I do not believe that that is the problem, in my ca...
2014 Jun 23
0
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...offset in nv30_context_kick_notify.
> It would be great if you could detail the list of transformations that
> were done in the commit description, as well as what the "new way" is
> (if any) for the various concepts.
I moved the pushbuf and fences to each context separately. The PUSH_KICK on context switch ensures
that the previous context is flushed.
> This change doesn't have any of the locking -- is that coming in a
> future change? Otherwise we're still vulnerable to multiple threads
> trying to render at the same time. (Now with screen sharing, even if
> the...
2014 Jun 23
0
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...y.
>>> It would be great if you could detail the list of transformations that
>>> were done in the commit description, as well as what the "new way" is
>>> (if any) for the various concepts.
>> I moved the pushbuf and fences to each context separately. The PUSH_KICK on context switch ensures
>> that the previous context is flushed.
>>> This change doesn't have any of the locking -- is that coming in a
>>> future change? Otherwise we're still vulnerable to multiple threads
>>> trying to render at the same time. (Now with...
2014 Jun 21
3
[Mesa-dev] [PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...ence,
> struct nouveau_pushbuf *push = nv30->base.pushbuf;
>
> if (fence)
> - nouveau_fence_ref(nv30->screen->base.fence.current,
> + nouveau_fence_ref(nv30->base.fence.current,
> (struct nouveau_fence **)fence);
>
> PUSH_KICK(push);
> @@ -159,6 +157,22 @@ nv30_context_destroy(struct pipe_context *pipe)
> {
> struct nv30_context *nv30 = nv30_context(pipe);
>
> + /* need to flush before destroying the bufctx */
> + nouveau_pushbuf_kick(nv30->base.pushbuf, nv30->base.pushbuf->channel);
&...
2020 Aug 06
3
[PATCH] drm/nouveau/kms/nv50-: Program notifier offset before requesting disp caps
...push, NV507D, SET_NOTIFIER_CONTROL,
+ NVDEF(NV507D, SET_NOTIFIER_CONTROL, MODE, WRITE) |
+ NVVAL(NV507D, SET_NOTIFIER_CONTROL, OFFSET, NV50_DISP_CORE_NTFY >> 2) |
+ NVDEF(NV507D, SET_NOTIFIER_CONTROL, NOTIFY, ENABLE));
PUSH_MTHD(push, NV507D, GET_CAPABILITIES, 0x00000000);
- return PUSH_KICK(push);
+ ret = PUSH_KICK(push);
+ if (ret)
+ return ret;
+
+ return 0;
}
int
--
2.26.2
2012 Apr 20
3
[Bug 48954] New: nv25 PGRAPH error and X freeze
https://bugs.freedesktop.org/show_bug.cgi?id=48954
Bug #: 48954
Summary: nv25 PGRAPH error and X freeze
Classification: Unclassified
Product: xorg
Version: git
Platform: x86 (IA32)
OS/Version: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: Driver/nouveau
2014 Jun 17
0
[PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...*pipe, struct pipe_fence_handle **fence,
struct nouveau_pushbuf *push = nv30->base.pushbuf;
if (fence)
- nouveau_fence_ref(nv30->screen->base.fence.current,
+ nouveau_fence_ref(nv30->base.fence.current,
(struct nouveau_fence **)fence);
PUSH_KICK(push);
@@ -159,6 +157,22 @@ nv30_context_destroy(struct pipe_context *pipe)
{
struct nv30_context *nv30 = nv30_context(pipe);
+ /* need to flush before destroying the bufctx */
+ nouveau_pushbuf_kick(nv30->base.pushbuf, nv30->base.pushbuf->channel);
+
+ if (nv30->base.fence...
2020 Aug 07
4
[PATCH v2 1/2] drm/nouveau/kms/nv50-: Program notifier offset before requesting disp caps
...push, NV507D, SET_NOTIFIER_CONTROL,
+ NVDEF(NV507D, SET_NOTIFIER_CONTROL, MODE, WRITE) |
+ NVVAL(NV507D, SET_NOTIFIER_CONTROL, OFFSET, NV50_DISP_CORE_NTFY >> 2) |
+ NVDEF(NV507D, SET_NOTIFIER_CONTROL, NOTIFY, ENABLE));
PUSH_MTHD(push, NV507D, GET_CAPABILITIES, 0x00000000);
- return PUSH_KICK(push);
+
+ ret = PUSH_KICK(push);
+ if (ret)
+ return ret;
+
+ core->func->update(core, interlock, false);
+ if (core->func->ntfy_wait_done(disp->sync, NV50_DISP_CORE_NTFY,
+ core->chan.base.device))
+ NV_ERROR(drm, "core notifier timeout\n");
+
+ return 0;...
2015 Aug 10
2
"enable dri3 support without glamor" causes gnome-shell regression on nv4x
..., Ilia Mirkin wrote:
>>>>>
>>>>>
>>>>> FWIW this is a fail on nv50+ as well. See for example
>>>>> https://bugs.freedesktop.org/show_bug.cgi?id=91445
>>>>>
>>>>> My suspicion is that this is due to the lack of PUSH_KICK in the *Done
>>>>> exa handlers -- works fine with DRI2, but DRI3 has no synchronization
>>>>> and so the commands never get flushed out. Easily verified by sticking
>>>>> PUSH_KICK's everywhere.
>>>>
>>>>
>>>>
>...
2014 Jun 17
2
[PATCH try 2 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com>
---
src/gallium/drivers/nouveau/nouveau_fence.c | 76 ++++++++++++-------------
src/gallium/drivers/nouveau/nouveau_fence.h | 22 +++++--
src/gallium/drivers/nouveau/nouveau_screen.c | 9 +++
src/gallium/drivers/nouveau/nouveau_screen.h | 14 ++---
src/gallium/drivers/nouveau/nv30/nv30_context.c | 4 +-
2013 Jun 29
0
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...IN_NV04(screen->pushbuf, SUBC_3D(0x1b00), 4);
> + PUSH_DATAh(screen->pushbuf, dec->fence->offset);
> + PUSH_DATA (screen->pushbuf, dec->fence->offset);
> + PUSH_DATA (screen->pushbuf, 1);
> + PUSH_DATA (screen->pushbuf, 0xf010);
> + PUSH_KICK (screen->pushbuf);
> +
> + PUSH_SPACE(bsp_push, 2 + 12 + 2 + 4 + 3);
> +
> + BEGIN_NV04(bsp_push, SUBC_BSP(NV01_SUBCHAN_OBJECT), 1);
> + PUSH_DATA (bsp_push, dec->bsp->handle);
> +
> + BEGIN_NV04(bsp_push, SUBC_BSP(0x180), 11);
> + for (i =...
2013 Jun 27
4
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...ne.
+ */
+ BEGIN_NV04(screen->pushbuf, SUBC_3D(0x1b00), 4);
+ PUSH_DATAh(screen->pushbuf, dec->fence->offset);
+ PUSH_DATA (screen->pushbuf, dec->fence->offset);
+ PUSH_DATA (screen->pushbuf, 1);
+ PUSH_DATA (screen->pushbuf, 0xf010);
+ PUSH_KICK (screen->pushbuf);
+
+ PUSH_SPACE(bsp_push, 2 + 12 + 2 + 4 + 3);
+
+ BEGIN_NV04(bsp_push, SUBC_BSP(NV01_SUBCHAN_OBJECT), 1);
+ PUSH_DATA (bsp_push, dec->bsp->handle);
+
+ BEGIN_NV04(bsp_push, SUBC_BSP(0x180), 11);
+ for (i = 0; i < 11; i++)
+ PUSH_DATA(b...
2014 Jun 16
2
[PATCH 1/2] gallium/nouveau: decouple nouveau_fence implementation from screen
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com>
---
src/gallium/drivers/nouveau/nouveau_fence.c | 76 ++++++++++++-------------
src/gallium/drivers/nouveau/nouveau_fence.h | 22 +++++--
src/gallium/drivers/nouveau/nouveau_screen.c | 9 +++
src/gallium/drivers/nouveau/nouveau_screen.h | 14 ++---
src/gallium/drivers/nouveau/nv30/nv30_context.c | 4
2015 May 19
2
[PATCH 1/2] Check before trying a solid fill
...0);
- pNv->EXADriverPtr->Solid(pdpix, 0, 0, w, h);
- pNv->EXADriverPtr->DoneSolid(pdpix);
- nouveau_bo_wait(pNv->scanout, NOUVEAU_BO_RDWR, pNv->client);
+ if (exa->PrepareSolid(pdpix, GXclear, ~0, 0)) {
+ exa->Solid(pdpix, 0, 0, w, h);
+ exa->DoneSolid(pdpix);
+ PUSH_KICK(pNv->pushbuf);
+ nouveau_bo_wait(pNv->scanout, NOUVEAU_BO_RDWR, pNv->client);
+ pScreen->DestroyPixmap(pdpix);
+ return;
+ }
pScreen->DestroyPixmap(pdpix);
- return;
}
#endif
if (nouveau_bo_map(pNv->scanout, NOUVEAU_BO_WR, pNv->client))
--
2.3.6
2013 Jun 29
2
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...ushbuf, SUBC_3D(0x1b00), 4);
>> + PUSH_DATAh(screen->pushbuf, dec->fence->offset);
>> + PUSH_DATA (screen->pushbuf, dec->fence->offset);
>> + PUSH_DATA (screen->pushbuf, 1);
>> + PUSH_DATA (screen->pushbuf, 0xf010);
>> + PUSH_KICK (screen->pushbuf);
>> +
>> + PUSH_SPACE(bsp_push, 2 + 12 + 2 + 4 + 3);
>> +
>> + BEGIN_NV04(bsp_push, SUBC_BSP(NV01_SUBCHAN_OBJECT), 1);
>> + PUSH_DATA (bsp_push, dec->bsp->handle);
>> +
>> + BEGIN_NV04(bsp_push, SUBC_BSP(0x180)...
2013 Jun 30
0
[PATCH v2] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...*/
+ BEGIN_NV04(screen->pushbuf, NV50_3D(QUERY_ADDRESS_HIGH), 4);
+ PUSH_DATAh(screen->pushbuf, dec->fence->offset);
+ PUSH_DATA (screen->pushbuf, dec->fence->offset);
+ PUSH_DATA (screen->pushbuf, 1);
+ PUSH_DATA (screen->pushbuf, 0xf010);
+ PUSH_KICK (screen->pushbuf);
+
+ PUSH_SPACE(bsp_push, 2 + 12 + 2 + 4 + 3);
+
+ BEGIN_NV04(bsp_push, SUBC_BSP(NV01_SUBCHAN_OBJECT), 1);
+ PUSH_DATA (bsp_push, dec->bsp->handle);
+
+ BEGIN_NV04(bsp_push, SUBC_BSP(0x180), 11);
+ for (i = 0; i < 11; i++)
+ PUSH_DATA(b...
2016 Jun 05
0
[RFC PATCH] nouveau: add locking
...lium/drivers/nouveau/nv50/nv50_context.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_context.c
@@ -37,7 +37,9 @@ nv50_flush(struct pipe_context *pipe,
if (fence)
nouveau_fence_ref(screen->fence.current, (struct nouveau_fence **)fence);
+ pipe_mutex_lock(screen->push_mutex);
PUSH_KICK(screen->pushbuf);
+ pipe_mutex_unlock(screen->push_mutex);
nouveau_context_update_frame_stats(nouveau_context(pipe));
}
@@ -47,10 +49,12 @@ nv50_texture_barrier(struct pipe_context *pipe)
{
struct nouveau_pushbuf *push = nv50_context(pipe)->base.pushbuf;
+ pipe_mutex_lock...