All of lore.kernel.org
 help / color / mirror / Atom feed
From: bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ@public.gmane.org
To: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Subject: [Bug 64074] New: Mesalib Installation Error
Date: Tue, 30 Apr 2013 07:42:19 +0000	[thread overview]
Message-ID: <bug-64074-8800@http.bugs.freedesktop.org/> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 7292 bytes --]

https://bugs.freedesktop.org/show_bug.cgi?id=64074

          Priority: medium
            Bug ID: 64074
          Assignee: nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
           Summary: Mesalib Installation Error
          Severity: normal
    Classification: Unclassified
                OS: All
          Reporter: andree.tago-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
          Hardware: Other
            Status: NEW
           Version: 7.10
         Component: Drivers/DRI/nouveau
           Product: Mesa

Mesalib installation :

i have set environement variable 
export NOUVEAU_CFLAGS="-I/usr/include/nouveau/ \
-I/usr/include/drm/"
export NOUVEAU_LIBS="-L/usr/local/lib/"
after i run ./configure
then i run make i get this message 

usr/include/drm/nouveau_pushbuf.h: In function ‘OUT_RING’:
/usr/include/drm/nouveau_pushbuf.h:72: error: ‘struct nouveau_channel’ has no
member named ‘cur’
/usr/include/drm/nouveau_pushbuf.h: In function ‘AVAIL_RING’:
/usr/include/drm/nouveau_pushbuf.h:93: error: ‘struct nouveau_channel’ has no
member named ‘end’
/usr/include/drm/nouveau_pushbuf.h:93: error: ‘struct nouveau_channel’ has no
member named ‘cur’
/usr/include/drm/nouveau_pushbuf.h: In function ‘WAIT_RING’:
/usr/include/drm/nouveau_pushbuf.h:100: error: ‘struct nouveau_channel’ has no
member named ‘cur’
/usr/include/drm/nouveau_pushbuf.h:100: error: ‘struct nouveau_channel’ has no
member named ‘end’
/usr/include/drm/nouveau_pushbuf.h: In function ‘OUT_RELOC’:
/usr/include/drm/nouveau_pushbuf.h:114: error: ‘struct nouveau_channel’ has no
member named ‘cur’
/usr/include/drm/nouveau_pushbuf.h: In function ‘OUT_RELOC2’:
/usr/include/drm/nouveau_pushbuf.h:124: error: ‘struct nouveau_channel’ has no
member named ‘cur’
make[6]: *** [nouveau_screen.o] Error 1

avec la la contenu des fcichiers suivant :

------------- nouveau_pushbhf.h-------------

#ifndef __NOUVEAU_PUSHBUF_H__
#define __NOUVEAU_PUSHBUF_H__

#include <assert.h>
#include <string.h>

#include "nouveau/nouveau_channel.h"
#include "nouveau_bo.h"
#include "nouveau_grobj.h"
int
nouveau_pushbuf_flush(struct nouveau_channel *, unsigned min);

int
nouveau_pushbuf_marker_emit(struct nouveau_channel *chan,
       unsigned wait_dwords, unsigned wait_relocs);

void
nouveau_pushbuf_marker_undo(struct nouveau_channel *chan);

int
nouveau_pushbuf_emit_reloc(struct nouveau_channel *, void *ptr,
      struct nouveau_bo *, uint32_t data, uint32_t data2,
      uint32_t flags, uint32_t vor, uint32_t tor);

int
nouveau_pushbuf_submit(struct nouveau_channel *chan, struct nouveau_bo *bo,
         unsigned offset, unsigned length);

/* Push buffer access macros */
static __inline__ int
MARK_RING(struct nouveau_channel *chan, unsigned dwords, unsigned relocs)
{
 return nouveau_pushbuf_marker_emit(chan, dwords, relocs);
}

static __inline__ void
MARK_UNDO(struct nouveau_channel *chan)
{
 nouveau_pushbuf_marker_undo(chan);
}

static __inline__ void
OUT_RING(struct nouveau_channel *chan, unsigned data)
{
 *(chan->cur++) = (data);
}

static __inline__ void
OUT_RINGp(struct nouveau_channel *chan, const void *data, unsigned size)
{
 //memcpy(chan->cur, data, size * 4);
 //chan->cur += size;
}

static __inline__ void
OUT_RINGf(struct nouveau_channel *chan, float f)
{
 union { uint32_t i; float f; } c;
 c.f = f;
 OUT_RING(chan, c.i);
}

static __inline__ unsigned
AVAIL_RING(struct nouveau_channel *chan)
{
 return chan->end - chan->cur;
//return NULL;
}

static __inline__ void
WAIT_RING(struct nouveau_channel *chan, unsigned size)
{
 if (chan->cur + size > chan->end)
  nouveau_pushbuf_flush(chan, size);
}

static __inline__ void
FIRE_RING(struct nouveau_channel *chan)
{
 nouveau_pushbuf_flush(chan, 0);
}

static __inline__ int
OUT_RELOC(struct nouveau_channel *chan, struct nouveau_bo *bo,
   unsigned data, unsigned flags, unsigned vor, unsigned tor)
{
 return nouveau_pushbuf_emit_reloc(chan, chan->cur++, bo,
       data, 0, flags, vor, tor);
//return NULL;
}

static __inline__ int
OUT_RELOC2(struct nouveau_channel *chan, struct nouveau_bo *bo,
    unsigned data, unsigned data2, unsigned flags,
    unsigned vor, unsigned tor)
{
 return nouveau_pushbuf_emit_reloc(chan, chan->cur++, bo,
       data, data2, flags, vor, tor);
//return NULL;
}

/* Raw data + flags depending on FB/TT buffer */
static __inline__ int
OUT_RELOCd(struct nouveau_channel *chan, struct nouveau_bo *bo,
    unsigned data, unsigned flags, unsigned vor, unsigned tor)
{
 return OUT_RELOC(chan, bo, data, flags | NOUVEAU_BO_OR, vor, tor);
}

/* FB/TT object handle */
static __inline__ int
OUT_RELOCo(struct nouveau_channel *chan, struct nouveau_bo *bo,
    unsigned flags)
{
 return OUT_RELOC(chan, bo, 0, flags | NOUVEAU_BO_OR,
    chan->vram->handle, chan->gart->handle);
}

/* Low 32-bits of offset */
static __inline__ int
OUT_RELOCl(struct nouveau_channel *chan, struct nouveau_bo *bo,
    unsigned delta, unsigned flags)
{
 return OUT_RELOC(chan, bo, delta, flags | NOUVEAU_BO_LOW, 0, 0);
}

/* Low 32-bits of offset + GPU linear access range info */
static __inline__ int
OUT_RELOCr(struct nouveau_channel *chan, struct nouveau_bo *bo,
    unsigned delta, unsigned size, unsigned flags)
{
 return OUT_RELOC2(chan, bo, delta, size, flags | NOUVEAU_BO_LOW, 0, 0);
}

/* High 32-bits of offset */
static __inline__ int
OUT_RELOCh(struct nouveau_channel *chan, struct nouveau_bo *bo,
    unsigned delta, unsigned flags)
{
 return OUT_RELOC(chan, bo, delta, flags | NOUVEAU_BO_HIGH, 0, 0);
}

#endif

------------- nouveau_grobj.h------------
#define __NOUVEAU_GROBJ_H__

#include "nouveau_channel.h"

struct nouveau_grobj {
 struct nouveau_channel *channel;
 int grclass;
 uint32_t handle;

 enum {
  NOUVEAU_GROBJ_UNBOUND = 0,
  NOUVEAU_GROBJ_BOUND = 1,
  NOUVEAU_GROBJ_BOUND_EXPLICIT = 2
 } bound;
 int subc;
};

int nouveau_grobj_alloc(struct nouveau_channel *, uint32_t handle,
          int class, struct nouveau_grobj **);
int nouveau_grobj_ref(struct nouveau_channel *, uint32_t handle,
        struct nouveau_grobj **);
void nouveau_grobj_free(struct nouveau_grobj **);
void nouveau_grobj_autobind(struct nouveau_grobj *);

#endif
-----------------nouveau_chanel.h-------------------

#ifndef __NOUVEAU_CHANNEL_H__
#define __NOUVEAU_CHANNEL_H__

struct nouveau_subchannel {
 struct nouveau_grobj *gr;
 unsigned sequence;
};

struct nouveau_channel {
 uint32_t *cur;
 uint32_t *end;

 struct nouveau_device *device;
 int id;

 struct nouveau_grobj *nullobj;
 struct nouveau_grobj *vram;
 struct nouveau_grobj *gart;

 void *user_private;
 void (*hang_notify)(struct nouveau_channel *);
 void (*flush_notify)(struct nouveau_channel *);

 struct nouveau_subchannel subc[8];
 unsigned subc_sequence;
};

int
nouveau_channel_alloc(struct nouveau_device *, uint32_t fb, uint32_t tt,
        int pushbuf_size, struct nouveau_channel **);

void
nouveau_channel_free(struct nouveau_channel **);

#endif

-- 
You are receiving this mail because:
You are the assignee for the bug.

[-- Attachment #1.2: Type: text/html, Size: 8707 bytes --]

[-- Attachment #2: Type: text/plain, Size: 181 bytes --]

_______________________________________________
Nouveau mailing list
Nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
http://lists.freedesktop.org/mailman/listinfo/nouveau

             reply	other threads:[~2013-04-30  7:42 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-30  7:42 bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ [this message]
     [not found] ` <bug-64074-8800-V0hAGp6uBxMKqLRl/0Ahz6D7qz1kEfGD2LY78lusg7I@public.gmane.org/>
2013-06-20  0:54   ` [Bug 64074] Mesalib Installation Error bugzilla-daemon-CC+yJ3UmIYqDUpFQwHEjaQ

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-64074-8800@http.bugs.freedesktop.org/ \
    --to=bugzilla-daemon-cc+yj3umiyqdupfqwhejaq@public.gmane.org \
    --cc=nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.