* [PATCH 1/2] nvfx: fb->nr_cbufs <= 1 on nv30
@ 2010-11-24 20:50 Xavier Chantry
[not found] ` <1290631836-21180-1-git-send-email-chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: Xavier Chantry @ 2010-11-24 20:50 UTC (permalink / raw)
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW
7e1bf946316ff99feaa3f2e85f70b45bd9a77ade changed
PIPE_CAP_MAX_RENDER_TARGETS to 1 on nv30.
Signed-off-by: Xavier Chantry <chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
---
src/gallium/drivers/nvfx/nvfx_state_fb.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/gallium/drivers/nvfx/nvfx_state_fb.c b/src/gallium/drivers/nvfx/nvfx_state_fb.c
index 30e48c8..73885de 100644
--- a/src/gallium/drivers/nvfx/nvfx_state_fb.c
+++ b/src/gallium/drivers/nvfx/nvfx_state_fb.c
@@ -54,7 +54,7 @@ nvfx_framebuffer_prepare(struct nvfx_context *nvfx)
int all_swizzled = 1;
if(!nvfx->is_nv4x)
- assert(fb->nr_cbufs <= 2);
+ assert(fb->nr_cbufs <= 1);
else
assert(fb->nr_cbufs <= 4);
--
1.7.3.2
^ permalink raw reply related [flat|nested] 3+ messages in thread[parent not found: <1290631836-21180-1-git-send-email-chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* [PATCH 2/2] nvfx: reset nvfx->hw_zeta [not found] ` <1290631836-21180-1-git-send-email-chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2010-11-24 20:50 ` Xavier Chantry [not found] ` <1290631836-21180-2-git-send-email-chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 3+ messages in thread From: Xavier Chantry @ 2010-11-24 20:50 UTC (permalink / raw) To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW If nvfx_framebuffer prepare and validate were called successively with fb->zsbuf not NULL and then NULL, nvfx->hw_zeta would contain garbage and this would cause failures in nvfx_framebuffer_relocate/OUT_RELOC(hw_zeta). This was triggered by piglit/texwrap 2D GL_DEPTH_COMPONENT24 and caused first a 'write to user buffer!!' error in libdrm and then worse things. Signed-off-by: Xavier Chantry <chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> --- src/gallium/drivers/nvfx/nvfx_state_fb.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/src/gallium/drivers/nvfx/nvfx_state_fb.c b/src/gallium/drivers/nvfx/nvfx_state_fb.c index 73885de..90eb110 100644 --- a/src/gallium/drivers/nvfx/nvfx_state_fb.c +++ b/src/gallium/drivers/nvfx/nvfx_state_fb.c @@ -113,7 +113,9 @@ nvfx_framebuffer_validate(struct nvfx_context *nvfx, unsigned prepare_result) nvfx->state.render_temps |= nvfx_surface_get_render_target(fb->cbufs[i], prepare_result, &nvfx->hw_rt[i]) << i; for(; i < 4; ++i) - nvfx->hw_rt[i].bo = 0; + nvfx->hw_rt[i].bo = NULL; + + nvfx->hw_zeta.bo = NULL; if (fb->zsbuf) { nvfx->state.render_temps |= nvfx_surface_get_render_target(fb->zsbuf, prepare_result, &nvfx->hw_zeta) << 7; -- 1.7.3.2 ^ permalink raw reply related [flat|nested] 3+ messages in thread
[parent not found: <1290631836-21180-2-git-send-email-chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: [PATCH 2/2] nvfx: reset nvfx->hw_zeta [not found] ` <1290631836-21180-2-git-send-email-chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2010-11-25 16:10 ` Francisco Jerez 0 siblings, 0 replies; 3+ messages in thread From: Francisco Jerez @ 2010-11-25 16:10 UTC (permalink / raw) To: Xavier Chantry; +Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW [-- Attachment #1.1.1: Type: text/plain, Size: 1429 bytes --] Xavier Chantry <chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> writes: > If nvfx_framebuffer prepare and validate were called successively with > fb->zsbuf not NULL and then NULL, nvfx->hw_zeta would contain garbage and > this would cause failures in nvfx_framebuffer_relocate/OUT_RELOC(hw_zeta). > > This was triggered by piglit/texwrap 2D GL_DEPTH_COMPONENT24 and caused > first a 'write to user buffer!!' error in libdrm and then worse things. > > Signed-off-by: Xavier Chantry <chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Thanks, both patches pushed. > --- > src/gallium/drivers/nvfx/nvfx_state_fb.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/src/gallium/drivers/nvfx/nvfx_state_fb.c b/src/gallium/drivers/nvfx/nvfx_state_fb.c > index 73885de..90eb110 100644 > --- a/src/gallium/drivers/nvfx/nvfx_state_fb.c > +++ b/src/gallium/drivers/nvfx/nvfx_state_fb.c > @@ -113,7 +113,9 @@ nvfx_framebuffer_validate(struct nvfx_context *nvfx, unsigned prepare_result) > nvfx->state.render_temps |= nvfx_surface_get_render_target(fb->cbufs[i], prepare_result, &nvfx->hw_rt[i]) << i; > > for(; i < 4; ++i) > - nvfx->hw_rt[i].bo = 0; > + nvfx->hw_rt[i].bo = NULL; > + > + nvfx->hw_zeta.bo = NULL; > > if (fb->zsbuf) { > nvfx->state.render_temps |= nvfx_surface_get_render_target(fb->zsbuf, prepare_result, &nvfx->hw_zeta) << 7; [-- Attachment #1.2: Type: application/pgp-signature, Size: 229 bytes --] [-- Attachment #2: Type: text/plain, Size: 181 bytes --] _______________________________________________ Nouveau mailing list Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org http://lists.freedesktop.org/mailman/listinfo/nouveau ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2010-11-25 16:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-24 20:50 [PATCH 1/2] nvfx: fb->nr_cbufs <= 1 on nv30 Xavier Chantry
[not found] ` <1290631836-21180-1-git-send-email-chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2010-11-24 20:50 ` [PATCH 2/2] nvfx: reset nvfx->hw_zeta Xavier Chantry
[not found] ` <1290631836-21180-2-git-send-email-chantry.xavier-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2010-11-25 16:10 ` Francisco Jerez
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.