Displaying 20 results from an estimated 37 matches for "pipe_surfac".
Did you mean:
pipe_surface
2008 Nov 11
2
Memory corruption on Gallium window resize, diagnosed?
...Draw () at tri.c:83
#11 0xf7ecdc54 in processWindowWorkList (window=0x8051200) at glut_event.c:1302
#12 0xf7ecdd3a in __glutProcessWindowWorkLists () at glut_event.c:1354
#13 0xf7ecddb1 in glutMainLoop () at glut_event.c:1375
#14 0x08048fd8 in main (argc=1, argv=0xfff760e4) at tri.c:132
The struct pipe_surface used there contains garbage:
(gdb) print *fb->cbufs[0]
$4 = {buffer = 0xf7d901a0, format = -136773216, status = 1, clear_value = 0, width = 189, height = 181, block = {size = 4, width = 1,
height = 1}, nblocksx = 189, nblocksy = 181, stride = 768, layout = 0, offset = 0, refcount = 0, usa...
2012 Jan 10
5
[PATCH 0/4] nvfx: rework render temps code and fixes
This patch series silences some unknown cap warnings and fixes up
coding style (patch 1+4).
The most important part of this series are the two patches in the
middle. They rework the state_fb code, so that we are able to
render to not 64 byte aligned targets, as this is the only real
use-case for render temporaries this allows us to drop temp code
completely and simplifies a lot
2010 Jan 18
0
[PATCH] nv04-nv40: Rewrite and unify miptree and transfer code
...ipe)
extern void nv04_init_state_functions(struct nv04_context *nv04);
extern void nv04_init_surface_functions(struct nv04_context *nv04);
-extern void nv04_screen_init_miptree_functions(struct pipe_screen *screen);
/* nv04_clear.c */
extern void nv04_clear(struct pipe_context *pipe, struct pipe_surface *ps,
diff --git a/src/gallium/drivers/nv04/nv04_miptree.c b/src/gallium/drivers/nv04/nv04_miptree.c
index e0a6948..d30b046 100644
--- a/src/gallium/drivers/nv04/nv04_miptree.c
+++ b/src/gallium/drivers/nv04/nv04_miptree.c
@@ -1,64 +1,133 @@
#include "pipe/p_state.h"
#include "pipe...
2010 Jan 18
0
[PATCH] nv04-nv40: Rewrite and unify miptree and transfer code (v2)
...ipe)
extern void nv04_init_state_functions(struct nv04_context *nv04);
extern void nv04_init_surface_functions(struct nv04_context *nv04);
-extern void nv04_screen_init_miptree_functions(struct pipe_screen *screen);
/* nv04_clear.c */
extern void nv04_clear(struct pipe_context *pipe, struct pipe_surface *ps,
diff --git a/src/gallium/drivers/nv04/nv04_miptree.c b/src/gallium/drivers/nv04/nv04_miptree.c
index e0a6948..74c2250 100644
--- a/src/gallium/drivers/nv04/nv04_miptree.c
+++ b/src/gallium/drivers/nv04/nv04_miptree.c
@@ -1,64 +1,138 @@
#include "pipe/p_state.h"
#include "pipe...
2009 Apr 08
0
[PATCH/Gallium] nv50: update nv50_clear to new interface
.../drivers/nv50/nv50_clear.c
index db44a9d..45d0a00 100644
--- a/src/gallium/drivers/nv50/nv50_clear.c
+++ b/src/gallium/drivers/nv50/nv50_clear.c
@@ -26,10 +26,15 @@
#include "nv50_context.h"
+#include "util/u_pack_color.h"
+
void
-nv50_clear(struct pipe_context *pipe, struct pipe_surface *ps,
- unsigned clearValue)
+nv50_clear(struct pipe_context *pipe, unsigned buffers,
+ const float *rgba, double depth, unsigned stencil)
{
+ struct pipe_surface *ps = NULL;
+ /* silenced 'used uninitialized' warning by setting NULL,
+ * GCC doesn't know it can't actually...
2010 Aug 06
4
nv vpe video decoder
Hello,
I have my work on the nv vpe video decoder in a functional
state. In case you didn't know this decoder accelerates mpeg2
video at the idct/mc level. I have verified that it works on
nv40 hardware. I believe it works on nv30 hardware (and
maybe some earlier hardware), but I cannot verify since I have
none.
I will reply with patches against the kernel, drm, ddx
and mesa for
2009 Dec 05
1
[PATCH] nouveau: avoid running out of relocs (attempt 4)
...NG (chan, 3 + ((h / 2047) + 1) * 9, 2 + ((h / 2047) + 1) * 2);
BEGIN_RING(chan, m2mf, NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_IN, 2);
OUT_RELOCo(chan, src_bo,
NOUVEAU_BO_GART | NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
@@ -250,7 +253,7 @@ nv04_surface_copy_blit(struct nv04_surface_2d *ctx, struct pipe_surface *dst,
if (format < 0)
return 1;
- WAIT_RING (chan, 12);
+ MARK_RING (chan, 12, 4);
BEGIN_RING(chan, surf2d, NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE, 2);
OUT_RELOCo(chan, src_bo, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
OUT_RELOCo(chan, dst_bo, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
@@ -315,7...
2013 Aug 10
3
[PATCH 1/4] nouveau: fix number of surfaces in video buffer, use defines
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
---
The pipe_surface miscount caused issues for my (failed) attempt at getting
vdpau to work with pmpeg.
src/gallium/drivers/nouveau/nouveau_video.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/nouveau/nouveau_video.h b/src/gallium/drivers/nouveau/nouveau_video.h
in...
2014 Nov 27
0
[Mesa-dev] [RFC] tegra: Initial support
...ot,
> + num_views, views);
> +}
> +
> +static void
> +tegra_set_shader_resources(struct pipe_context *pcontext,
> + unsigned start,
> + unsigned count,
> + struct pipe_surface **resources)
> +{
> + struct tegra_context *context = to_tegra_context(pcontext);
> +
> + context->gpu->set_shader_resources(context->gpu, start, count,
> + resources);
> +}
> +
> +static void
> +tegra_set_ver...
2009 Dec 05
0
[PATCH] nouveau: avoid running out of relocs (attempt 3)
...NG (chan, 3 + ((h / 2047) + 1) * 9, 2 + ((h / 2047) + 1) * 2);
BEGIN_RING(chan, m2mf, NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_IN, 2);
OUT_RELOCo(chan, src_bo,
NOUVEAU_BO_GART | NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
@@ -250,7 +253,7 @@ nv04_surface_copy_blit(struct nv04_surface_2d *ctx, struct pipe_surface *dst,
if (format < 0)
return 1;
- WAIT_RING (chan, 12);
+ MARK_RING (chan, 12, 4);
BEGIN_RING(chan, surf2d, NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE, 2);
OUT_RELOCo(chan, src_bo, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
OUT_RELOCo(chan, dst_bo, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
@@ -315,7...
2013 Jun 29
2
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...surf.base.texture = &mip.base.base;
>> + mip.level[0].tile_mode = 0;
>> + mip.level[0].pitch = surf.width * 4;
>> + mip.base.domain = NOUVEAU_BO_VRAM;
>> + mip.base.bo = dec->mbring;
>> + context->clear_render_target(context, (struct pipe_surface *)&surf, &color, 0, 0, 64, 4760);
>> + surf.offset = dec->vpring->size / 2 - 0x1000;
>> + surf.width = 1024;
>> + surf.height = 1;
>> + mip.level[0].pitch = surf.width * 4;
>> + mip.base.bo = dec->vpring;
>> + conte...
2009 Dec 13
3
[PATCH] nouveau: avoid running out of relocs (attempt 5)
...NG (chan, 3 + ((h / 2047) + 1) * 9, 2 + ((h / 2047) + 1) * 2);
BEGIN_RING(chan, m2mf, NV04_MEMORY_TO_MEMORY_FORMAT_DMA_BUFFER_IN, 2);
OUT_RELOCo(chan, src_bo,
NOUVEAU_BO_GART | NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
@@ -250,7 +253,7 @@ nv04_surface_copy_blit(struct nv04_surface_2d *ctx, struct pipe_surface *dst,
if (format < 0)
return 1;
- WAIT_RING (chan, 12);
+ MARK_RING (chan, 12, 4);
BEGIN_RING(chan, surf2d, NV04_CONTEXT_SURFACES_2D_DMA_IMAGE_SOURCE, 2);
OUT_RELOCo(chan, src_bo, NOUVEAU_BO_VRAM | NOUVEAU_BO_RD);
OUT_RELOCo(chan, dst_bo, NOUVEAU_BO_VRAM | NOUVEAU_BO_WR);
@@ -315,7...
2014 Mar 01
1
[PATCH] nouveau: add valid range tracking to nouveau_buffer
...um/drivers/nouveau/nv50/nv50_resource.c
index 7fbb0a9..d289b4a 100644
--- a/src/gallium/drivers/nouveau/nv50/nv50_resource.c
+++ b/src/gallium/drivers/nouveau/nv50/nv50_resource.c
@@ -68,6 +68,8 @@ nv50_surface_create(struct pipe_context *pipe,
struct pipe_resource *pres,
const struct pipe_surface *templ)
{
+ /* surfaces are assumed to be miptrees all over the place. */
+ assert(pres->target != PIPE_BUFFER);
if (unlikely(pres->target == PIPE_BUFFER))
return nv50_surface_from_buffer(pipe, pres, templ);
return nv50_miptree_surface_new(pipe, pres, templ);
diff --git a...
2014 Nov 27
7
[RFC] tegra: Initial support
...; i++)
+ views[i] = tegra_sampler_view_unwrap(pviews[i]);
+
+ context->gpu->set_sampler_views(context->gpu, shader, start_slot,
+ num_views, views);
+}
+
+static void
+tegra_set_shader_resources(struct pipe_context *pcontext,
+ unsigned start,
+ unsigned count,
+ struct pipe_surface **resources)
+{
+ struct tegra_context *context = to_tegra_context(pcontext);
+
+ context->gpu->set_shader_resources(context->gpu, start, count,
+ resources);
+}
+
+static void
+tegra_set_vertex_buffers(struct pipe_context *pcontext,
+ unsigned start_slot,
+ unsigned num_buff...
2010 May 21
2
[Mesa-dev] RFC: gallium-msaa branch merge
...rly benefit from some cleanup).
> If a driver implements this just with util_resource_copy_region, it is
> possible there are performance regressions, since some (certainly not
> all) state trackers used a quad blitter instead if this wasn't available.
> The u_blit code still uses a pipe_surface as destination, which should
> probably be changed at some point too but the change was already big
> enough imho.
>
> Historically, blits had to operate on surfaces IIRC since there actually
> were surfaces in gallium not backed by a pipe_resource (then
> pipe_texture) but those...
2013 Jun 30
0
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...&mip.base.base;
>>> + mip.level[0].tile_mode = 0;
>>> + mip.level[0].pitch = surf.width * 4;
>>> + mip.base.domain = NOUVEAU_BO_VRAM;
>>> + mip.base.bo = dec->mbring;
>>> + context->clear_render_target(context, (struct pipe_surface *)&surf, &color, 0, 0, 64, 4760);
You can drop the typecast here
s/(struct pipe_surface *)&surf/&surf.base/
>>> + surf.offset = dec->vpring->size / 2 - 0x1000;
>>> + surf.width = 1024;
>>> + surf.height = 1;
>>> + mip.l...
2013 Jun 29
0
[PATCH] nv50: H.264/MPEG2 decoding support via VP2, available on NV84-NV96, NVA0
...vel = 0;
> + surf.base.texture = &mip.base.base;
> + mip.level[0].tile_mode = 0;
> + mip.level[0].pitch = surf.width * 4;
> + mip.base.domain = NOUVEAU_BO_VRAM;
> + mip.base.bo = dec->mbring;
> + context->clear_render_target(context, (struct pipe_surface *)&surf, &color, 0, 0, 64, 4760);
> + surf.offset = dec->vpring->size / 2 - 0x1000;
> + surf.width = 1024;
> + surf.height = 1;
> + mip.level[0].pitch = surf.width * 4;
> + mip.base.bo = dec->vpring;
> + context->clear_render_targ...
2009 Dec 04
3
[PATCH] nouveau: avoid running out of relocs
Signed-off-by: Maarten Maathuis <madman2003 at gmail.com>
---
src/gallium/drivers/nouveau/nouveau_stateobj.h | 12 ++++++++----
1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/src/gallium/drivers/nouveau/nouveau_stateobj.h b/src/gallium/drivers/nouveau/nouveau_stateobj.h
index b595405..28f483f 100644
--- a/src/gallium/drivers/nouveau/nouveau_stateobj.h
+++
2019 Jan 12
7
[Bug 109330] New: GL_ALPHA_BITS set to non-zero with EGL_PLATFORM_GBM_MESA
https://bugs.freedesktop.org/show_bug.cgi?id=109330
Bug ID: 109330
Summary: GL_ALPHA_BITS set to non-zero with
EGL_PLATFORM_GBM_MESA
Product: Mesa
Version: unspecified
Hardware: Other
OS: All
Status: NEW
Severity: normal
Priority: medium
Component:
2014 May 27
1
[PATCH V3] nvc0: implement clear_buffer
..._ref(nvc0->screen->base.fence.current, &buf->fence);
+ nouveau_fence_ref(nvc0->screen->base.fence.current, &buf->fence_wr);
+ nvc0->dirty |= NVC0_NEW_FRAMEBUFFER;
+}
+
+static void
nvc0_clear_depth_stencil(struct pipe_context *pipe,
struct pipe_surface *dst,
unsigned clear_flags,
@@ -1363,4 +1513,5 @@ nvc0_init_surface_functions(struct nvc0_context *nvc0)
pipe->flush_resource = nvc0_flush_resource;
pipe->clear_render_target = nvc0_clear_render_target;
pipe->clear_depth_stencil = nvc0_clear_depth_ste...