* [PATCH 1/2] nv40: don't crash on empty fragment program
@ 2010-01-17 21:35 Luca Barbieri
[not found] ` <1263764160-8891-1-git-send-email-luca-Ukmtq+NC3rhBHFWNQifrYwC/G2K4zDHf@public.gmane.org>
0 siblings, 1 reply; 7+ messages in thread
From: Luca Barbieri @ 2010-01-17 21:35 UTC (permalink / raw)
To: mesa3d-dev-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Luca Barbieri
---
src/gallium/drivers/nv40/nv40_fragprog.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/src/gallium/drivers/nv40/nv40_fragprog.c b/src/gallium/drivers/nv40/nv40_fragprog.c
index 1237066..209d211 100644
--- a/src/gallium/drivers/nv40/nv40_fragprog.c
+++ b/src/gallium/drivers/nv40/nv40_fragprog.c
@@ -843,7 +843,8 @@ nv40_fragprog_translate(struct nv40_context *nv40,
fp->fp_control |= fpc->num_regs << NV40TCL_FP_CONTROL_TEMP_COUNT_SHIFT;
/* Terminate final instruction */
- fp->insn[fpc->inst_offset] |= 0x00000001;
+ if(fp->insn)
+ fp->insn[fpc->inst_offset] |= 0x00000001;
/* Append NOP + END instruction, may or may not be necessary. */
fpc->inst_offset = fp->insn_len;
--
1.6.3.3
^ permalink raw reply related [flat|nested] 7+ messages in thread[parent not found: <1263764160-8891-1-git-send-email-luca-Ukmtq+NC3rhBHFWNQifrYwC/G2K4zDHf@public.gmane.org>]
* [PATCH 2/2] st: don't assert on empty fragment program [not found] ` <1263764160-8891-1-git-send-email-luca-Ukmtq+NC3rhBHFWNQifrYwC/G2K4zDHf@public.gmane.org> @ 2010-01-17 21:36 ` Luca Barbieri 2010-01-18 18:01 ` Brian Paul 0 siblings, 1 reply; 7+ messages in thread From: Luca Barbieri @ 2010-01-17 21:36 UTC (permalink / raw) To: mesa3d-dev-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Luca Barbieri Sauerbraten triggers this assert. --- src/mesa/state_tracker/st_atom_shader.c | 2 -- 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c index 176f3ea..fce533a 100644 --- a/src/mesa/state_tracker/st_atom_shader.c +++ b/src/mesa/state_tracker/st_atom_shader.c @@ -79,8 +79,6 @@ translate_fp(struct st_context *st, stfp->num_input_slots = numIn; - assert(stfp->Base.Base.NumInstructions > 1); - st_translate_fragment_program(st, stfp, stfp->input_to_slot); } } -- 1.6.3.3 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] st: don't assert on empty fragment program 2010-01-17 21:36 ` [PATCH 2/2] st: don't assert " Luca Barbieri @ 2010-01-18 18:01 ` Brian Paul [not found] ` <4B54A208.10803-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> 0 siblings, 1 reply; 7+ messages in thread From: Brian Paul @ 2010-01-18 18:01 UTC (permalink / raw) To: Luca Barbieri Cc: nouveau@lists.freedesktop.org, mesa3d-dev@lists.sourceforge.net Luca Barbieri wrote: > Sauerbraten triggers this assert. > --- > src/mesa/state_tracker/st_atom_shader.c | 2 -- > 1 files changed, 0 insertions(+), 2 deletions(-) > > diff --git a/src/mesa/state_tracker/st_atom_shader.c b/src/mesa/state_tracker/st_atom_shader.c > index 176f3ea..fce533a 100644 > --- a/src/mesa/state_tracker/st_atom_shader.c > +++ b/src/mesa/state_tracker/st_atom_shader.c > @@ -79,8 +79,6 @@ translate_fp(struct st_context *st, > > stfp->num_input_slots = numIn; > > - assert(stfp->Base.Base.NumInstructions > 1); > - > st_translate_fragment_program(st, stfp, stfp->input_to_slot); > } > } How do we end up with a shader that has only one instruction (or none)? Is it an END instruction? I'd like to learn more about what's happening before committing this. -Brian ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <4B54A208.10803-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>]
* Re: [Mesa3d-dev] [PATCH 2/2] st: don't assert on empty fragment program [not found] ` <4B54A208.10803-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> @ 2010-01-18 18:15 ` Luca Barbieri 2010-01-18 18:26 ` Brian Paul 2010-01-18 18:27 ` Roland Scheidegger 0 siblings, 2 replies; 7+ messages in thread From: Luca Barbieri @ 2010-01-18 18:15 UTC (permalink / raw) To: Brian Paul Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, mesa3d-dev-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Breakpoint 3, _mesa_ProgramStringARB (target=34820, format=34933, len=70, string=0x85922ba) at shader/arbprogram.c:434 434 GET_CURRENT_CONTEXT(ctx); $31 = 0x85922ba "!!ARBfp1.0\n \n OPTION ARB_precision_hint_fastest;\n \n\n\n END\n" Not sure why Sauerbraten does this, but it does, at least on my system (Ubuntu Karmic, nv40 driver) and it should be legal. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] st: don't assert on empty fragment program 2010-01-18 18:15 ` [Mesa3d-dev] " Luca Barbieri @ 2010-01-18 18:26 ` Brian Paul [not found] ` <4B54A7C6.4060402-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> 2010-01-18 18:27 ` Roland Scheidegger 1 sibling, 1 reply; 7+ messages in thread From: Brian Paul @ 2010-01-18 18:26 UTC (permalink / raw) To: Luca Barbieri Cc: nouveau@lists.freedesktop.org, mesa3d-dev@lists.sourceforge.net Luca Barbieri wrote: > Breakpoint 3, _mesa_ProgramStringARB (target=34820, format=34933, > len=70, string=0x85922ba) at shader/arbprogram.c:434 > 434 GET_CURRENT_CONTEXT(ctx); > $31 = 0x85922ba "!!ARBfp1.0\n \n OPTION > ARB_precision_hint_fastest;\n \n\n\n END\n" > > Not sure why Sauerbraten does this, but it does, at least on my system > (Ubuntu Karmic, nv40 driver) and it should be legal. OK, GL_ARB_fragment_programs says a fragment program does not have to write a color result (so the color is undefined). But the assertion should be changed to "num instructions > 0" and not removed. I'll fix that. -Brian ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev ^ permalink raw reply [flat|nested] 7+ messages in thread
[parent not found: <4B54A7C6.4060402-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>]
* Re: [Mesa3d-dev] [PATCH 2/2] st: don't assert on empty fragment program [not found] ` <4B54A7C6.4060402-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org> @ 2010-01-18 18:30 ` Luca Barbieri 0 siblings, 0 replies; 7+ messages in thread From: Luca Barbieri @ 2010-01-18 18:30 UTC (permalink / raw) To: Brian Paul Cc: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, mesa3d-dev-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org > But the assertion should be changed to "num instructions > 0" and not > removed. I'll fix that. OK. Programs without END should be rejected by the parser anyway though. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] st: don't assert on empty fragment program 2010-01-18 18:15 ` [Mesa3d-dev] " Luca Barbieri 2010-01-18 18:26 ` Brian Paul @ 2010-01-18 18:27 ` Roland Scheidegger 1 sibling, 0 replies; 7+ messages in thread From: Roland Scheidegger @ 2010-01-18 18:27 UTC (permalink / raw) To: Luca Barbieri Cc: nouveau@lists.freedesktop.org, mesa3d-dev@lists.sourceforge.net On 18.01.2010 19:15, Luca Barbieri wrote: > Breakpoint 3, _mesa_ProgramStringARB (target=34820, format=34933, > len=70, string=0x85922ba) at shader/arbprogram.c:434 > 434 GET_CURRENT_CONTEXT(ctx); > $31 = 0x85922ba "!!ARBfp1.0\n \n OPTION > ARB_precision_hint_fastest;\n \n\n\n END\n" > > Not sure why Sauerbraten does this, but it does, at least on my system > (Ubuntu Karmic, nv40 driver) and it should be legal. Probably depth writes only enabled for things like shadows? Roland ------------------------------------------------------------------------------ Throughout its 18-year history, RSA Conference consistently attracts the world's best and brightest in the field, creating opportunities for Conference attendees to learn about information security's most important issues through interactions with peers, luminaries and emerging and established companies. http://p.sf.net/sfu/rsaconf-dev2dev ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2010-01-18 18:30 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-01-17 21:35 [PATCH 1/2] nv40: don't crash on empty fragment program Luca Barbieri
[not found] ` <1263764160-8891-1-git-send-email-luca-Ukmtq+NC3rhBHFWNQifrYwC/G2K4zDHf@public.gmane.org>
2010-01-17 21:36 ` [PATCH 2/2] st: don't assert " Luca Barbieri
2010-01-18 18:01 ` Brian Paul
[not found] ` <4B54A208.10803-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2010-01-18 18:15 ` [Mesa3d-dev] " Luca Barbieri
2010-01-18 18:26 ` Brian Paul
[not found] ` <4B54A7C6.4060402-pghWNbHTmq7QT0dZR+AlfA@public.gmane.org>
2010-01-18 18:30 ` [Mesa3d-dev] " Luca Barbieri
2010-01-18 18:27 ` Roland Scheidegger
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.