search for: begin_nvc0

Displaying 20 results from an estimated 70 matches for "begin_nvc0".

2014 Jun 14
7
[PATCH 0/3] ARB_viewport_array for nvc0
This patch-series implements the ARB_viewport_array for nvc0 and does a little house-cleanig afterwords. Tobias Klausmann (3): nvc0: implement multiple viewports/scissors, enable ARB_viewport_array nvc0: mark scissor in nvc0_clear_{} nv50/ir: Remove NV50_SEMANTIC_VIEWPORTINDEX and its last consumer .../drivers/nouveau/codegen/nv50_ir_driver.h | 1 -
2014 May 26
2
Implement buffer_clear for nvc0
Hi, please review the following patch! Thanks, Tobias Klausmann
2014 Jun 15
4
[PATCH v2 0/3] ARB_viewport_array for nvc0
This patch-series implements the ARB_viewport_array for nvc0 and does a little house-cleanig afterwords. V2: Add Release-Notes, mark this in GL3 as done for nvc0 Don't mark the scissors dirty when we don't need to do that Tobias Klausmann (3): nvc0: implement multiple viewports/scissors, enable ARB_viewport_array docs: update GL3.txt, relnotes: mark GL_ARB_viewport_array as done
2014 Jun 15
0
[PATCH v2 1/3] nvc0: implement multiple viewports/scissors, enable ARB_viewport_array
...E_SW_MSAA: return 0; case PIPE_CAP_MAX_VIEWPORTS: - return 1; + return NVC0_MAX_VIEWPORTS; case PIPE_CAP_TEXTURE_QUERY_LOD: case PIPE_CAP_SAMPLE_SHADING: case PIPE_CAP_TEXTURE_GATHER_OFFSETS: @@ -933,19 +933,23 @@ nvc0_screen_create(struct nouveau_device *dev) BEGIN_NVC0(push, NVC0_3D(VIEWPORT_TRANSFORM_EN), 1); PUSH_DATA (push, 1); - BEGIN_NVC0(push, NVC0_3D(DEPTH_RANGE_NEAR(0)), 2); - PUSH_DATAf(push, 0.0f); - PUSH_DATAf(push, 1.0f); + for (i = 0; i < NVC0_MAX_VIEWPORTS; i++) { + BEGIN_NVC0(push, NVC0_3D(DEPTH_RANGE_NEAR(i)), 2); + PUSH_D...
2014 Jun 14
0
[PATCH 1/3] nvc0: implement multiple viewports/scissors, enable ARB_viewport_array
...E_SW_MSAA: return 0; case PIPE_CAP_MAX_VIEWPORTS: - return 1; + return NVC0_MAX_VIEWPORTS; case PIPE_CAP_TEXTURE_QUERY_LOD: case PIPE_CAP_SAMPLE_SHADING: case PIPE_CAP_TEXTURE_GATHER_OFFSETS: @@ -933,19 +933,23 @@ nvc0_screen_create(struct nouveau_device *dev) BEGIN_NVC0(push, NVC0_3D(VIEWPORT_TRANSFORM_EN), 1); PUSH_DATA (push, 1); - BEGIN_NVC0(push, NVC0_3D(DEPTH_RANGE_NEAR(0)), 2); - PUSH_DATAf(push, 0.0f); - PUSH_DATAf(push, 1.0f); + for (i = 0; i < NVC0_MAX_VIEWPORTS; i++) { + BEGIN_NVC0(push, NVC0_3D(DEPTH_RANGE_NEAR(i)), 2); + PUSH_D...
2014 May 26
0
[PATCH] nvc0: Implement buffer_clear for this type of hardware
...data_size == 0); + + if (data_size != 12) { + + elements = size / data_size; + + height = (elements + 16383) / 16384; + + width = elements / height; + + if (!PUSH_SPACE(push, 40)) + return; + + PUSH_REFN (push, buf->bo, buf->domain | NOUVEAU_BO_WR); + + BEGIN_NVC0(push, NVC0_3D(CLEAR_COLOR(0)), 4); + PUSH_DATAf(push, color.f[0]); + PUSH_DATAf(push, color.f[1]); + PUSH_DATAf(push, color.f[2]); + PUSH_DATAf(push, color.f[3]); + BEGIN_NVC0(push, NVC0_3D(SCREEN_SCISSOR_HORIZ), 2); + PUSH_DATA (push, width << 16); + PUSH_D...
2012 Jul 27
1
[PATCH] nvc0: Add and enable vblank support
...ushbuf; + int crtcs; + + if (!nouveau_exa_pixmap_is_onscreen(ppix)) + return; + + crtcs = nv_window_belongs_to_crtc(pScrn, box->x1, box->y1, + box->x2 - box->x1, + box->y2 - box->y1); + if (!crtcs) + return; + + BEGIN_NVC0(push, SUBC_NVSW(NV84_SUBCHAN_SEMAPHORE_ADDRESS_HIGH), 4); + PUSH_DATA (push, pNv->notifier_bo->offset >> 32); + PUSH_DATA (push, pNv->notifier_bo->offset); + PUSH_DATA (push, 0x22222222); + PUSH_DATA (push, NV84_SUBCHAN_SEMAPHORE_TRIGGER_WRITE_LONG); + BEGIN_NVC0(push, SUBC_NVSW(0...
2014 May 27
1
[PATCH V3] nvc0: implement clear_buffer
...pu(pipe, res, offset, size, data, data_size); + return; + } + + elements = size / data_size; + + height = (elements + 16383) / 16384; + + width = elements / height; + + if (!PUSH_SPACE(push, 40)) + return; + + PUSH_REFN (push, buf->bo, buf->domain | NOUVEAU_BO_WR); + + BEGIN_NVC0(push, NVC0_3D(CLEAR_COLOR(0)), 4); + PUSH_DATAf(push, color.f[0]); + PUSH_DATAf(push, color.f[1]); + PUSH_DATAf(push, color.f[2]); + PUSH_DATAf(push, color.f[3]); + BEGIN_NVC0(push, NVC0_3D(SCREEN_SCISSOR_HORIZ), 2); + PUSH_DATA (push, width << 16); + PUSH_DATA (push, height &lt...
2014 Jul 10
3
[PATCH 0/3] nvc0: ARB_(multi_)draw_indirect support
The main patches are from Christoph. Unfortunately they're a little beyond my understanding of all the vertex-related details, but they generally seemed fine. I'm just going to push these unless someone steps up to review them. Christoph Bumiller (2): nvc0: add support for indirect drawing nvc0: fix translate path for PRIM_RESTART_WITH_DRAW_ARRAYS Ilia Mirkin (1): nouveau: check if
2014 May 26
1
[PATCH V2] nvc0: implement clear_buffer
...offset,size,data,data_size); + } + else { + + elements = size / data_size; + + height = (elements + 16383) / 16384; + + width = elements / height; + + if (!PUSH_SPACE(push, 40)) + return; + + PUSH_REFN (push, buf->bo, buf->domain | NOUVEAU_BO_WR); + + BEGIN_NVC0(push, NVC0_3D(CLEAR_COLOR(0)), 4); + PUSH_DATAf(push, color.f[0]); + PUSH_DATAf(push, color.f[1]); + PUSH_DATAf(push, color.f[2]); + PUSH_DATAf(push, color.f[3]); + BEGIN_NVC0(push, NVC0_3D(SCREEN_SCISSOR_HORIZ), 2); + PUSH_DATA (push, width << 16); + PUSH_D...
2015 Mar 21
0
[PATCH] use defined method names where available
...T(0x00000130), 1); + BEGIN_NV04(push, NV15_BLIT(FLIP_WAIT), 1); PUSH_DATA (push, 0); } diff --git a/src/nvc0_accel.c b/src/nvc0_accel.c index 3a5a603..aa9cd19 100644 --- a/src/nvc0_accel.c +++ b/src/nvc0_accel.c @@ -190,9 +190,9 @@ NVAccelInit2D_NVC0(ScrnInfoPtr pScrn) PUSH_DATA (push, 1); BEGIN_NVC0(push, NV50_2D(COLOR_KEY_ENABLE), 1); PUSH_DATA (push, 0); - BEGIN_NVC0(push, SUBC_2D(0x0884), 1); + BEGIN_NVC0(push, NV50_2D(UNK0884), 1); PUSH_DATA (push, 0x3f); - BEGIN_NVC0(push, SUBC_2D(0x0888), 1); + BEGIN_NVC0(push, NV50_2D(UNK0888), 1); PUSH_DATA (push, 1); BEGIN_NVC0(push, NV50_2D(R...
2014 Jan 17
2
[PATCH] nv50, nvc0: only clear out the buffers that we were asked to clear
...NVC0_3D_CLEAR_BUFFERS_R | NVC0_3D_CLEAR_BUFFERS_G | - NVC0_3D_CLEAR_BUFFERS_B | NVC0_3D_CLEAR_BUFFERS_A; } if (buffers & PIPE_CLEAR_DEPTH) { @@ -444,12 +441,16 @@ nvc0_clear(struct pipe_context *pipe, unsigned buffers, mode |= NVC0_3D_CLEAR_BUFFERS_S; } - BEGIN_NVC0(push, NVC0_3D(CLEAR_BUFFERS), 1); - PUSH_DATA (push, mode); - - for (i = 1; i < fb->nr_cbufs; i++) { + if (mode) { BEGIN_NVC0(push, NVC0_3D(CLEAR_BUFFERS), 1); - PUSH_DATA (push, (i << 6) | 0x3c); + PUSH_DATA (push, mode); + } + + for (i = 0; i < fb->nr_...
2014 Jun 14
0
[PATCH 2/3] nvc0: mark scissor in nvc0_clear_{}
...drivers/nouveau/nvc0/nvc0_surface.c b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c index c28ec6d..72227b8 100644 --- a/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c +++ b/src/gallium/drivers/nouveau/nvc0/nvc0_surface.c @@ -298,6 +298,7 @@ nvc0_clear_render_target(struct pipe_context *pipe, BEGIN_NVC0(push, NVC0_3D(SCREEN_SCISSOR_HORIZ), 2); PUSH_DATA (push, ( width << 16) | dstx); PUSH_DATA (push, (height << 16) | dsty); + nvc0->scissors_dirty |= 1; BEGIN_NVC0(push, NVC0_3D(RT_CONTROL), 1); PUSH_DATA (push, 1); @@ -447,6 +448,7 @@ nvc0_clear_buffer(struct pipe...
2016 Oct 16
2
[PATCH] exa: add GM10x acceleration support
...se if (pNv->dev->chipset < 0x110) { class = 0xa197; handle = 0x0000906e; + } else { + class = 0xb097; + handle = 0x0000906e; } ret = nouveau_object_new(pNv->channel, class, class, @@ -304,10 +317,12 @@ NVAccelInit3D_NVC0(ScrnInfoPtr pScrn) PUSH_DATA (push, 1); } - BEGIN_NVC0(push, NVC0_3D(VERTEX_QUARANTINE_ADDRESS_HIGH), 3); - PUSH_DATA (push, (bo->offset + MISC_OFFSET) >> 32); - PUSH_DATA (push, (bo->offset + MISC_OFFSET)); - PUSH_DATA (push, 1); + if (pNv->Architecture < NV_MAXWELL) { + BEGIN_NVC0(push, NVC0_3D(VERTEX_QUARANTINE_ADDRESS_HIGH), 3);...
2016 Oct 27
0
[PATCH v2 1/7] exa: add GM10x acceleration support
...se if (pNv->dev->chipset < 0x110) { class = 0xa197; handle = 0x0000906e; + } else { + class = 0xb097; + handle = 0x0000906e; } ret = nouveau_object_new(pNv->channel, class, class, @@ -304,10 +317,12 @@ NVAccelInit3D_NVC0(ScrnInfoPtr pScrn) PUSH_DATA (push, 1); } - BEGIN_NVC0(push, NVC0_3D(VERTEX_QUARANTINE_ADDRESS_HIGH), 3); - PUSH_DATA (push, (bo->offset + MISC_OFFSET) >> 32); - PUSH_DATA (push, (bo->offset + MISC_OFFSET)); - PUSH_DATA (push, 1); + if (pNv->Architecture < NV_MAXWELL) { + BEGIN_NVC0(push, NVC0_3D(VERTEX_QUARANTINE_ADDRESS_HIGH), 3);...
2014 Jun 17
0
[PATCH try 2 2/2] gallium/nouveau: move pushbuf and fences to context
...een->parm); - if (ret) - return ret; + return ret; +} + +void +nvc0_context_compute_setup(struct nvc0_context *nvc0) +{ + struct nouveau_pushbuf *push = nvc0->base.pushbuf; + struct nvc0_screen *screen = nvc0->screen; + int i; + + if (!screen->parm) + return; BEGIN_NVC0(push, SUBC_COMPUTE(NV01_SUBCHAN_OBJECT), 1); PUSH_DATA (push, screen->compute->oclass); @@ -117,8 +125,6 @@ nvc0_screen_compute_setup(struct nvc0_screen *screen, PUSH_DATA (push, (0 << 8) | 1); /* TODO: textures & samplers */ - - return 0; } boolean diff --git a/...
2014 Jan 15
3
[PATCH] nv50, nvc0: don't crash on a null cbuf
...t nv04_resource *res; + struct nouveau_bo *bo; + + /* Do we need to clear the old RT settings? */ + if (!fb->cbufs[i]) + continue; + + sf = nv50_surface(fb->cbufs[i]); + res = nv04_resource(sf->base.texture); + bo = res->bo; BEGIN_NVC0(push, NVC0_3D(RT_ADDRESS_HIGH(i)), 9); PUSH_DATAh(push, res->address + sf->offset); -- 1.8.3.2
2016 Oct 17
0
[PATCH] exa: add GM10x acceleration support
...0xa197; > handle = 0x0000906e; > + } else { > + class = 0xb097; > + handle = 0x0000906e; > } > > ret = nouveau_object_new(pNv->channel, class, class, > @@ -304,10 +317,12 @@ NVAccelInit3D_NVC0(ScrnInfoPtr pScrn) > PUSH_DATA (push, 1); > } > > - BEGIN_NVC0(push, NVC0_3D(VERTEX_QUARANTINE_ADDRESS_HIGH), 3); > - PUSH_DATA (push, (bo->offset + MISC_OFFSET) >> 32); > - PUSH_DATA (push, (bo->offset + MISC_OFFSET)); > - PUSH_DATA (push, 1); > + if (pNv->Architecture < NV_MAXWELL) { > + BEGIN_NVC0(push, NVC0_3D(VERTEX_QUARA...
2014 Jan 23
2
[Mesa-dev] [PATCH] nv50, nvc0: only clear out the buffers that we were asked to clear
...NVC0_3D_CLEAR_BUFFERS_B | NVC0_3D_CLEAR_BUFFERS_A; >> } >> >> if (buffers & PIPE_CLEAR_DEPTH) { >> @@ -444,12 +441,16 @@ nvc0_clear(struct pipe_context *pipe, unsigned buffers, >> mode |= NVC0_3D_CLEAR_BUFFERS_S; >> } >> >> - BEGIN_NVC0(push, NVC0_3D(CLEAR_BUFFERS), 1); >> - PUSH_DATA (push, mode); >> - >> - for (i = 1; i < fb->nr_cbufs; i++) { >> + if (mode) { >> BEGIN_NVC0(push, NVC0_3D(CLEAR_BUFFERS), 1); >> - PUSH_DATA (push, (i << 6) | 0x3c); >> + PU...
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 +-