Rename winsys amd to radeon.

This commit is contained in:
Corbin Simpson 2009-02-06 13:28:15 -08:00
parent 0bf152e0be
commit 80026428e3
12 changed files with 250 additions and 250 deletions

View file

@ -2,7 +2,7 @@
TOP = ../../../../..
include $(TOP)/configs/current
LIBNAME = amd_dri.so
LIBNAME = radeon_dri.so
MINIGLX_SOURCES =
@ -11,11 +11,11 @@ PIPE_DRIVERS = \
$(TOP)/src/gallium/drivers/r300/libr300.a
DRIVER_SOURCES = \
amd_buffer.c \
amd_context.c \
amd_r300.c \
amd_screen.c \
amd_winsys_softpipe.c
radeon_buffer.c \
radeon_context.c \
radeon_r300.c \
radeon_screen.c \
radeon_winsys_softpipe.c
C_SOURCES = \
$(COMMON_GALLIUM_SOURCES) \

View file

@ -5,10 +5,10 @@ if 'mesa' in env['statetrackers']:
env = drienv.Clone()
DRIVER_SOURCES = [
'amd_buffer.c',
'amd_context.c',
'amd_screen.c',
'amd_winsys_softpipe.c',
'radeon_buffer.c',
'radeon_context.c',
'radeon_screen.c',
'radeon_winsys_softpipe.c',
]
sources = \
@ -22,7 +22,7 @@ if 'mesa' in env['statetrackers']:
# TODO: write a wrapper function http://www.scons.org/wiki/WrapperFunctions
env.SharedLibrary(
target ='amd_dri.so',
target ='radeon_dri.so',
source = sources,
LIBS = drivers + mesa + auxiliaries + env['LIBS'],
)

View file

