* [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
* [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
* 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
* 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
* 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
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.