Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Radeon] Radeon HD 6310 60 FPS (Abierto)
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2  
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 207

PostPosted: Wed Jul 04, 2012 12:35 pm    Post subject: Reply with quote

El parche en cuestión es este:

Code:
Fixes fbo-clear-formats, fbo-generatemipmap-formats, no regressions on
evergreen

 src/gallium/drivers/r600/evergreen_state.c |    5 +-
 src/gallium/drivers/r600/r600_blit.c       |   21 +++---
 src/gallium/drivers/r600/r600_pipe.h       |    4 +-
 src/gallium/drivers/r600/r600_resource.h   |    6 +-
 src/gallium/drivers/r600/r600_state.c      |    2 +-
 src/gallium/drivers/r600/r600_texture.c    |  106 ++++++++++++++++------------
 6 files changed, 83 insertions(+), 61 deletions(-)

diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c
index f0fdd2b..2aa5ccb 100644
--- a/src/gallium/drivers/r600/evergreen_state.c
+++ b/src/gallium/drivers/r600/evergreen_state.c
@@ -988,7 +988,7 @@ static struct pipe_sampler_view *evergreen_create_sampler_view(struct pipe_conte
    }
 
    if (tmp->is_depth && !tmp->is_flushing_texture) {
-      r600_init_flushed_depth_texture(ctx, texture);
+      r600_init_flushed_depth_texture(ctx, texture, NULL);
       tmp = tmp->flushed_depth_texture;
       if (!tmp) {
          FREE(view);
@@ -1314,7 +1314,8 @@ static void evergreen_cb(struct r600_context *rctx, struct r600_pipe_state *rsta
       rctx->have_depth_fb = TRUE;
 
    if (rtex->is_depth && !rtex->is_flushing_texture) {
-           r600_init_flushed_depth_texture(&rctx->context, state->cbufs[cb]->texture);
+      r600_init_flushed_depth_texture(&rctx->context,
+                 state->cbufs[cb]->texture, NULL);
       rtex = rtex->flushed_depth_texture;
       assert(rtex);
    }
diff --git a/src/gallium/drivers/r600/r600_blit.c b/src/gallium/drivers/r600/r600_blit.c
index 031cd39..90d1992 100644
--- a/src/gallium/drivers/r600/r600_blit.c
+++ b/src/gallium/drivers/r600/r600_blit.c
@@ -114,13 +114,17 @@ static unsigned u_num_layers(struct pipe_resource *r, unsigned level)
    }
 }
 
-void r600_blit_uncompress_depth(struct pipe_context *ctx, struct r600_resource_texture *texture)
+void r600_blit_uncompress_depth(struct pipe_context *ctx,
+      struct r600_resource_texture *texture,
+      struct r600_resource_texture *staging)
 {
    struct r600_context *rctx = (struct r600_context *)ctx;
    unsigned layer, level;
    float depth = 1.0f;
+   struct r600_resource_texture *flushed_depth_texture = staging ?
+         staging : texture->flushed_depth_texture;
 
-   if (!texture->dirty_db)
+   if (!staging && !texture->dirty_db)
       return;
 
    if (rctx->family == CHIP_RV610 || rctx->family == CHIP_RV630 ||
@@ -141,10 +145,10 @@ void r600_blit_uncompress_depth(struct pipe_context *ctx, struct r600_resource_t
 
          zsurf = ctx->create_surface(ctx, &texture->resource.b.b, &surf_tmpl);
 
-         surf_tmpl.format = texture->flushed_depth_texture->real_format;
+         surf_tmpl.format = flushed_depth_texture->real_format;
          surf_tmpl.usage = PIPE_BIND_RENDER_TARGET;
          cbsurf = ctx->create_surface(ctx,
-               (struct pipe_resource*)texture->flushed_depth_texture, &surf_tmpl);
+               (struct pipe_resource*)flushed_depth_texture, &surf_tmpl);
 
          r600_blitter_begin(ctx, R600_DECOMPRESS);
          util_blitter_custom_depth_stencil(rctx->blitter, zsurf, cbsurf, rctx->custom_dsa_flush, depth);
@@ -155,7 +159,8 @@ void r600_blit_uncompress_depth(struct pipe_context *ctx, struct r600_resource_t
       }
    }
 
-   texture->dirty_db = FALSE;
+   if (!staging)
+      texture->dirty_db = FALSE;
 }
 
 void r600_flush_depth_textures(struct r600_context *rctx)
@@ -178,7 +183,7 @@ void r600_flush_depth_textures(struct r600_context *rctx)
       if (tex->is_flushing_texture)
          continue;
 
-      r600_blit_uncompress_depth(&rctx->context, tex);
+      r600_blit_uncompress_depth(&rctx->context, tex, NULL);
    }
 
    /* also check CB here */
