On 03/28/2016 05:01 PM, Bas Nieuwenhuizen wrote:
Signed-off-by: Bas Nieuwenhuizen <b...@basnieuwenhuizen.nl>
---
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
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev