From b4d198e47704f3b79c5a61877846172ae9d4b4c0 Mon Sep 17 00:00:00 2001 From: Younes Manton Date: Wed, 23 Jul 2008 02:28:02 -0400 Subject: [PATCH] g3dvl: Minor fixes. --- src/driclient/include/driclient.h | 1 - src/driclient/src/.gitignore | 1 + src/driclient/src/Makefile | 1 + src/driclient/src/driclient.c | 5 --- src/driclient/src/test | Bin 68389 -> 0 bytes .../winsys/g3dvl/nouveau/nouveau_screen.c | 42 ++++++++++-------- 6 files changed, 25 insertions(+), 25 deletions(-) create mode 100644 src/driclient/src/.gitignore delete mode 100755 src/driclient/src/test diff --git a/src/driclient/include/driclient.h b/src/driclient/include/driclient.h index 36438a9f790..d3915250392 100644 --- a/src/driclient/include/driclient.h +++ b/src/driclient/include/driclient.h @@ -68,7 +68,6 @@ int driUpdateDrawableInfo(dri_drawable_t *dri_drawable); int driDestroyDrawable(dri_drawable_t *dri_drawable); int driCreateContext(dri_screen_t *dri_screen, Visual *visual, dri_context_t **dri_context); int driDestroyContext(dri_context_t *dri_context); -int driCompareVersions(const dri_version_t *v1, const dri_version_t *v2); #define DRI_VALIDATE_DRAWABLE_INFO_ONCE(dri_drawable) \ do \ diff --git a/src/driclient/src/.gitignore b/src/driclient/src/.gitignore new file mode 100644 index 00000000000..9daeafb9864 --- /dev/null +++ b/src/driclient/src/.gitignore @@ -0,0 +1 @@ +test diff --git a/src/driclient/src/Makefile b/src/driclient/src/Makefile index 0fac552de5b..3c0fc284409 100644 --- a/src/driclient/src/Makefile +++ b/src/driclient/src/Makefile @@ -12,6 +12,7 @@ all: ${TARGET} test ${TARGET}: ${OBJECTS} ar rcs $@ $^ + if ! test -d ../lib; then mkdir ../lib; fi cp ${TARGET} ../lib test: test.o diff --git a/src/driclient/src/driclient.c b/src/driclient/src/driclient.c index 7a7ca95702a..94d01aca4f9 100644 --- a/src/driclient/src/driclient.c +++ b/src/driclient/src/driclient.c @@ -285,8 +285,3 @@ int driDestroyContext(dri_context_t *dri_context) return 0; } -int driCompareVersions(const dri_version_t *v1, const dri_version_t *v2) -{ - return (v1->major == v2->major) && (v1->minor == v2->minor) && (v1->patch == v2->patch); -} - diff --git a/src/driclient/src/test b/src/driclient/src/test deleted file mode 100755 index 57cddf8e00ab4cc372d83a3eb4dad5a73b1f6597..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68389 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 #include "nouveau_dri.h" #include "nouveau_local.h" #include "nouveau_screen.h" @@ -18,40 +18,44 @@ DRI_CONF_END; static const GLuint __driNConfigOptions = 0; */ -int -nouveau_screen_create(dri_screen_t *dri_screen, dri_framebuffer_t *dri_framebuf) +int nouveau_check_dri_drm_ddx(dri_version_t *dri, dri_version_t *drm, dri_version_t *ddx) { - /* XXX: Someone forgot to bump this? */ - static const dri_version_t ddx_expected = {0, 0, 10 /*NOUVEAU_DRM_HEADER_PATCHLEVEL*/}; - static const dri_version_t dri_expected = {4, 1, 0}; + static const dri_version_t ddx_expected = {0, 0, NOUVEAU_DRM_HEADER_PATCHLEVEL}; + static const dri_version_t dri_expected = {4, 0, 0}; static const dri_version_t drm_expected = {0, 0, NOUVEAU_DRM_HEADER_PATCHLEVEL}; - struct nouveau_dri *nv_dri = dri_framebuf->private; - struct nouveau_screen *nv_screen; - int ret; + assert(dri); + assert(drm); + assert(ddx); - if (!driCompareVersions(&ddx_expected, &dri_screen->ddx)) + if (dri->major != dri_expected.major || dri->minor < dri_expected.minor) { - NOUVEAU_ERR("Unexpected DDX version.\n"); + NOUVEAU_ERR("Unexpected DRI version.\n"); return 1; } - - if (!driCompareVersions(&drm_expected, &dri_screen->drm)) + if (drm->major != drm_expected.major || drm->minor < drm_expected.minor) { NOUVEAU_ERR("Unexpected DRM version.\n"); return 1; } - - if (!driCompareVersions(&dri_expected, &dri_screen->dri)) + if (ddx->major != ddx_expected.major || ddx->minor < ddx_expected.minor) { - NOUVEAU_ERR("Unexpected DRI version.\n"); + NOUVEAU_ERR("Unexpected DDX version.\n"); return 1; } + + return 0; +} - if (dri_framebuf->private_size != sizeof(struct nouveau_dri)) { - NOUVEAU_ERR("DRI struct mismatch between DDX/DRI.\n"); +int +nouveau_screen_create(dri_screen_t *dri_screen, dri_framebuffer_t *dri_framebuf) +{ + struct nouveau_dri *nv_dri = dri_framebuf->private; + struct nouveau_screen *nv_screen; + int ret; + + if (nouveau_check_dri_drm_ddx(&dri_screen->dri, &dri_screen->drm, &dri_screen->ddx)) return 1; - } nv_screen = CALLOC_STRUCT(nouveau_screen); if (!nv_screen) -- 2.30.2