@@ -192,7 +197,7 @@ void r600_flush_depth_textures(struct r600_context *rctx)
       if (tex->is_flushing_texture)
          continue;
 
-      r600_blit_uncompress_depth(&rctx->context, tex);
+      r600_blit_uncompress_depth(&rctx->context, tex, NULL);
    }
 }
 
@@ -342,7 +347,7 @@ static void r600_resource_copy_region(struct pipe_context *ctx,
    }
 
    if (rsrc->is_depth && !rsrc->is_flushing_texture)
-      r600_texture_depth_flush(ctx, src);
+      r600_texture_depth_flush(ctx, src, NULL);
 
    restore_orig[0] = restore_orig[1] = FALSE;
 
diff --git a/src/gallium/drivers/r600/r600_pipe.h b/src/gallium/drivers/r600/r600_pipe.h
index 82c4a12..032a6ec 100644
--- a/src/gallium/drivers/r600/r600_pipe.h
+++ b/src/gallium/drivers/r600/r600_pipe.h
@@ -426,7 +426,9 @@ void evergreen_update_dual_export_state(struct r600_context * rctx);
 
 /* r600_blit.c */
 void r600_init_blit_functions(struct r600_context *rctx);
-void r600_blit_uncompress_depth(struct pipe_context *ctx, struct r600_resource_texture *texture);
+void r600_blit_uncompress_depth(struct pipe_context *ctx,
+      struct r600_resource_texture *texture,
+      struct r600_resource_texture *staging);
 void r600_flush_depth_textures(struct r600_context *rctx);
 
 /* r600_buffer.c */
diff --git a/src/gallium/drivers/r600/r600_resource.h b/src/gallium/drivers/r600/r600_resource.h
index 13fce00..c02fae1 100644
--- a/src/gallium/drivers/r600/r600_resource.h
+++ b/src/gallium/drivers/r600/r600_resource.h
@@ -88,9 +88,11 @@ static INLINE struct r600_resource *r600_resource(struct pipe_resource *r)
 }
 
 void r600_init_flushed_depth_texture(struct pipe_context *ctx,
-                 struct pipe_resource *texture);
+                 struct pipe_resource *texture,
+                 struct r600_resource_texture **staging);
 void r600_texture_depth_flush(struct pipe_context *ctx,
-               struct pipe_resource *texture);
+               struct pipe_resource *texture,
+               struct r600_resource_texture **staging);
 
 /* r600_texture.c texture transfer functions. */
 struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx,
diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c
index bb72bf8..96344fe 100644
--- a/src/gallium/drivers/r600/r600_state.c
+++ b/src/gallium/drivers/r600/r600_state.c
@@ -1000,7 +1000,7 @@ static struct pipe_sampler_view *r600_create_sampler_view(struct pipe_context *c
    }
 
    if (tmp->is_depth && !tmp->is_flushing_texture) {
-      r600_init_flushed_depth_texture(ctx, texture);
+      r600_init_flushed_depth_texture(ctx, texture, NULL);
       tmp = tmp->flushed_depth_texture;
       if (!tmp) {
          FREE(view);
diff --git a/src/gallium/drivers/r600/r600_texture.c b/src/gallium/drivers/r600/r600_texture.c
index 2368126..e24fcb3 100644
--- a/src/gallium/drivers/r600/r600_texture.c
+++ b/src/gallium/drivers/r600/r600_texture.c
@@ -298,7 +298,8 @@ static int r600_init_surface(struct radeon_surface *surface,
    if (ptex->bind & PIPE_BIND_SCANOUT) {
       surface->flags |= RADEON_SURF_SCANOUT;
    }
-   if (util_format_is_depth_and_stencil(ptex->format) && !is_transfer) {
+   if ((ptex->bind & PIPE_BIND_DEPTH_STENCIL) &&
+         util_format_is_depth_and_stencil(ptex->format) && !is_transfer) {
       surface->flags |= RADEON_SURF_ZBUFFER;
       surface->flags |= RADEON_SURF_SBUFFER;
    }
@@ -517,7 +518,7 @@ r600_texture_create_object(struct pipe_screen *screen,
    rtex->real_format = base->format;
 
    /* We must split depth and stencil into two separate buffers on Evergreen. */
-   if (!(base->flags & R600_RESOURCE_FLAG_TRANSFER) &&
+   if ((base->bind & PIPE_BIND_DEPTH_STENCIL) &&
        ((struct r600_screen*)screen)->chip_class >= EVERGREEN &&
        util_format_is_depth_and_stencil(base->format) &&
        !rscreen->use_surface_alloc) {
@@ -561,7 +562,8 @@ r600_texture_create_object(struct pipe_screen *screen,
    }
 
    /* only mark depth textures the HW can hit as depth textures */
-   if (util_format_is_depth_or_stencil(rtex->real_format) && permit_hardware_blit(screen, base))
+   if (util_format_is_depth_or_stencil(rtex->real_format) &&
+         permit_hardware_blit(screen, base))
       rtex->is_depth = true;
 
    r600_setup_miptree(screen, rtex, array_mode);
@@ -729,12 +731,15 @@ struct pipe_resource *r600_texture_from_handle(struct pipe_screen *screen,
 }
 
 void r600_init_flushed_depth_texture(struct pipe_context *ctx,
-                 struct pipe_resource *texture)
+                 struct pipe_resource *texture,
+                 struct r600_resource_texture **staging)
 {
    struct r600_resource_texture *rtex = (struct r600_resource_texture*)texture;
    struct pipe_resource resource;
+   struct r600_resource_texture **flushed_depth_texture = staging ?
+         staging : &rtex->flushed_depth_texture;
 
-   if (rtex->flushed_depth_texture)
+   if (!staging && rtex->flushed_depth_texture)
       return; /* it's ready */
 
    resource.target = texture->target;
@@ -745,32 +750,44 @@ void r600_init_flushed_depth_texture(struct pipe_context *ctx,
    resource.array_size = texture->array_size;
    resource.last_level = texture->last_level;
    resource.nr_samples = texture->nr_samples;
-   resource.usage = PIPE_USAGE_DYNAMIC;
-   resource.bind = texture->bind | PIPE_BIND_DEPTH_STENCIL;
-   resource.flags = R600_RESOURCE_FLAG_TRANSFER | texture->flags;
+   resource.usage = staging ? PIPE_USAGE_DYNAMIC : PIPE_USAGE_DEFAULT;
+   resource.bind = texture->bind & ~PIPE_BIND_DEPTH_STENCIL;
+   resource.flags = texture->flags;
+
+   if (staging)
+      resource.flags |= R600_RESOURCE_FLAG_TRANSFER;
+   else
+      rtex->dirty_db = TRUE;
 
-   rtex->flushed_depth_texture = (struct r600_resource_texture *)ctx->screen->resource_create(ctx->screen, &resource);
-   if (rtex->flushed_depth_texture == NULL) {
-      R600_ERR("failed to create temporary texture to hold untiled copy\n");
+   *flushed_depth_texture = (struct r600_resource_texture *)ctx->screen->resource_create(ctx->screen, &resource);
+   if (*flushed_depth_texture == NULL) {
+      R600_ERR("failed to create temporary texture to hold flushed depth\n");
       return;
    }
 
-   ((struct r600_resource_texture *)rtex->flushed_depth_texture)->is_flushing_texture = TRUE;
+   (*flushed_depth_texture)->is_flushing_texture = TRUE;
+
 }
 
 void r600_texture_depth_flush(struct pipe_context *ctx,
-               struct pipe_resource *texture)
+               struct pipe_resource *texture,
+               struct r600_resource_texture **staging)
 {
    struct r600_resource_texture *rtex = (struct r600_resource_texture*)texture;
 
-   r600_init_flushed_depth_texture(ctx, texture);
+   r600_init_flushed_depth_texture(ctx, texture, staging);
 
-   if (!rtex->flushed_depth_texture)
-      return; /* error */
+   if (staging) {
+      if (!*staging)
+         return; /* error */
 
-   /* XXX: only do this if the depth texture has actually changed:
-    */
-   r600_blit_uncompress_depth(ctx, rtex);
+      r600_blit_uncompress_depth(ctx, rtex, *staging);
+   } else {
+      if (!rtex->flushed_depth_texture)
+         return; /* error */
+
+      r600_blit_uncompress_depth(ctx, rtex, NULL);
+   }
 }
 
 /* Needs adjustment for pixelformat:
@@ -834,15 +851,18 @@ struct pipe_transfer* r600_texture_get_transfer(struct pipe_context *ctx,
       */
       /* XXX: when discard is true, no need to read back from depth texture
       */
-      r600_texture_depth_flush(ctx, texture);
-      if (!rtex->flushed_depth_texture) {
+      struct r600_resource_texture *staging_depth;
+
+      r600_texture_depth_flush(ctx, texture, &staging_depth);
+      if (!staging_depth) {
          R600_ERR("failed to create temporary texture to hold untiled copy\n");
          pipe_resource_reference(&trans->transfer.resource, NULL);
          FREE(trans);
          return NULL;
       }
-      trans->transfer.stride = rtex->flushed_depth_texture->pitch_in_bytes[level];
-      trans->offset = r600_texture_get_offset(rtex->flushed_depth_texture, level, box->z);
+      trans->transfer.stride = staging_depth->pitch_in_bytes[level];
+      trans->offset = r600_texture_get_offset(staging_depth, level, box->z);
+      trans->staging = (struct r600_resource*)staging_depth;
       return &trans->transfer;
    } else if (use_staging_texture) {
       resource.target = PIPE_TEXTURE_2D;
@@ -897,15 +917,8 @@ void r600_texture_transfer_destroy(struct pipe_context *ctx,
    struct pipe_resource *texture = transfer->resource;
    struct r600_resource_texture *rtex = (struct r600_resource_texture*)texture;
 
-   if (rtransfer->staging) {
-      if (transfer->usage & PIPE_TRANSFER_WRITE) {
-         r600_copy_from_staging_texture(ctx, rtransfer);
-      }
-      pipe_resource_reference((struct pipe_resource**)&rtransfer->staging, NULL);
-   }
-
-   if (rtex->is_depth && !rtex->is_flushing_texture) {
-      if ((transfer->usage & PIPE_TRANSFER_WRITE) && rtex->flushed_depth_texture) {
+   if (rtex->is_depth) {
+      if ((transfer->usage & PIPE_TRANSFER_WRITE) && rtransfer->staging) {
          struct pipe_box sbox;
 
          sbox.x = sbox.y = sbox.z = 0;
@@ -915,11 +928,18 @@ void r600_texture_transfer_destroy(struct pipe_context *ctx,
          sbox.depth = 1;
 
          ctx->resource_copy_region(ctx, texture, 0, 0, 0, 0,
-                    &rtex->flushed_depth_texture->resource.b.b, 0,
+                    &rtransfer->staging->b.b, 0,
                     &sbox);
       }
+   } else if (rtransfer->staging) {
+      if (transfer->usage & PIPE_TRANSFER_WRITE) {
+         r600_copy_from_staging_texture(ctx, rtransfer);
+      }
    }
 
+   if (rtransfer->staging)
+      pipe_resource_reference((struct pipe_resource**)&rtransfer->staging, NULL);
+
    pipe_resource_reference(&transfer->resource, NULL);
    FREE(transfer);
 }
@@ -930,6 +950,8 @@ void* r600_texture_transfer_map(struct pipe_context *ctx,
    struct r600_context *rctx = (struct r600_context *)ctx;
    struct r600_transfer *rtransfer = (struct r600_transfer*)transfer;
    struct radeon_winsys_cs_handle *buf;
+   struct r600_resource_texture *rtex =
+         (struct r600_resource_texture*)transfer->resource;
    enum pipe_format format = transfer->resource->format;
    unsigned offset = 0;
    char *map;
@@ -941,17 +963,13 @@ void* r600_texture_transfer_map(struct pipe_context *ctx,
    if (rtransfer->staging) {
       buf = ((struct r600_resource *)rtransfer->staging)->cs_buf;
    } else {
-      struct r600_resource_texture *rtex = (struct r600_resource_texture*)transfer->resource;
-
-      if (rtex->flushed_depth_texture)
-         buf = ((struct r600_resource *)rtex->flushed_depth_texture)->cs_buf;
-      else
-         buf = ((struct r600_resource *)transfer->resource)->cs_buf;
+      buf = ((struct r600_resource *)transfer->resource)->cs_buf;
+   }
 
+   if (rtex->is_depth || !rtransfer->staging)
       offset = rtransfer->offset +
          transfer->box.y / util_format_get_blockheight(format) * transfer->stride +
          transfer->box.x / util_format_get_blockwidth(format) * util_format_get_blocksize(format);
-   }
 
    if (!(map = rctx->ws->buffer_map(buf, rctx->cs, transfer->usage))) {
       return NULL;
@@ -974,13 +992,7 @@ void r600_texture_transfer_unmap(struct pipe_context *ctx,
    if (rtransfer->staging) {
       buf = ((struct r600_resource *)rtransfer->staging)->cs_buf;
    } else {
-      struct r600_resource_texture *rtex = (struct r600_resource_texture*)transfer->resource;
-
-      if (rtex->flushed_depth_texture) {
-         buf = ((struct r600_resource *)rtex->flushed_depth_texture)->cs_buf;
-      } else {
-         buf = ((struct r600_resource *)transfer->resource)->cs_buf;
-      }
+      buf = ((struct r600_resource *)transfer->resource)->cs_buf;
    }
    rctx->ws->buffer_unmap(buf);
 }


Salu2
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
ZaPa
l33t
l33t


Joined: 13 Feb 2007
Posts: 822

PostPosted: Wed Jul 04, 2012 6:14 pm    Post subject: Reply with quote

Hola.

Acabo de añadir a la linea de CONFIG_EXTRA_FIRMWARE los archivos .bin correspondientes a PALM, los 2: PALM_pfp.bin y PAL_me.bin y comentar que ocurre lo mismo. El arranque del kernel se queda pausado durante un minuto y algo, y cuando debería de avanzar aparece las lineas de colores y rallas. Lo curioso es que antes del mensaje de 'Switching to clocksource tsc' aparece un mensaje que indica que intenta cargar PALM... algo similar a esta linea:

Code:

[drm] Loading PALM microcode


Como resultado: si añado en la linea radeon.modeset=0 consigue arrancar el kernel pero haciendo un:

Code:
dmesg | grep microcode


No dice que haya cargado ningún kernel.

Si no añado la linea citada anteriormente, aparece la pantalla esa tan extraña con colores, rayas y demás..

Un saludo.
_________________
--
http://www.monovarlinux.org. Información y experiencias con linux, especialmente con Gentoo.
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 207

PostPosted: Wed Jul 04, 2012 8:11 pm    Post subject: Reply with quote

ZaPa wrote:
Hola.

Acabo de añadir a la linea de CONFIG_EXTRA_FIRMWARE los archivos .bin correspondientes a PALM, los 2: PALM_pfp.bin y PAL_me.bin y comentar que ocurre lo mismo. El arranque del kernel se queda pausado durante un minuto y algo, y cuando debería de avanzar aparece las lineas de colores y rallas. Lo curioso es que antes del mensaje de 'Switching to clocksource tsc' aparece un mensaje que indica que intenta cargar PALM... algo similar a esta linea:

Code:

[drm] Loading PALM microcode


Como resultado: si añado en la linea radeon.modeset=0 consigue arrancar el kernel pero haciendo un:

Code:
dmesg | grep microcode


No dice que haya cargado ningún kernel.

Si no añado la linea citada anteriormente, aparece la pantalla esa tan extraña con colores, rayas y demás..

Un saludo.


Lo unico que puedes hacer es intentar cargar todos en el kernel , aunque tendria que cargar Palm que es el que se corresponde con tu Fusion.El mensaje efectivamente es que intenta cargar el firmware pero al pausarse es que ocurre algun error , si ves que ninguno arranca puedes reportar el bug a freedesktop y seguro que algo te aclararan, porque ya ha pasado un tiempecito para que tu micro este soportado.

Salu2
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
ZaPa
l33t
l33t


Joined: 13 Feb 2007
Posts: 822

PostPosted: Wed Jul 04, 2012 11:37 pm    Post subject: Reply with quote

Hola de nuevo.

Ya probé anteriormente a añadir TODOS los archvios de firmware en la linea CONFIG_EXTRA_FIRMWARE de .config y al parecer tiene un numero máximo de elementos esta linea, porque me vaciaba la linea CONFIG_EXTRA_FIRMWARE al hacer el make.

Voy a probar de X en X (el mayor numero posible) y os comento que tal me fué.


Un saludo y a todos, muchisimas gracias por vuestro interes y tiempo :D
_________________
--
http://www.monovarlinux.org. Información y experiencias con linux, especialmente con Gentoo.
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 207

PostPosted: Mon Jul 09, 2012 9:45 am    Post subject: Reply with quote

Finalmente Ati ha sacado una beta del driver legacy , que corrige bugs y proporciona compatibilidad con los cambios ABI ,eso si que nadie se espere que esto ocurra con frecuencia ni mucho menos ,y de paso ha dejado esta nota:

Quote:
The reason for the shift in support policy is largely due to the fact that the AMD Radeon HD 2000, AMD Radeon HD 3000,
and AMD Radeon HD 4000 Series have been optimized to their maximum potential from a performance and feature perspective.


Yo creo que aun por encima se rien de sus usuarios.................

Por cierto RadeonTop se ha actualizado :

https://github.com/clbr/radeontop es una herramienta para monitorizar el driver libre.


Respecto a OpenGl 3 no hace falta activar las variables :

Code:
R600_GLSL130=1
R600_STREAMOUT=1


estan habilitadas ya por defecto en la ultima version de Git de mesa , si consultais la siguiente tabla y en versiones anteriores las han deshabilitado de modo definitivo ,aunque tanto el wiki oficial de gentoo como el de radeon muestren dicha variable, se debe a una desactualizacion del manual que genera confusion :

http://en.wikipedia.org/wiki/GLSL

se corresponde con la version 3.0 de opengl , lo que ocurre es que MSAA no esta aun implementado de ahi que tengamos que esperar para tenerlo operativo.

Gracias a MarekOlsak por la aclaración y por editar la tabla de radeon's features :)

Salu2
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
ZaPa
l33t
l33t


Joined: 13 Feb 2007
Posts: 822

PostPosted: Mon Jul 09, 2012 6:30 pm    Post subject: Reply with quote

Hola.

He probado todos los firmwares localizados en /lib/firmware en ninguno de los ficheros me han funcionado.

¿Que puedo hacer entonces? ¿Debo conformarme con este horrible rendimiento?

Saludos.
_________________
--
http://www.monovarlinux.org. Información y experiencias con linux, especialmente con Gentoo.
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 207

PostPosted: Mon Jul 09, 2012 7:07 pm    Post subject: Reply with quote

ZaPa wrote:
Hola.

He probado todos los firmwares localizados en /lib/firmware en ninguno de los ficheros me han funcionado.

¿Que puedo hacer entonces? ¿Debo conformarme con este horrible rendimiento?

Saludos.


Cuantos fps obtienes en el glxgears eliminando vsync y sin pantalla completa ?????

De Fusion poco puedo decirte , ademas de tener una RMA altísima desconozco el rendimiento real que se puede sacar de ellos, he ojeado varios versiones desde el A4 al A8 y tambien los futuros A10 .
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 207

PostPosted: Wed Jul 18, 2012 11:44 pm    Post subject: Reply with quote

Dejo un enlace interesante sobre el rendimiento de mesa 8.0.4 y mesa 8.1-devel ............alguien comento que le habia empeorado y en mi caso ha mejorado un 10%

http://www.phoronix.com/scan.php?page=article&item=amd_r600g_mesa81&num=1
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
Otamay
n00b
n00b


Joined: 04 Apr 2011
Posts: 18

PostPosted: Wed Aug 22, 2012 5:25 pm    Post subject: Reply with quote

También tuve este mismo problema de no poder hacer funcionar el módulo radeon incluido en el núcleo. Con la misma tarjeta, Radeon HD 6310 en una lenovo G475 (procesador AMD E475).

A prueba y error concluí que se deben incluir estos 3 firmwares:

radeon/PALM_pfp.bin
radeon/PALM_me.bin
radeon/SUMO_rlc.bin

Saludos, perdón por revivir el tema :P .
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 207

PostPosted: Mon Aug 27, 2012 4:08 pm    Post subject: Reply with quote

Ya que levantais el hilo ,aprovecho para comentar antialiasing MSAA esta ya listo para las R600/R700 , supongo que será cuestion de dias que se suban los parches de r600 para el driver r600g ,lo cual proporcionara compilance 3.0 a nuestras tarjetas.El que este interesado en probarlo que este atento al git o que se espere a que lancen la version mesa 9.0 (si han decidido llamarle asi en vez de 8.1)

Salu2
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
colo-des
Tux's lil' helper
Tux's lil' helper


Joined: 20 May 2011
Posts: 80

PostPosted: Sat Sep 01, 2012 5:50 am    Post subject: Reply with quote

A mi me pasaba lo mismo, lo del error y demora al bootear, era el firmware mal.
Mi placa es una HD6670 y hasta que no cargue el BTC_rlc.bin no logre hacerla andar.
Tengo así:

$ zcat /proc/config.gz |grep CONFIG_EXTRA_FIRMWARE
CONFIG_EXTRA_FIRMWARE="radeon/TURKS_mc.bin radeon/TURKS_me.bin radeon/TURKS_pfp.bin radeon/BTC_rlc.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"

Si, esta es una turka...que nombres que les están poniendo!
Tal vez no sea tu caso pero puedes intentar agregar BTC_rlc.bin y ver que pasa.

Respecto a opengl 3.0 lo estoy esperando ansioso como verán:

$ cat /etc/env.d/99local
R600_ENABLE_S3TC=1
R600_GLSL130=1
R600_STREAMOUT=1
R600_USE_LLVM=1
R600_HYPERZ=1

$ glxinfo |grep -i opengl
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD TURKS
OpenGL version string: 2.1 Mesa 8.1-devel
OpenGL shading language version string: 1.30

Saludos y a estar atento a phoronix...jeje
Back to top
View user's profile Send private message
Arctic
Apprentice
Apprentice


Joined: 04 Jul 2011
Posts: 207

PostPosted: Sun Sep 02, 2012 1:00 am    Post subject: Reply with quote

colo-des wrote:
A mi me pasaba lo mismo, lo del error y demora al bootear, era el firmware mal.
Mi placa es una HD6670 y hasta que no cargue el BTC_rlc.bin no logre hacerla andar.
Tengo así:

$ zcat /proc/config.gz |grep CONFIG_EXTRA_FIRMWARE
CONFIG_EXTRA_FIRMWARE="radeon/TURKS_mc.bin radeon/TURKS_me.bin radeon/TURKS_pfp.bin radeon/BTC_rlc.bin"
CONFIG_EXTRA_FIRMWARE_DIR="/lib/firmware/"

Si, esta es una turka...que nombres que les están poniendo!
Tal vez no sea tu caso pero puedes intentar agregar BTC_rlc.bin y ver que pasa.

Respecto a opengl 3.0 lo estoy esperando ansioso como verán:

$ cat /etc/env.d/99local
R600_ENABLE_S3TC=1
R600_GLSL130=1
R600_STREAMOUT=1
R600_USE_LLVM=1
R600_HYPERZ=1

$ glxinfo |grep -i opengl
OpenGL vendor string: X.Org
OpenGL renderer string: Gallium 0.4 on AMD TURKS
OpenGL version string: 2.1 Mesa 8.1-devel
OpenGL shading language version string: 1.30

Saludos y a estar atento a phoronix...jeje


Code:
$ glxinfo | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
OpenGL version string: 3.0 Mesa 9.0-devel (git-a96119c)
OpenGL shading language version string: 1.30


Te dejo la mia :lol: ........... he tenido que usar la rama 3.6-rc4 para tener compatibilidad con opengl 3.0 , la espera fue larga pero mereció la pena, ahora toca esperar otro tanto para la aceleración de video .

Salu2
_________________
ln -s /user/artic /user/arctic
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum