On 03/28/2016 05:01 PM, Bas Nieuwenhuizen wrote:
Signed-off-by: Bas Nieuwenhuizen <[email protected]> --- src/mesa/state_tracker/st_atom_constbuf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/src/mesa/state_tracker/st_atom_constbuf.c b/src/mesa/state_tracker/st_atom_constbuf.c index 4d9b344..a980dbe 100644 --- a/src/mesa/state_tracker/st_atom_constbuf.c +++ b/src/mesa/state_tracker/st_atom_constbuf.c @@ -65,8 +65,8 @@ void st_upload_constants( struct st_context *st, shader_type == PIPE_SHADER_COMPUTE);/* update the ATI constants before rendering */- struct ati_fragment_shader *ati_fs = st->fp->ati_fs; - if (shader_type == PIPE_SHADER_FRAGMENT && ati_fs) { + if (shader_type == PIPE_SHADER_FRAGMENT && st->fp->ati_fs) { + struct ati_fragment_shader *ati_fs = st->fp->ati_fs; unsigned c;for (c = 0; c < MAX_NUM_FRAGMENT_CONSTANTS_ATI; c++) {
Could you please provide a test program that demonstrates the NULL access? AFAIK st->fp is either a user-supplied shader or a shader that implements the fixed-function fragment operation, and I don't know how it could be NULL.
BTW if st->fp is NULL, then this segfaults even after your change. MM _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