@ -32,34 +32,34 @@
#include "state_tracker/st_public.h"
#include "pipe/p_defines.h"
#include "pipe/p_inlines.h"
#include "amd_buffer.h"
#include "amd_screen.h"
#include "amd_context.h"
#include "radeon_buffer.h"
#include "radeon_screen.h"
#include "radeon_context.h"
#include "radeon_bo.h"
#include "radeon_drm.h"
static const char *amd_get_name(struct pipe_winsys *ws)
static const char *radeon_get_name(struct pipe_winsys *ws)
{
return "AMD/DRI2";
return "RADEON/DRI2";
}
static struct pipe_buffer *amd_buffer_create(struct pipe_winsys *ws,
static struct pipe_buffer *radeon_buffer_create(struct pipe_winsys *ws,
unsigned alignment,
unsigned usage,
unsigned size)
{
struct amd_pipe_winsys *amd_ws = (struct amd_pipe_winsys *)ws;
struct amd_pipe_buffer *amd_buffer;
struct radeon_pipe_winsys *radeon_ws = (struct radeon_pipe_winsys *)ws;
struct radeon_pipe_buffer *radeon_buffer;
uint32_t domain;
amd_buffer = calloc(1, sizeof(*amd_buffer));
if (amd_buffer == NULL) {
radeon_buffer = calloc(1, sizeof(*radeon_buffer));
if (radeon_buffer == NULL) {
return NULL;
}
amd_buffer->base.refcount = 1;
amd_buffer->base.alignment = alignment;
amd_buffer->base.usage = usage;
amd_buffer->base.size = size;
radeon_buffer->base.refcount = 1;
radeon_buffer->base.alignment = alignment;
radeon_buffer->base.usage = usage;
radeon_buffer->base.size = size;
domain = 0;
@ -73,148 +73,148 @@ static struct pipe_buffer *amd_buffer_create(struct pipe_winsys *ws,
if (usage & PIPE_BUFFER_USAGE_INDEX) {
domain |= RADEON_GEM_DOMAIN_GTT;
}
amd_buffer->bo = radeon_bo_open(amd_ws->amd_screen->bom, 0,
radeon_buffer->bo = radeon_bo_open(radeon_ws->radeon_screen->bom, 0,
size, alignment, domain, 0);
if (amd_buffer->bo == NULL) {
free(amd_buffer);
if (radeon_buffer->bo == NULL) {
free(radeon_buffer);
}
return &amd_buffer->base;
return &radeon_buffer->base;
}
static struct pipe_buffer *amd_buffer_user_create(struct pipe_winsys *ws,
static struct pipe_buffer *radeon_buffer_user_create(struct pipe_winsys *ws,
void *ptr,
unsigned bytes)
{
struct amd_pipe_buffer *amd_buffer;
struct radeon_pipe_buffer *radeon_buffer;
amd_buffer = (struct amd_pipe_buffer*)amd_buffer_create(ws, 0, 0, bytes);
if (amd_buffer == NULL) {
radeon_buffer = (struct radeon_pipe_buffer*)radeon_buffer_create(ws, 0, 0, bytes);
if (radeon_buffer == NULL) {
return NULL;
}
radeon_bo_map(amd_buffer->bo, 1);
memcpy(amd_buffer->bo->ptr, ptr, bytes);
radeon_bo_unmap(amd_buffer->bo);
return &amd_buffer->base;
radeon_bo_map(radeon_buffer->bo, 1);
memcpy(radeon_buffer->bo->ptr, ptr, bytes);
radeon_bo_unmap(radeon_buffer->bo);
return &radeon_buffer->base;
}
static void amd_buffer_del(struct pipe_winsys *ws, struct pipe_buffer *buffer)
static void radeon_buffer_del(struct pipe_winsys *ws, struct pipe_buffer *buffer)
{
struct amd_pipe_buffer *amd_buffer = (struct amd_pipe_buffer*)buffer;
struct radeon_pipe_buffer *radeon_buffer = (struct radeon_pipe_buffer*)buffer;
radeon_bo_unref(amd_buffer->bo);
free(amd_buffer);
radeon_bo_unref(radeon_buffer->bo);
free(radeon_buffer);
}
static void *amd_buffer_map(struct pipe_winsys *ws,
static void *radeon_buffer_map(struct pipe_winsys *ws,
struct pipe_buffer *buffer,
unsigned flags)
{
struct amd_pipe_buffer *amd_buffer = (struct amd_pipe_buffer*)buffer;
struct radeon_pipe_buffer *radeon_buffer = (struct radeon_pipe_buffer*)buffer;
int write = 0;
if (flags & PIPE_BUFFER_USAGE_CPU_WRITE) {
write = 1;
}
if (radeon_bo_map(amd_buffer->bo, write))
if (radeon_bo_map(radeon_buffer->bo, write))
return NULL;
return amd_buffer->bo->ptr;
return radeon_buffer->bo->ptr;
}
static void amd_buffer_unmap(struct pipe_winsys *ws, struct pipe_buffer *buffer)
static void radeon_buffer_unmap(struct pipe_winsys *ws, struct pipe_buffer *buffer)
{
struct amd_pipe_buffer *amd_buffer = (struct amd_pipe_buffer*)buffer;
struct radeon_pipe_buffer *radeon_buffer = (struct radeon_pipe_buffer*)buffer;
radeon_bo_unmap(amd_buffer->bo);
radeon_bo_unmap(radeon_buffer->bo);
}
static void amd_fence_reference(struct pipe_winsys *ws,
static void radeon_fence_reference(struct pipe_winsys *ws,
struct pipe_fence_handle **ptr,
struct pipe_fence_handle *pfence)
{
}
static int amd_fence_signalled(struct pipe_winsys *ws,
static int radeon_fence_signalled(struct pipe_winsys *ws,
struct pipe_fence_handle *pfence,
unsigned flag)
{
return 1;
}
static int amd_fence_finish(struct pipe_winsys *ws,
static int radeon_fence_finish(struct pipe_winsys *ws,
struct pipe_fence_handle *pfence,
unsigned flag)
{
return 0;
}
static void amd_flush_frontbuffer(struct pipe_winsys *pipe_winsys,
static void radeon_flush_frontbuffer(struct pipe_winsys *pipe_winsys,
struct pipe_surface *pipe_surface,
void *context_private)
{
/* TODO: call dri2CopyRegion */
}
struct pipe_winsys *amd_pipe_winsys(struct amd_screen *amd_screen)
struct pipe_winsys *radeon_pipe_winsys(struct radeon_screen *radeon_screen)
{
struct amd_pipe_winsys *amd_ws;
struct radeon_pipe_winsys *radeon_ws;
amd_ws = calloc(1, sizeof(struct amd_pipe_winsys));
if (amd_ws == NULL) {
radeon_ws = calloc(1, sizeof(struct radeon_pipe_winsys));
if (radeon_ws == NULL) {
return NULL;
}
amd_ws->amd_screen = amd_screen;
radeon_ws->radeon_screen = radeon_screen;
amd_ws->winsys.flush_frontbuffer = amd_flush_frontbuffer;
radeon_ws->winsys.flush_frontbuffer = radeon_flush_frontbuffer;
amd_ws->winsys.buffer_create = amd_buffer_create;
amd_ws->winsys.buffer_destroy = amd_buffer_del;
amd_ws->winsys.user_buffer_create = amd_buffer_user_create;
amd_ws->winsys.buffer_map = amd_buffer_map;
amd_ws->winsys.buffer_unmap = amd_buffer_unmap;
radeon_ws->winsys.buffer_create = radeon_buffer_create;
radeon_ws->winsys.buffer_destroy = radeon_buffer_del;
radeon_ws->winsys.user_buffer_create = radeon_buffer_user_create;
radeon_ws->winsys.buffer_map = radeon_buffer_map;
radeon_ws->winsys.buffer_unmap = radeon_buffer_unmap;
amd_ws->winsys.fence_reference = amd_fence_reference;
amd_ws->winsys.fence_signalled = amd_fence_signalled;
amd_ws->winsys.fence_finish = amd_fence_finish;
radeon_ws->winsys.fence_reference = radeon_fence_reference;
radeon_ws->winsys.fence_signalled = radeon_fence_signalled;
radeon_ws->winsys.fence_finish = radeon_fence_finish;
amd_ws->winsys.get_name = amd_get_name;
radeon_ws->winsys.get_name = radeon_get_name;
return &amd_ws->winsys;
return &radeon_ws->winsys;
}
static struct pipe_buffer *amd_buffer_from_handle(struct amd_screen *amd_screen,
static struct pipe_buffer *radeon_buffer_from_handle(struct radeon_screen *radeon_screen,
uint32_t handle)
{
struct amd_pipe_buffer *amd_buffer;
struct radeon_pipe_buffer *radeon_buffer;
struct radeon_bo *bo = NULL;
bo = radeon_bo_open(amd_screen->bom, handle, 0, 0, 0, 0);
bo = radeon_bo_open(radeon_screen->bom, handle, 0, 0, 0, 0);
if (bo == NULL) {
return NULL;
}
amd_buffer = calloc(1, sizeof(struct amd_pipe_buffer));
if (amd_buffer == NULL) {
radeon_buffer = calloc(1, sizeof(struct radeon_pipe_buffer));
if (radeon_buffer == NULL) {
radeon_bo_unref(bo);
return NULL;
}
amd_buffer->base.refcount = 1;
amd_buffer->base.usage = PIPE_BUFFER_USAGE_PIXEL;
amd_buffer->bo = bo;
return &amd_buffer->base;
radeon_buffer->base.refcount = 1;
radeon_buffer->base.usage = PIPE_BUFFER_USAGE_PIXEL;
radeon_buffer->bo = bo;
return &radeon_buffer->base;
}
struct pipe_surface *amd_surface_from_handle(struct amd_context *amd_context,
struct pipe_surface *radeon_surface_from_handle(struct radeon_context *radeon_context,
uint32_t handle,
enum pipe_format format,
int w, int h, int pitch)
{
struct pipe_screen *pipe_screen = amd_context->pipe_screen;
struct pipe_winsys *pipe_winsys = amd_context->pipe_winsys;
struct pipe_screen *pipe_screen = radeon_context->pipe_screen;
struct pipe_winsys *pipe_winsys = radeon_context->pipe_winsys;
struct pipe_texture tmpl;
struct pipe_surface *ps;
struct pipe_texture *pt;
struct pipe_buffer *pb;
pb = amd_buffer_from_handle(amd_context->amd_screen, handle);
pb = radeon_buffer_from_handle(radeon_context->radeon_screen, handle);
if (pb == NULL) {
return NULL;
}

View file

@ -27,26 +27,26 @@
* Authors:
* Jérôme Glisse <glisse@freedesktop.org>
*/
#ifndef AMD_BUFFER_H
#define AMD_BUFFER_H
#ifndef RADEON_BUFFER_H
#define RADEON_BUFFER_H
#include "pipe/internal/p_winsys_screen.h"
#include "amd_screen.h"
#include "amd_context.h"
#include "radeon_screen.h"
#include "radeon_context.h"
#include "radeon_bo.h"
struct amd_pipe_buffer {
struct radeon_pipe_buffer {
struct pipe_buffer base;
struct radeon_bo *bo;
};
struct amd_pipe_winsys {
struct radeon_pipe_winsys {
struct pipe_winsys winsys;
struct amd_screen *amd_screen;
struct radeon_screen *radeon_screen;
};
struct pipe_winsys *amd_pipe_winsys(struct amd_screen *amd_screen);
struct pipe_surface *amd_surface_from_handle(struct amd_context *amd_context,
struct pipe_winsys *radeon_pipe_winsys(struct radeon_screen *radeon_screen);
struct pipe_surface *radeon_surface_from_handle(struct radeon_context *radeon_context,
uint32_t handle,
enum pipe_format format,
int w, int h, int pitch);

View file

@ -33,10 +33,10 @@
#include "pipe/p_inlines.h"
#include "state_tracker/st_public.h"
#include "state_tracker/st_context.h"
#include "amd_screen.h"
#include "amd_context.h"
#include "amd_buffer.h"
#include "amd_winsys_softpipe.h"
#include "radeon_screen.h"
#include "radeon_context.h"
#include "radeon_buffer.h"
#include "radeon_winsys_softpipe.h"
#define need_GL_ARB_fragment_program
#define need_GL_ARB_multisample
@ -61,9 +61,9 @@
#include "extension_helper.h"
/**
* Extension strings exported by the amd driver.
* Extension strings exported by the radeon driver.
*/
const struct dri_extension amd_card_extensions[] = {
const struct dri_extension radeon_card_extensions[] = {
{"GL_ARB_multitexture", NULL},
{"GL_ARB_texture_border_clamp", NULL},
{"GL_ARB_texture_rectangle", NULL},
@ -92,21 +92,21 @@ const struct dri_extension amd_card_extensions[] = {
{NULL, NULL}
};
static void amd_update_renderbuffers(__DRIcontext *dri_context,
static void radeon_update_renderbuffers(__DRIcontext *dri_context,
__DRIdrawable *dri_drawable)
{
struct amd_framebuffer *amd_fb;
struct amd_context *amd_context;
struct radeon_framebuffer *radeon_fb;
struct radeon_context *radeon_context;
unsigned attachments[10];
__DRIbuffer *buffers;
__DRIscreen *screen;
int i, count;
amd_context = dri_context->driverPrivate;
radeon_context = dri_context->driverPrivate;
screen = dri_drawable->driScreenPriv;
amd_fb = dri_drawable->driverPrivate;
radeon_fb = dri_drawable->driverPrivate;
for (count = 0, i = 0; count < 6; count++) {
if (amd_fb->attachments & (1 << count)) {
if (radeon_fb->attachments & (1 << count)) {
attachments[i++] = count;
}
}
@ -195,112 +195,112 @@ static void amd_update_renderbuffers(__DRIcontext *dri_context,
return;
}
ps = amd_surface_from_handle(amd_context,
ps = radeon_surface_from_handle(radeon_context,
buffers[i].name,
format,
dri_drawable->w,
dri_drawable->h,
buffers[i].pitch);
assert(ps);
st_set_framebuffer_surface(amd_fb->st_framebuffer, index, ps);
st_set_framebuffer_surface(radeon_fb->st_framebuffer, index, ps);
}
st_resize_framebuffer(amd_fb->st_framebuffer,
st_resize_framebuffer(radeon_fb->st_framebuffer,
dri_drawable->w,
dri_drawable->h);
}
GLboolean amd_context_create(const __GLcontextModes *visual,
GLboolean radeon_context_create(const __GLcontextModes *visual,
__DRIcontextPrivate *dri_context,
void *shared_context)
{
__DRIscreenPrivate *dri_screen;
struct amd_context *amd_context;
struct amd_screen *amd_screen;
struct radeon_context *radeon_context;
struct radeon_screen *radeon_screen;
struct pipe_context *pipe;
struct st_context *shared_st_context = NULL;
dri_context->driverPrivate = NULL;
amd_context = calloc(1, sizeof(struct amd_context));
if (amd_context == NULL) {
radeon_context = calloc(1, sizeof(struct radeon_context));
if (radeon_context == NULL) {
return GL_FALSE;
}
if (shared_context) {
shared_st_context = ((struct amd_context*)shared_context)->st_context;
shared_st_context = ((struct radeon_context*)shared_context)->st_context;
}
dri_screen = dri_context->driScreenPriv;
amd_screen = dri_screen->private;
amd_context->dri_screen = dri_screen;
amd_context->amd_screen = amd_screen;
amd_context->drm_fd = dri_screen->fd;
radeon_screen = dri_screen->private;
radeon_context->dri_screen = dri_screen;
radeon_context->radeon_screen = radeon_screen;
radeon_context->drm_fd = dri_screen->fd;
amd_context->pipe_winsys = amd_pipe_winsys(amd_screen);
if (amd_context->pipe_winsys == NULL) {
free(amd_context);
radeon_context->pipe_winsys = radeon_pipe_winsys(radeon_screen);
if (radeon_context->pipe_winsys == NULL) {
free(radeon_context);
return GL_FALSE;
}
if (!getenv("AMD_SOFTPIPE")) {
if (!getenv("RADEON_SOFTPIPE")) {
fprintf(stderr, "Creating r300 context...\n");
pipe =
r300_create_context(NULL,
amd_context->pipe_winsys,
amd_create_r300_winsys(amd_context->drm_fd));
amd_context->pipe_screen = pipe->screen;
radeon_context->pipe_winsys,
radeon_create_r300_winsys(radeon_context->drm_fd));
radeon_context->pipe_screen = pipe->screen;
} else {
pipe = amd_create_softpipe(amd_context);
pipe = radeon_create_softpipe(radeon_context);
}
amd_context->st_context = st_create_context(pipe, visual,
radeon_context->st_context = st_create_context(pipe, visual,
shared_st_context);
driInitExtensions(amd_context->st_context->ctx,
amd_card_extensions, GL_TRUE);
dri_context->driverPrivate = amd_context;
driInitExtensions(radeon_context->st_context->ctx,
radeon_card_extensions, GL_TRUE);
dri_context->driverPrivate = radeon_context;
return GL_TRUE;
}
void amd_context_destroy(__DRIcontextPrivate *dri_context)
void radeon_context_destroy(__DRIcontextPrivate *dri_context)
{
struct amd_context *amd_context;
struct radeon_context *radeon_context;
amd_context = dri_context->driverPrivate;
st_finish(amd_context->st_context);
st_destroy_context(amd_context->st_context);
free(amd_context);
radeon_context = dri_context->driverPrivate;
st_finish(radeon_context->st_context);
st_destroy_context(radeon_context->st_context);
free(radeon_context);
}
GLboolean amd_context_bind(__DRIcontextPrivate *dri_context,
GLboolean radeon_context_bind(__DRIcontextPrivate *dri_context,
__DRIdrawablePrivate *dri_drawable,
__DRIdrawablePrivate *dri_readable)
{
struct amd_framebuffer *drawable;
struct amd_framebuffer *readable;
struct amd_context *amd_context;
struct radeon_framebuffer *drawable;
struct radeon_framebuffer *readable;
struct radeon_context *radeon_context;
if (dri_context == NULL) {
st_make_current(NULL, NULL, NULL);
return GL_TRUE;
}
amd_context = dri_context->driverPrivate;
radeon_context = dri_context->driverPrivate;
drawable = dri_drawable->driverPrivate;
readable = dri_readable->driverPrivate;
st_make_current(amd_context->st_context,
st_make_current(radeon_context->st_context,
drawable->st_framebuffer,
readable->st_framebuffer);
amd_update_renderbuffers(dri_context, dri_drawable);
radeon_update_renderbuffers(dri_context, dri_drawable);
if (dri_drawable != dri_readable) {
amd_update_renderbuffers(dri_context, dri_readable);
radeon_update_renderbuffers(dri_context, dri_readable);
}
return GL_TRUE;
}
GLboolean amd_context_unbind(__DRIcontextPrivate *dri_context)
GLboolean radeon_context_unbind(__DRIcontextPrivate *dri_context)
{
struct amd_context *amd_context;
struct radeon_context *radeon_context;
amd_context = dri_context->driverPrivate;
st_flush(amd_context->st_context, PIPE_FLUSH_RENDER_CACHE, NULL);
radeon_context = dri_context->driverPrivate;
st_flush(radeon_context->st_context, PIPE_FLUSH_RENDER_CACHE, NULL);
return GL_TRUE;
}

View file

@ -27,22 +27,22 @@
* Authors:
* Jérôme Glisse <glisse@freedesktop.org>
*/
#ifndef AMD_CONTEXT_H
#define AMD_CONTEXT_H
#ifndef RADEON_CONTEXT_H
#define RADEON_CONTEXT_H
#include "dri_util.h"
#include "state_tracker/st_public.h"
#include "state_tracker/st_context.h"
#include "amd_screen.h"
#include "radeon_screen.h"
#include "amd_r300.h"
#include "radeon_r300.h"
struct amd_framebuffer {
struct radeon_framebuffer {
struct st_framebuffer *st_framebuffer;
unsigned attachments;
};
struct amd_context {
struct radeon_context {
/* st */
struct st_context *st_context;
/* pipe */
@ -54,17 +54,17 @@ struct amd_context {
__DRIdrawablePrivate *dri_readable;
/* DRM */
int drm_fd;
/* AMD */
struct amd_screen *amd_screen;
/* RADEON */
struct radeon_screen *radeon_screen;
};
GLboolean amd_context_create(const __GLcontextModes*,
GLboolean radeon_context_create(const __GLcontextModes*,
__DRIcontextPrivate*,
void*);
void amd_context_destroy(__DRIcontextPrivate*);
GLboolean amd_context_bind(__DRIcontextPrivate*,
void radeon_context_destroy(__DRIcontextPrivate*);
GLboolean radeon_context_bind(__DRIcontextPrivate*,
__DRIdrawablePrivate*,
__DRIdrawablePrivate*);
GLboolean amd_context_unbind(__DRIcontextPrivate*);
GLboolean radeon_context_unbind(__DRIcontextPrivate*);
#endif

View file

@ -20,24 +20,24 @@
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
* USE OR OTHER DEALINGS IN THE SOFTWARE. */
#include "amd_r300.h"
#include "radeon_r300.h"
static boolean amd_r300_check_cs(struct radeon_cs* cs, int size)
static boolean radeon_r300_check_cs(struct radeon_cs* cs, int size)
{
/* XXX check size here, lazy ass! */
return TRUE;
}
static void amd_r300_write_cs_reloc(struct radeon_cs* cs,
static void radeon_r300_write_cs_reloc(struct radeon_cs* cs,
struct pipe_buffer* pbuffer,
uint32_t rd,
uint32_t wd,
uint32_t flags)
{
radeon_cs_write_reloc(cs, ((struct amd_pipe_buffer*)pbuffer)->bo, rd, wd, flags);
radeon_cs_write_reloc(cs, ((struct radeon_pipe_buffer*)pbuffer)->bo, rd, wd, flags);
}
static void amd_r300_flush_cs(struct radeon_cs* cs)
static void radeon_r300_flush_cs(struct radeon_cs* cs)
{
radeon_cs_emit(cs);
radeon_cs_erase(cs);
@ -75,7 +75,7 @@ static void do_ioctls(struct r300_winsys* winsys, int fd)
}
struct r300_winsys* amd_create_r300_winsys(int fd)
struct r300_winsys* radeon_create_r300_winsys(int fd)
{
struct r300_winsys* winsys = calloc(1, sizeof(struct r300_winsys));
@ -85,12 +85,12 @@ struct r300_winsys* amd_create_r300_winsys(int fd)
winsys->cs = radeon_cs_create(csm, 1024 * 64 / 4);
winsys->check_cs = amd_r300_check_cs;
winsys->check_cs = radeon_r300_check_cs;
winsys->begin_cs = radeon_cs_begin;
winsys->write_cs_dword = radeon_cs_write_dword;
winsys->write_cs_reloc = amd_r300_write_cs_reloc;
winsys->write_cs_reloc = radeon_r300_write_cs_reloc;
winsys->end_cs = radeon_cs_end;
winsys->flush_cs = amd_r300_flush_cs;
winsys->flush_cs = radeon_r300_flush_cs;
return winsys;
}

View file

@ -29,6 +29,6 @@
#include "r300_winsys.h"
#include "amd_buffer.h"
#include "radeon_buffer.h"
struct r300_winsys* amd_create_r300_winsys(int fd);
struct r300_winsys* radeon_create_r300_winsys(int fd);

View file

@ -39,16 +39,16 @@
#include "xf86drm.h"
#include "drm.h"
#include "dri_util.h"
#include "amd_screen.h"
#include "amd_context.h"
#include "amd_buffer.h"
#include "radeon_screen.h"
#include "radeon_context.h"
#include "radeon_buffer.h"
#include "radeon_bo.h"
#include "radeon_bo_gem.h"
#include "radeon_drm.h"
extern const struct dri_extension amd_card_extensions[];
extern const struct dri_extension radeon_card_extensions[];
static const __DRIextension *amd_screen_extensions[] = {
static const __DRIextension *radeon_screen_extensions[] = {
&driReadDrawableExtension,
&driCopySubBufferExtension.base,
&driSwapControlExtension.base,
@ -57,7 +57,7 @@ static const __DRIextension *amd_screen_extensions[] = {
NULL
};
static __DRIconfig **amd_fill_in_modes(unsigned pixel_bits,
static __DRIconfig **radeon_fill_in_modes(unsigned pixel_bits,
unsigned depth_bits,
GLboolean have_back_buffer)
{
@ -116,18 +116,18 @@ static __DRIconfig **amd_fill_in_modes(unsigned pixel_bits,
return configs;
}
static void amd_screen_destroy(__DRIscreenPrivate *dri_screen)
static void radeon_screen_destroy(__DRIscreenPrivate *dri_screen)
{
struct amd_screen *amd_screen = (struct amd_screen*)dri_screen->private;
struct radeon_screen *radeon_screen = (struct radeon_screen*)dri_screen->private;
radeon_bo_manager_gem_dtor(amd_screen->bom);
radeon_bo_manager_gem_dtor(radeon_screen->bom);
dri_screen = NULL;
free(amd_screen);
free(radeon_screen);
}
static const __DRIconfig **amd_screen_init(__DRIscreenPrivate *dri_screen)
static const __DRIconfig **radeon_screen_init(__DRIscreenPrivate *dri_screen)
{
struct amd_screen *amd_screen;
struct radeon_screen *radeon_screen;
/* Calling driInitExtensions here, with a NULL context pointer,
* does not actually enable the extensions. It just makes sure
@ -139,28 +139,28 @@ static const __DRIconfig **amd_screen_init(__DRIscreenPrivate *dri_screen)
*
* Hello chicken. Hello egg. How are you two today?
*/
driInitExtensions(NULL, amd_card_extensions, GL_FALSE);
driInitExtensions(NULL, radeon_card_extensions, GL_FALSE);
amd_screen = calloc(1, sizeof(struct amd_screen));
if (amd_screen == NULL) {
radeon_screen = calloc(1, sizeof(struct radeon_screen));
if (radeon_screen == NULL) {
fprintf(stderr, "\nERROR! Allocating private area failed\n");
return NULL;
}
dri_screen->private = (void*)amd_screen;
dri_screen->extensions = amd_screen_extensions;
amd_screen->dri_screen = dri_screen;
dri_screen->private = (void*)radeon_screen;
dri_screen->extensions = radeon_screen_extensions;
radeon_screen->dri_screen = dri_screen;
amd_screen->bom = radeon_bo_manager_gem_ctor(dri_screen->fd);
if (amd_screen->bom == NULL) {
amd_screen_destroy(dri_screen);
radeon_screen->bom = radeon_bo_manager_gem_ctor(dri_screen->fd);
if (radeon_screen->bom == NULL) {
radeon_screen_destroy(dri_screen);
return NULL;
}
return driConcatConfigs(amd_fill_in_modes(16, 16, 1),
amd_fill_in_modes(32, 24, 1));
return driConcatConfigs(radeon_fill_in_modes(16, 16, 1),
radeon_fill_in_modes(32, 24, 1));
}
static boolean amd_buffer_create(__DRIscreenPrivate *dri_screen,
static boolean radeon_buffer_create(__DRIscreenPrivate *dri_screen,
__DRIdrawablePrivate *dri_drawable,
const __GLcontextModes *visual,
boolean is_pixmap)
@ -170,10 +170,10 @@ static boolean amd_buffer_create(__DRIscreenPrivate *dri_screen,
return GL_FALSE;
} else {
enum pipe_format color_format, depth_format, stencil_format;
struct amd_framebuffer *amd_fb;
struct radeon_framebuffer *radeon_fb;
amd_fb = calloc(1, sizeof(struct amd_framebuffer));
if (amd_fb == NULL) {
radeon_fb = calloc(1, sizeof(struct radeon_framebuffer));
if (radeon_fb == NULL) {
return GL_FALSE;
}
@ -209,57 +209,57 @@ static boolean amd_buffer_create(__DRIscreenPrivate *dri_screen,
break;
}
amd_fb->st_framebuffer = st_create_framebuffer(visual,
radeon_fb->st_framebuffer = st_create_framebuffer(visual,
color_format,
depth_format,
stencil_format,
dri_drawable->w,
dri_drawable->h,
(void*)amd_fb);
if (amd_fb->st_framebuffer == NULL) {
free(amd_fb);
(void*)radeon_fb);
if (radeon_fb->st_framebuffer == NULL) {
free(radeon_fb);
return GL_FALSE;
}
dri_drawable->driverPrivate = (void *) amd_fb;
dri_drawable->driverPrivate = (void *) radeon_fb;
amd_fb->attachments = (1 << __DRI_BUFFER_FRONT_LEFT);
radeon_fb->attachments = (1 << __DRI_BUFFER_FRONT_LEFT);
if (visual->doubleBufferMode) {
amd_fb->attachments |= (1 << __DRI_BUFFER_BACK_LEFT);
radeon_fb->attachments |= (1 << __DRI_BUFFER_BACK_LEFT);
}
if (visual->depthBits || visual->stencilBits) {
amd_fb->attachments |= (1 << __DRI_BUFFER_DEPTH);
radeon_fb->attachments |= (1 << __DRI_BUFFER_DEPTH);
}
return GL_TRUE;
}
}
static void amd_buffer_destroy(__DRIdrawablePrivate * dri_drawable)
static void radeon_buffer_destroy(__DRIdrawablePrivate * dri_drawable)
{
struct amd_framebuffer *amd_fb;
struct radeon_framebuffer *radeon_fb;
amd_fb = dri_drawable->driverPrivate;
assert(amd_fb->st_framebuffer);
st_unreference_framebuffer(amd_fb->st_framebuffer);
free(amd_fb);
radeon_fb = dri_drawable->driverPrivate;
assert(radeon_fb->st_framebuffer);
st_unreference_framebuffer(radeon_fb->st_framebuffer);
free(radeon_fb);
}
static void amd_swap_buffers(__DRIdrawablePrivate *dri_drawable)
static void radeon_swap_buffers(__DRIdrawablePrivate *dri_drawable)
{
struct amd_framebuffer *amd_fb;
struct radeon_framebuffer *radeon_fb;
struct pipe_surface *back_surf = NULL;
amd_fb = dri_drawable->driverPrivate;
assert(amd_fb);
assert(amd_fb->st_framebuffer);
radeon_fb = dri_drawable->driverPrivate;
assert(radeon_fb);
assert(radeon_fb->st_framebuffer);
st_get_framebuffer_surface(amd_fb->st_framebuffer,
st_get_framebuffer_surface(radeon_fb->st_framebuffer,
ST_SURFACE_BACK_LEFT,
&back_surf);
if (back_surf) {
st_notify_swapbuffers(amd_fb->st_framebuffer);
st_notify_swapbuffers(radeon_fb->st_framebuffer);
/* TODO: do we want to do anythings ? */
st_notify_swapbuffers_complete(amd_fb->st_framebuffer);
st_notify_swapbuffers_complete(radeon_fb->st_framebuffer);
}
}
@ -267,7 +267,7 @@ static void amd_swap_buffers(__DRIdrawablePrivate *dri_drawable)
* Called via glXCopySubBufferMESA() to copy a subrect of the back
* buffer to the front buffer/screen.
*/
static void amd_copy_sub_buffer(__DRIdrawablePrivate *dri_drawable,
static void radeon_copy_sub_buffer(__DRIdrawablePrivate *dri_drawable,
int x, int y, int w, int h)
{
/* TODO: ... */
@ -275,14 +275,14 @@ static void amd_copy_sub_buffer(__DRIdrawablePrivate *dri_drawable,
const struct __DriverAPIRec driDriverAPI = {
.InitScreen = NULL,
.DestroyScreen = amd_screen_destroy,
.CreateContext = amd_context_create,
.DestroyContext = amd_context_destroy,
.CreateBuffer = amd_buffer_create,
.DestroyBuffer = amd_buffer_destroy,
.SwapBuffers = amd_swap_buffers,
.MakeCurrent = amd_context_bind,
.UnbindContext = amd_context_unbind,
.CopySubBuffer = amd_copy_sub_buffer,
.InitScreen2 = amd_screen_init,
.DestroyScreen = radeon_screen_destroy,
.CreateContext = radeon_context_create,
.DestroyContext = radeon_context_destroy,
.CreateBuffer = radeon_buffer_create,
.DestroyBuffer = radeon_buffer_destroy,
.SwapBuffers = radeon_swap_buffers,
.MakeCurrent = radeon_context_bind,
.UnbindContext = radeon_context_unbind,
.CopySubBuffer = radeon_copy_sub_buffer,
.InitScreen2 = radeon_screen_init,
};

View file

@ -27,13 +27,13 @@
* Authors:
* Jérôme Glisse <glisse@freedesktop.org>
*/
#ifndef AMD_SCREEN_H
#define AMD_SCREEN_H
#ifndef RADEON_SCREEN_H
#define RADEON_SCREEN_H
#include "dri_util.h"
#include "radeon_bo.h"
struct amd_screen {
struct radeon_screen {
__DRIscreenPrivate *dri_screen;
struct radeon_bo_manager *bom;
};

View file

@ -33,18 +33,18 @@
#include "pipe/p_defines.h"
#include "pipe/p_format.h"
#include "softpipe/sp_winsys.h"
#include "amd_context.h"
#include "amd_winsys_softpipe.h"
#include "radeon_context.h"
#include "radeon_winsys_softpipe.h"
struct amd_softpipe_winsys {
struct radeon_softpipe_winsys {
struct softpipe_winsys sp_winsys;
struct amd_context *amd_context;
struct radeon_context *radeon_context;
};
/**
* Return list of surface formats supported by this driver.
*/
static boolean amd_is_format_supported(struct softpipe_winsys *sws, uint format)
static boolean radeon_is_format_supported(struct softpipe_winsys *sws, uint format)
{
switch (format) {
case PIPE_FORMAT_A8R8G8B8_UNORM:
@ -57,21 +57,21 @@ static boolean amd_is_format_supported(struct softpipe_winsys *sws, uint format)
return FALSE;
}
struct pipe_context *amd_create_softpipe(struct amd_context *amd_context)
struct pipe_context *radeon_create_softpipe(struct radeon_context *radeon_context)
{
struct amd_softpipe_winsys *amd_sp_ws;
struct radeon_softpipe_winsys *radeon_sp_ws;
struct pipe_screen *pipe_screen;
pipe_screen = softpipe_create_screen(amd_context->pipe_winsys);
pipe_screen = softpipe_create_screen(radeon_context->pipe_winsys);
amd_sp_ws = CALLOC_STRUCT(amd_softpipe_winsys);
if (amd_sp_ws == NULL) {
radeon_sp_ws = CALLOC_STRUCT(radeon_softpipe_winsys);
if (radeon_sp_ws == NULL) {
return NULL;
}
amd_context->pipe_screen = pipe_screen;
amd_sp_ws->amd_context = amd_context;
amd_sp_ws->sp_winsys.is_format_supported = amd_is_format_supported;
radeon_context->pipe_screen = pipe_screen;
radeon_sp_ws->radeon_context = radeon_context;
radeon_sp_ws->sp_winsys.is_format_supported = radeon_is_format_supported;
return softpipe_create(pipe_screen,
amd_context->pipe_winsys,
&amd_sp_ws->sp_winsys);
radeon_context->pipe_winsys,
&radeon_sp_ws->sp_winsys);
}

View file

@ -27,11 +27,11 @@
* Authors:
* Jérôme Glisse <glisse@freedesktop.org>
*/
#ifndef AMD_WINSYS_SOFTPIPE_H
#define AMD_WINSYS_SOFTPIPE_H
#ifndef RADEON_WINSYS_SOFTPIPE_H
#define RADEON_WINSYS_SOFTPIPE_H
#include "amd_context.h"
#include "radeon_context.h"
struct pipe_context *amd_create_softpipe(struct amd_context *amd_context);
struct pipe_context *radeon_create_softpipe(struct radeon_context *radeon_context);
#endif