summaryrefslogtreecommitdiffstats
path: root/src/mesa/drivers/dri/common
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/drivers/dri/common')
-rw-r--r--src/mesa/drivers/dri/common/Android.mk48
-rw-r--r--src/mesa/drivers/dri/common/Makefile.am13
-rw-r--r--src/mesa/drivers/dri/common/Makefile.sources7
-rw-r--r--src/mesa/drivers/dri/common/SConscript8
-rw-r--r--src/mesa/drivers/dri/common/dri_util.c2
-rw-r--r--src/mesa/drivers/dri/common/dri_util.h2
-rw-r--r--src/mesa/drivers/dri/common/drirc220
-rw-r--r--src/mesa/drivers/dri/common/xmlconfig.c1113
-rw-r--r--src/mesa/drivers/dri/common/xmlconfig.h179
-rw-r--r--src/mesa/drivers/dri/common/xmlpool.h105
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/.gitignore8
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/Makefile.am101
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/SConscript14
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/ca.po348
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/de.po320
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/es.po332
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/fr.po310
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py203
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/nl.po311
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/sv.po309
-rw-r--r--src/mesa/drivers/dri/common/xmlpool/t_options.h431
21 files changed, 9 insertions, 4375 deletions
diff --git a/src/mesa/drivers/dri/common/Android.mk b/src/mesa/drivers/dri/common/Android.mk
index 8a21e630325..573189d88f6 100644
--- a/src/mesa/drivers/dri/common/Android.mk
+++ b/src/mesa/drivers/dri/common/Android.mk
@@ -44,53 +44,7 @@ LOCAL_EXPORT_C_INCLUDE_DIRS := \
$(intermediates)
LOCAL_SRC_FILES := \
- $(DRI_COMMON_FILES) \
- $(XMLCONFIG_FILES)
-
-MESA_DRI_OPTIONS_H := $(intermediates)/xmlpool/options.h
-LOCAL_GENERATED_SOURCES := $(MESA_DRI_OPTIONS_H)
-
-#
-# Generate options.h from gettext translations.
-#
-
-MESA_DRI_OPTIONS_LANGS := de es nl fr sv
-POT := $(intermediates)/xmlpool.pot
-
-$(POT): $(LOCAL_PATH)/xmlpool/t_options.h
- @mkdir -p $(dir $@)
- xgettext -L C --from-code utf-8 -o $@ $<
-
-$(intermediates)/xmlpool/%.po: $(LOCAL_PATH)/xmlpool/%.po $(POT)
- lang=$(basename $(notdir $@)); \
- mkdir -p $(dir $@); \
- if [ -f $< ]; then \
- msgmerge -o $@ $^; \
- else \
- msginit -i $(POT) \
- -o $@ \
- --locale=$$lang \
- --no-translator; \
- sed -i -e 's/charset=.*\\n/charset=UTF-8\\n/' $@; \
- fi
-
-PRIVATE_SCRIPT := $(LOCAL_PATH)/xmlpool/gen_xmlpool.py
-PRIVATE_LOCALEDIR := $(intermediates)/xmlpool
-PRIVATE_TEMPLATE_HEADER := $(LOCAL_PATH)/xmlpool/t_options.h
-PRIVATE_MO_FILES := $(MESA_DRI_OPTIONS_LANGS:%=$(intermediates)/xmlpool/%/LC_MESSAGES/options.mo)
-
-LOCAL_GENERATED_SOURCES += $(PRIVATE_MO_FILES)
-
-$(PRIVATE_MO_FILES): $(intermediates)/xmlpool/%/LC_MESSAGES/options.mo: $(intermediates)/xmlpool/%.po
- mkdir -p $(dir $@)
- msgfmt -o $@ $<
-
-$(LOCAL_GENERATED_SOURCES): PRIVATE_PYTHON := $(MESA_PYTHON2)
-$(LOCAL_GENERATED_SOURCES): PRIVATE_CUSTOM_TOOL = $(PRIVATE_PYTHON) $^ $(PRIVATE_TEMPLATE_HEADER) \
- $(PRIVATE_LOCALEDIR) $(MESA_DRI_OPTIONS_LANGS) > $@
-
-$(MESA_DRI_OPTIONS_H): $(PRIVATE_SCRIPT) $(PRIVATE_TEMPLATE_HEADER) $(PRIVATE_MO_FILES)
- $(transform-generated-source)
+ $(DRI_COMMON_FILES)
include $(MESA_COMMON_MK)
include $(BUILD_STATIC_LIBRARY)
diff --git a/src/mesa/drivers/dri/common/Makefile.am b/src/mesa/drivers/dri/common/Makefile.am
index c85c470a2fb..f26cc069381 100644
--- a/src/mesa/drivers/dri/common/Makefile.am
+++ b/src/mesa/drivers/dri/common/Makefile.am
@@ -19,11 +19,9 @@
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
-SUBDIRS = xmlpool
-
include Makefile.sources
-EXTRA_DIST = drirc xmlpool.h SConscript
+EXTRA_DIST = SConscript
AM_CFLAGS = \
-I$(top_srcdir)/include \
@@ -32,22 +30,15 @@ AM_CFLAGS = \
-I$(top_srcdir)/src/mesa/ \
-I$(top_srcdir)/src/gallium/include \
-I$(top_srcdir)/src/gallium/auxiliary \
+ -I$(top_builddir)/src/util/ \
$(LIBDRM_CFLAGS) \
$(DEFINES) \
- -DSYSCONFDIR=\"$(sysconfdir)\" \
$(VISIBILITY_CFLAGS)
noinst_LTLIBRARIES = \
libdricommon.la \
- libxmlconfig.la \
libmegadriver_stub.la
libdricommon_la_SOURCES = $(DRI_COMMON_FILES)
-libxmlconfig_la_SOURCES = $(XMLCONFIG_FILES)
-libxmlconfig_la_CFLAGS = $(AM_CFLAGS) $(EXPAT_CFLAGS)
-libxmlconfig_la_LIBADD = $(EXPAT_LIBS) -lm
-
libmegadriver_stub_la_SOURCES = $(megadriver_stub_FILES)
-
-sysconf_DATA = drirc
diff --git a/src/mesa/drivers/dri/common/Makefile.sources b/src/mesa/drivers/dri/common/Makefile.sources
index 9d3cdd38ff0..d592e99b879 100644
--- a/src/mesa/drivers/dri/common/Makefile.sources
+++ b/src/mesa/drivers/dri/common/Makefile.sources
@@ -4,10 +4,6 @@ DRI_COMMON_FILES := \
dri_util.c \
dri_util.h
-XMLCONFIG_FILES := \
- xmlconfig.c \
- xmlconfig.h
-
# Paths are relative to MESA_TOP.
mesa_dri_common_INCLUDES := \
include \
@@ -15,7 +11,8 @@ mesa_dri_common_INCLUDES := \
src/egl/main \
src/mapi \
src/mesa \
- src/mesa/drivers/dri/common
+ src/mesa/drivers/dri/common \
+ src/util
megadriver_stub_FILES := \
megadriver_stub.c
diff --git a/src/mesa/drivers/dri/common/SConscript b/src/mesa/drivers/dri/common/SConscript
index 52d201f8913..06afecede34 100644
--- a/src/mesa/drivers/dri/common/SConscript
+++ b/src/mesa/drivers/dri/common/SConscript
@@ -7,7 +7,6 @@ drienv = env.Clone()
drienv.Replace(CPPPATH = [
'#src/mesa/drivers/dri/common',
- xmlpool_options.dir.dir, # Dir to generated xmlpool/options.h
'#include',
'#include/GL/internal',
'#src',
@@ -26,13 +25,10 @@ drienv.Replace(CPPPATH = [
'#src/mesa/swrast_setup',
'#src/egl/main',
'#src/egl/drivers/dri',
+ '#src/util',
])
-drienv.AppendUnique(LIBS = [
- 'expat',
-])
-
-sources = drienv.ParseSourceList('Makefile.sources', ['DRI_COMMON_FILES', 'XMLCONFIG_FILES' ])
+sources = drienv.ParseSourceList('Makefile.sources', ['DRI_COMMON_FILES'])
dri_common = drienv.ConvenienceLibrary(
target = 'dri_common',
diff --git a/src/mesa/drivers/dri/common/dri_util.c b/src/mesa/drivers/dri/common/dri_util.c
index bfae0209d18..39ecaf0658a 100644
--- a/src/mesa/drivers/dri/common/dri_util.c
+++ b/src/mesa/drivers/dri/common/dri_util.c
@@ -42,7 +42,7 @@
#include <stdbool.h>
#include "dri_util.h"
#include "utils.h"
-#include "xmlpool.h"
+#include "util/xmlpool.h"
#include "main/mtypes.h"
#include "main/framebuffer.h"
#include "main/version.h"
diff --git a/src/mesa/drivers/dri/common/dri_util.h b/src/mesa/drivers/dri/common/dri_util.h
index 3e1ce624c7b..25a3ae47a23 100644
--- a/src/mesa/drivers/dri/common/dri_util.h
+++ b/src/mesa/drivers/dri/common/dri_util.h
@@ -56,7 +56,7 @@
#include <GL/gl.h>
#include <GL/internal/dri_interface.h>
#include "main/mtypes.h"
-#include "xmlconfig.h"
+#include "util/xmlconfig.h"
#include <stdbool.h>
/**
diff --git a/src/mesa/drivers/dri/common/drirc b/src/mesa/drivers/dri/common/drirc
deleted file mode 100644
index 30ac9c839be..00000000000
--- a/src/mesa/drivers/dri/common/drirc
+++ /dev/null
@@ -1,220 +0,0 @@
-<!--
-
-============================================
-Application bugs worked around in this file:
-============================================
-
-* Unigine Heaven 3.0 and older contain too many bugs and can't be supported
- by drivers that want to be compliant.
-
-* Various Unigine products don't use the #version and #extension GLSL
- directives, meaning they only get GLSL 1.10 and no extensions for their
- shaders.
- Enabling all extensions for Unigine fixes most issues, but the GLSL version
- is still 1.10.
-
-* If ARB_sample_shading is supported, Unigine Heaven 4.0 and Valley 1.0 uses
- an #extension directive in the middle of its shaders, which is illegal
- in GLSL.
-
-* Dying Light and Dead Island Definitive Edition redeclare vertex shader
- built-ins (specifically gl_VertexID), which causes the vertex shaders to fail
- to compile.
-
-TODO: document the other workarounds.
-
--->
-
-<driconf>
- <!-- Please always enable app-specific workarounds for all drivers and
- screens. -->
- <device>
- <application name="Unigine Sanctuary" executable="Sanctuary">
- <option name="force_glsl_extensions_warn" value="true" />
- <option name="disable_blend_func_extended" value="true" />
- </application>
-
- <application name="Unigine Tropics" executable="Tropics">
- <option name="force_glsl_extensions_warn" value="true" />
- <option name="disable_blend_func_extended" value="true" />
- </application>
-
- <application name="Unigine Heaven (32-bit)" executable="heaven_x86">
- <option name="allow_glsl_extension_directive_midshader" value="true" />
- <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
- <option name="dual_color_blend_by_location" value="true" />
- </application>
-
- <application name="Unigine Heaven (64-bit)" executable="heaven_x64">
- <option name="allow_glsl_extension_directive_midshader" value="true" />
- <!-- remove dual_color_blend_by_location if 4.1 ever comes out -->
- <option name="dual_color_blend_by_location" value="true" />
- </application>
-
- <application name="Unigine Valley (32-bit)" executable="valley_x86">
- <option name="allow_glsl_extension_directive_midshader" value="true" />
- <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
- <option name="dual_color_blend_by_location" value="true" />
- </application>
-
- <application name="Unigine Valley (64-bit)" executable="valley_x64">
- <option name="allow_glsl_extension_directive_midshader" value="true" />
- <!-- remove dual_color_blend_by_location if 1.1 ever comes out -->
- <option name="dual_color_blend_by_location" value="true" />
- </application>
-
- <application name="Unigine OilRush (32-bit)" executable="OilRush_x86">
- <option name="disable_blend_func_extended" value="true" />
- <option name="allow_glsl_extension_directive_midshader" value="true" />
- </application>
-
- <application name="Unigine OilRush (64-bit)" executable="OilRush_x64">
- <option name="disable_blend_func_extended" value="true" />
- <option name="allow_glsl_extension_directive_midshader" value="true" />
- </application>
-
- <application name="Savage 2" executable="savage2.bin">
- <option name="disable_glsl_line_continuations" value="true" />
- </application>
-
- <application name="Topogun (32-bit)" executable="topogun32">
- <option name="always_have_depth_buffer" value="true" />
- </application>
-
- <application name="Topogun (64-bit)" executable="topogun64">
- <option name="always_have_depth_buffer" value="true" />
- </application>
-
- <application name="Dead Island (incl. Definitive Edition)" executable="DeadIslandGame">
- <option name="allow_glsl_extension_directive_midshader" value="true" />
-
- <!-- For the Definitive Edition which shares the same executable name -->
- <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
- </application>
-
- <application name="Dead Island Riptide Definitive Edition" executable="DeadIslandRiptideGame">
- <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
- </application>
-
- <application name="Dying Light" executable="DyingLightGame">
- <option name="allow_glsl_builtin_variable_redeclaration" value="true" />
- </application>
-
- <application name="Second Life" executable="do-not-directly-run-secondlife-bin">
- <option name="allow_glsl_extension_directive_midshader" value="true" />
- </application>
-
- <application name="Warsow (32-bit)" executable="warsow.i386">
- <option name="allow_glsl_extension_directive_midshader" value="true" />
- </application>
-
- <application name="Warsow (64-bit)" executable="warsow.x86_64">
- <option name="allow_glsl_extension_directive_midshader" value="true" />
- </application>
-
- <application name="Rust" executable="rust">
- <option name="glsl_zero_init" value="true"/>
- </application>
-
- <application name="Divinity: Original Sin Enhanced Edition" executable="EoCApp">
- <option name="allow_glsl_extension_directive_midshader" value="true" />
- </application>
-
- <application name="Worms W.M.D" executable="Worms W.M.Dx64">
- <option name="allow_higher_compat_version" value="true" />
- </application>
-
- <application name="Crookz - The Big Heist" executable="Crookz">
- <option name="allow_higher_compat_version" value="true" />
- </application>
-
- <application name="Tropico 5" executable="Tropico5">
- <option name="allow_higher_compat_version" value="true" />
- </application>
-
- <application name="The Culling" executable="Victory">
- <option name="force_glsl_version" value="440" />
- </application>
-
- <application name="Spec Ops: The Line (32-bit)" executable="specops.i386">
- <option name="force_glsl_abs_sqrt" value="true" />
- </application>
-
- <application name="Spec Ops: The Line (64-bit)" executable="specops">
- <option name="force_glsl_abs_sqrt" value="true" />
- </application>
-
- <application name="Kerbal Space Program (32-bit)" executable="KSP.x86">
- <option name="glsl_zero_init" value="true"/>
- </application>
-
- <application name="Kerbal Space Program (64-bit)" executable="KSP.x86_64">
- <option name="glsl_zero_init" value="true"/>
- </application>
-
- <application name="Rocket League" executable="RocketLeague">
- <option name="glsl_correct_derivatives_after_discard" value="true"/>
- </application>
-
- <application name="The Witcher 2" executable="witcher2">
- <option name="glsl_correct_derivatives_after_discard" value="true"/>
- </application>
-
- <!-- The GL thread whitelist is below, workarounds are above.
- Keep it that way. -->
-
- <application name="Alien Isolation" executable="AlienIsolation">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="Civilization 6" executable="Civ6">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="BioShock Infinite" executable="bioshock.i386">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="Borderlands 2" executable="Borderlands2">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="Civilization 5" executable="Civ5XP">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="The Witcher 2" executable="witcher2">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="American Truck Simulator" executable="amtrucks">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="Euro Truck Simulator 2" executable="eurotrucks2">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="Overlord" executable="overlord.i386">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="Overlord 2" executable="overlord2.i386">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="Oil Rush" executable="OilRush_x86">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="War Thunder" executable="aces">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="Saints Row 2" executable="saintsrow2.i386">
- <option name="mesa_glthread" value="true"/>
- </application>
- <application name="War Thunder (Wine)" executable="aces.exe">
- <option name="mesa_glthread" value="true"/>
- </application>
- </device>
- <!-- vmwgfx doesn't like full buffer swaps and can't sync to vertical retraces.-->
- <device driver="vmwgfx">
- <application name="gnome-shell" executable="gnome-shell">
- <option name="glx_disable_ext_buffer_age" value="true" />
- <option name="glx_disable_oml_sync_control" value="true" />
- </application>
- <application name="Compiz" executable="Compiz">
- <option name="glx_disable_ext_buffer_age" value="true" />
- <option name="glx_disable_oml_sync_control" value="true" />
- </application>
- </device>
-</driconf>
diff --git a/src/mesa/drivers/dri/common/xmlconfig.c b/src/mesa/drivers/dri/common/xmlconfig.c
deleted file mode 100644
index d3f47ecda0c..00000000000
--- a/src/mesa/drivers/dri/common/xmlconfig.c
+++ /dev/null
@@ -1,1113 +0,0 @@
-/*
- * XML DRI client-side driver configuration
- * Copyright (C) 2003 Felix Kuehling
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * FELIX KUEHLING, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
- * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-/**
- * \file xmlconfig.c
- * \brief Driver-independent client-side part of the XML configuration
- * \author Felix Kuehling
- */
-
-#include <stdarg.h>
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-#include <expat.h>
-#include <fcntl.h>
-#include <math.h>
-#include <unistd.h>
-#include <errno.h>
-#include "xmlconfig.h"
-
-#undef GET_PROGRAM_NAME
-
-#if (defined(__GNU_LIBRARY__) || defined(__GLIBC__)) && !defined(__UCLIBC__)
-# if !defined(__GLIBC__) || (__GLIBC__ < 2)
-/* These aren't declared in any libc5 header */
-extern char *program_invocation_name, *program_invocation_short_name;
-# endif
-# define GET_PROGRAM_NAME() program_invocation_short_name
-#elif defined(__CYGWIN__)
-# define GET_PROGRAM_NAME() program_invocation_short_name
-#elif defined(__FreeBSD__) && (__FreeBSD__ >= 2)
-# include <osreldate.h>
-# if (__FreeBSD_version >= 440000)
-# include <stdlib.h>
-# define GET_PROGRAM_NAME() getprogname()
-# endif
-#elif defined(__NetBSD__) && defined(__NetBSD_Version__) && (__NetBSD_Version__ >= 106000100)
-# include <stdlib.h>
-# define GET_PROGRAM_NAME() getprogname()
-#elif defined(__DragonFly__)
-# include <stdlib.h>
-# define GET_PROGRAM_NAME() getprogname()
-#elif defined(__APPLE__)
-# include <stdlib.h>
-# define GET_PROGRAM_NAME() getprogname()
-#elif defined(__sun)
-/* Solaris has getexecname() which returns the full path - return just
- the basename to match BSD getprogname() */
-# include <stdlib.h>
-# include <libgen.h>
-
-static const char *
-__getProgramName()
-{
- static const char *progname;
-
- if (progname == NULL) {
- const char *e = getexecname();
- if (e != NULL) {
- /* Have to make a copy since getexecname can return a readonly
- string, but basename expects to be able to modify its arg. */
- char *n = strdup(e);
- if (n != NULL) {
- progname = basename(n);
- }
- }
- }
- return progname;
-}
-
-# define GET_PROGRAM_NAME() __getProgramName()
-#endif
-
-#if !defined(GET_PROGRAM_NAME)
-# if defined(__OpenBSD__) || defined(NetBSD) || defined(__UCLIBC__) || defined(ANDROID)
-/* This is a hack. It's said to work on OpenBSD, NetBSD and GNU.
- * Rogelio M.Serrano Jr. reported it's also working with UCLIBC. It's
- * used as a last resort, if there is no documented facility available. */
-static const char *
-__getProgramName()
-{
- extern const char *__progname;
- char * arg = strrchr(__progname, '/');
- if (arg)
- return arg+1;
- else
- return __progname;
-}
-# define GET_PROGRAM_NAME() __getProgramName()
-# else
-# define GET_PROGRAM_NAME() ""
-# warning "Per application configuration won't work with your OS version."
-# endif
-#endif
-
-/** \brief Find an option in an option cache with the name as key */
-static uint32_t
-findOption(const driOptionCache *cache, const char *name)
-{
- uint32_t len = strlen (name);
- uint32_t size = 1 << cache->tableSize, mask = size - 1;
- uint32_t hash = 0;
- uint32_t i, shift;
-
- /* compute a hash from the variable length name */
- for (i = 0, shift = 0; i < len; ++i, shift = (shift+8) & 31)
- hash += (uint32_t)name[i] << shift;
- hash *= hash;
- hash = (hash >> (16-cache->tableSize/2)) & mask;
-
- /* this is just the starting point of the linear search for the option */
- for (i = 0; i < size; ++i, hash = (hash+1) & mask) {
- /* if we hit an empty entry then the option is not defined (yet) */
- if (cache->info[hash].name == 0)
- break;
- else if (!strcmp (name, cache->info[hash].name))
- break;
- }
- /* this assertion fails if the hash table is full */
- assert (i < size);
-
- return hash;
-}
-
-/** \brief Like strdup but using malloc and with error checking. */
-#define XSTRDUP(dest,source) do { \
- uint32_t len = strlen (source); \
- if (!(dest = malloc(len+1))) { \
- fprintf (stderr, "%s: %d: out of memory.\n", __FILE__, __LINE__); \
- abort(); \
- } \
- memcpy (dest, source, len+1); \
-} while (0)
-
-static int compare (const void *a, const void *b) {
- return strcmp (*(char *const*)a, *(char *const*)b);
-}
-/** \brief Binary search in a string array. */
-static uint32_t
-bsearchStr (const XML_Char *name, const XML_Char *elems[], uint32_t count)
-{
- const XML_Char **found;
- found = bsearch (&name, elems, count, sizeof (XML_Char *), compare);
- if (found)
- return found - elems;
- else
- return count;
-}
-
-/** \brief Locale-independent integer parser.
- *
- * Works similar to strtol. Leading space is NOT skipped. The input
- * number may have an optional sign. Radix is specified by base. If
- * base is 0 then decimal is assumed unless the input number is
- * prefixed by 0x or 0X for hexadecimal or 0 for octal. After
- * returning tail points to the first character that is not part of
- * the integer number. If no number was found then tail points to the
- * start of the input string. */
-static int
-strToI(const XML_Char *string, const XML_Char **tail, int base)
-{
- int radix = base == 0 ? 10 : base;
- int result = 0;
- int sign = 1;
- bool numberFound = false;
- const XML_Char *start = string;
-
- assert (radix >= 2 && radix <= 36);
-
- if (*string == '-') {
- sign = -1;
- string++;
- } else if (*string == '+')
- string++;
- if (base == 0 && *string == '0') {
- numberFound = true;
- if (*(string+1) == 'x' || *(string+1) == 'X') {
- radix = 16;
- string += 2;
- } else {
- radix = 8;
- string++;
- }
- }
- do {
- int digit = -1;
- if (radix <= 10) {
- if (*string >= '0' && *string < '0' + radix)
- digit = *string - '0';
- } else {
- if (*string >= '0' && *string <= '9')
- digit = *string - '0';
- else if (*string >= 'a' && *string < 'a' + radix - 10)
- digit = *string - 'a' + 10;
- else if (*string >= 'A' && *string < 'A' + radix - 10)
- digit = *string - 'A' + 10;
- }
- if (digit != -1) {
- numberFound = true;
- result = radix*result + digit;
- string++;
- } else
- break;
- } while (true);
- *tail = numberFound ? string : start;
- return sign * result;
-}
-
-/** \brief Locale-independent floating-point parser.
- *
- * Works similar to strtod. Leading space is NOT skipped. The input
- * number may have an optional sign. '.' is interpreted as decimal
- * point and may occur at most once. Optionally the number may end in
- * [eE]<exponent>, where <exponent> is an integer as recognized by
- * strToI. In that case the result is number * 10^exponent. After
- * returning tail points to the first character that is not part of
- * the floating point number. If no number was found then tail points
- * to the start of the input string.
- *
- * Uses two passes for maximum accuracy. */
-static float
-strToF(const XML_Char *string, const XML_Char **tail)
-{
- int nDigits = 0, pointPos, exponent;
- float sign = 1.0f, result = 0.0f, scale;
- const XML_Char *start = string, *numStart;
-
- /* sign */
- if (*string == '-') {
- sign = -1.0f;
- string++;
- } else if (*string == '+')
- string++;
-
- /* first pass: determine position of decimal point, number of
- * digits, exponent and the end of the number. */
- numStart = string;
- while (*string >= '0' && *string <= '9') {
- string++;
- nDigits++;
- }
- pointPos = nDigits;
- if (*string == '.') {
- string++;
- while (*string >= '0' && *string <= '9') {
- string++;
- nDigits++;
- }
- }
- if (nDigits == 0) {
- /* no digits, no number */
- *tail = start;
- return 0.0f;
- }
- *tail = string;
- if (*string == 'e' || *string == 'E') {
- const XML_Char *expTail;
- exponent = strToI (string+1, &expTail, 10);
- if (expTail == string+1)
- exponent = 0;
- else
- *tail = expTail;
- } else
- exponent = 0;
- string = numStart;
-
- /* scale of the first digit */
- scale = sign * (float)pow (10.0, (double)(pointPos-1 + exponent));
-
- /* second pass: parse digits */
- do {
- if (*string != '.') {
- assert (*string >= '0' && *string <= '9');
- result += scale * (float)(*string - '0');
- scale *= 0.1f;
- nDigits--;
- }
- string++;
- } while (nDigits > 0);
-
- return result;
-}
-
-/** \brief Parse a value of a given type. */
-static unsigned char
-parseValue(driOptionValue *v, driOptionType type, const XML_Char *string)
-{
- const XML_Char *tail = NULL;
- /* skip leading white-space */
- string += strspn (string, " \f\n\r\t\v");
- switch (type) {
- case DRI_BOOL:
- if (!strcmp (string, "false")) {
- v->_bool = false;
- tail = string + 5;
- } else if (!strcmp (string, "true")) {
- v->_bool = true;
- tail = string + 4;
- }
- else
- return false;
- break;
- case DRI_ENUM: /* enum is just a special integer */
- case DRI_INT:
- v->_int = strToI (string, &tail, 0);
- break;
- case DRI_FLOAT:
- v->_float = strToF (string, &tail);
- break;
- case DRI_STRING:
- free (v->_string);
- v->_string = strndup(string, STRING_CONF_MAXLEN);
- return true;
- }
-
- if (tail == string)
- return false; /* empty string (or containing only white-space) */
- /* skip trailing white space */
- if (*tail)
- tail += strspn (tail, " \f\n\r\t\v");
- if (*tail)
- return false; /* something left over that is not part of value */
-
- return true;
-}
-
-/** \brief Parse a list of ranges of type info->type. */
-static unsigned char
-parseRanges(driOptionInfo *info, const XML_Char *string)
-{
- XML_Char *cp, *range;
- uint32_t nRanges, i;
- driOptionRange *ranges;
-
- XSTRDUP (cp, string);
- /* pass 1: determine the number of ranges (number of commas + 1) */
- range = cp;
- for (nRanges = 1; *range; ++range)
- if (*range == ',')
- ++nRanges;
-
- if ((ranges = malloc(nRanges*sizeof(driOptionRange))) == NULL) {
- fprintf (stderr, "%s: %d: out of memory.\n", __FILE__, __LINE__);
- abort();
- }
-
- /* pass 2: parse all ranges into preallocated array */
- range = cp;
- for (i = 0; i < nRanges; ++i) {
- XML_Char *end, *sep;
- assert (range);
- end = strchr (range, ',');
- if (end)
- *end = '\0';
- sep = strchr (range, ':');
- if (sep) { /* non-empty interval */
- *sep = '\0';
- if (!parseValue (&ranges[i].start, info->type, range) ||
- !parseValue (&ranges[i].end, info->type, sep+1))
- break;
- if (info->type == DRI_INT &&
- ranges[i].start._int > ranges[i].end._int)
- break;
- if (info->type == DRI_FLOAT &&
- ranges[i].start._float > ranges[i].end._float)
- break;
- } else { /* empty interval */
- if (!parseValue (&ranges[i].start, info->type, range))
- break;
- ranges[i].end = ranges[i].start;
- }
- if (end)
- range = end+1;
- else
- range = NULL;
- }
- free(cp);
- if (i < nRanges) {
- free(ranges);
- return false;
- } else
- assert (range == NULL);
-
- info->nRanges = nRanges;
- info->ranges = ranges;
- return true;
-}
-
-/** \brief Check if a value is in one of info->ranges. */
-static bool
-checkValue(const driOptionValue *v, const driOptionInfo *info)
-{
- uint32_t i;
- assert (info->type != DRI_BOOL); /* should be caught by the parser */
- if (info->nRanges == 0)
- return true;
- switch (info->type) {
- case DRI_ENUM: /* enum is just a special integer */
- case DRI_INT:
- for (i = 0; i < info->nRanges; ++i)
- if (v->_int >= info->ranges[i].start._int &&
- v->_int <= info->ranges[i].end._int)
- return true;
- break;
- case DRI_FLOAT:
- for (i = 0; i < info->nRanges; ++i)
- if (v->_float >= info->ranges[i].start._float &&
- v->_float <= info->ranges[i].end._float)
- return true;
- break;
- case DRI_STRING:
- break;
- default:
- assert (0); /* should never happen */
- }
- return false;
-}
-
-/**
- * Print message to \c stderr if the \c LIBGL_DEBUG environment variable
- * is set.
- *
- * Is called from the drivers.
- *
- * \param f \c printf like format string.
- */
-static void
-__driUtilMessage(const char *f, ...)
-{
- va_list args;
- const char *libgl_debug;
-
- libgl_debug=getenv("LIBGL_DEBUG");
- if (libgl_debug && !strstr(libgl_debug, "quiet")) {
- fprintf(stderr, "libGL: ");
- va_start(args, f);
- vfprintf(stderr, f, args);
- va_end(args);
- fprintf(stderr, "\n");
- }
-}
-
-/** \brief Output a warning message. */
-#define XML_WARNING1(msg) do {\
- __driUtilMessage ("Warning in %s line %d, column %d: "msg, data->name, \
- (int) XML_GetCurrentLineNumber(data->parser), \
- (int) XML_GetCurrentColumnNumber(data->parser)); \
-} while (0)
-#define XML_WARNING(msg,args...) do { \
- __driUtilMessage ("Warning in %s line %d, column %d: "msg, data->name, \
- (int) XML_GetCurrentLineNumber(data->parser), \
- (int) XML_GetCurrentColumnNumber(data->parser), \
- args); \
-} while (0)
-/** \brief Output an error message. */
-#define XML_ERROR1(msg) do { \
- __driUtilMessage ("Error in %s line %d, column %d: "msg, data->name, \
- (int) XML_GetCurrentLineNumber(data->parser), \
- (int) XML_GetCurrentColumnNumber(data->parser)); \
-} while (0)
-#define XML_ERROR(msg,args...) do { \
- __driUtilMessage ("Error in %s line %d, column %d: "msg, data->name, \
- (int) XML_GetCurrentLineNumber(data->parser), \
- (int) XML_GetCurrentColumnNumber(data->parser), \
- args); \
-} while (0)
-/** \brief Output a fatal error message and abort. */
-#define XML_FATAL1(msg) do { \
- fprintf (stderr, "Fatal error in %s line %d, column %d: "msg"\n", \
- data->name, \
- (int) XML_GetCurrentLineNumber(data->parser), \
- (int) XML_GetCurrentColumnNumber(data->parser)); \
- abort();\
-} while (0)
-#define XML_FATAL(msg,args...) do { \
- fprintf (stderr, "Fatal error in %s line %d, column %d: "msg"\n", \
- data->name, \
- (int) XML_GetCurrentLineNumber(data->parser), \
- (int) XML_GetCurrentColumnNumber(data->parser), \
- args); \
- abort();\
-} while (0)
-
-/** \brief Parser context for __driConfigOptions. */
-struct OptInfoData {
- const char *name;
- XML_Parser parser;
- driOptionCache *cache;
- bool inDriInfo;
- bool inSection;
- bool inDesc;
- bool inOption;
- bool inEnum;
- int curOption;
-};
-
-/** \brief Elements in __driConfigOptions. */
-enum OptInfoElem {
- OI_DESCRIPTION = 0, OI_DRIINFO, OI_ENUM, OI_OPTION, OI_SECTION, OI_COUNT
-};
-static const XML_Char *OptInfoElems[] = {
- "description", "driinfo", "enum", "option", "section"
-};
-
-/** \brief Parse attributes of an enum element.
- *
- * We're not actually interested in the data. Just make sure this is ok
- * for external configuration tools.
- */
-static void
-parseEnumAttr(struct OptInfoData *data, const XML_Char **attr)
-{
- uint32_t i;
- const XML_Char *value = NULL, *text = NULL;
- driOptionValue v;
- uint32_t opt = data->curOption;
- for (i = 0; attr[i]; i += 2) {
- if (!strcmp (attr[i], "value")) value = attr[i+1];
- else if (!strcmp (attr[i], "text")) text = attr[i+1];
- else XML_FATAL("illegal enum attribute: %s.", attr[i]);
- }
- if (!value) XML_FATAL1 ("value attribute missing in enum.");
- if (!text) XML_FATAL1 ("text attribute missing in enum.");
- if (!parseValue (&v, data->cache->info[opt].type, value))
- XML_FATAL ("illegal enum value: %s.", value);
- if (!checkValue (&v, &data->cache->info[opt]))
- XML_FATAL ("enum value out of valid range: %s.", value);
-}
-
-/** \brief Parse attributes of a description element.
- *
- * We're not actually interested in the data. Just make sure this is ok
- * for external configuration tools.
- */
-static void
-parseDescAttr(struct OptInfoData *data, const XML_Char **attr)
-{
- uint32_t i;
- const XML_Char *lang = NULL, *text = NULL;
- for (i = 0; attr[i]; i += 2) {
- if (!strcmp (attr[i], "lang")) lang = attr[i+1];
- else if (!strcmp (attr[i], "text")) text = attr[i+1];
- else XML_FATAL("illegal description attribute: %s.", attr[i]);
- }
- if (!lang) XML_FATAL1 ("lang attribute missing in description.");
- if (!text) XML_FATAL1 ("text attribute missing in description.");
-}
-
-/** \brief Parse attributes of an option element. */
-static void
-parseOptInfoAttr(struct OptInfoData *data, const XML_Char **attr)
-{
- enum OptAttr {OA_DEFAULT = 0, OA_NAME, OA_TYPE, OA_VALID, OA_COUNT};
- static const XML_Char *optAttr[] = {"default", "name", "type", "valid"};
- const XML_Char *attrVal[OA_COUNT] = {NULL, NULL, NULL, NULL};
- const char *defaultVal;
- driOptionCache *cache = data->cache;
- uint32_t opt, i;
- for (i = 0; attr[i]; i += 2) {
- uint32_t attrName = bsearchStr (attr[i], optAttr, OA_COUNT);
- if (attrName >= OA_COUNT)
- XML_FATAL ("illegal option attribute: %s", attr[i]);
- attrVal[attrName] = attr[i+1];
- }
- if (!attrVal[OA_NAME]) XML_FATAL1 ("name attribute missing in option.");
- if (!attrVal[OA_TYPE]) XML_FATAL1 ("type attribute missing in option.");
- if (!attrVal[OA_DEFAULT]) XML_FATAL1 ("default attribute missing in option.");
-
- opt = findOption (cache, attrVal[OA_NAME]);
- if (cache->info[opt].name)
- XML_FATAL ("option %s redefined.", attrVal[OA_NAME]);
- data->curOption = opt;
-
- XSTRDUP (cache->info[opt].name, attrVal[OA_NAME]);
-
- if (!strcmp (attrVal[OA_TYPE], "bool"))
- cache->info[opt].type = DRI_BOOL;
- else if (!strcmp (attrVal[OA_TYPE], "enum"))
- cache->info[opt].type = DRI_ENUM;
- else if (!strcmp (attrVal[OA_TYPE], "int"))
- cache->info[opt].type = DRI_INT;
- else if (!strcmp (attrVal[OA_TYPE], "float"))
- cache->info[opt].type = DRI_FLOAT;
- else if (!strcmp (attrVal[OA_TYPE], "string"))
- cache->info[opt].type = DRI_STRING;
- else
- XML_FATAL ("illegal type in option: %s.", attrVal[OA_TYPE]);
-
- defaultVal = getenv (cache->info[opt].name);
- if (defaultVal != NULL) {
- /* don't use XML_WARNING, we want the user to see this! */
- fprintf (stderr,
- "ATTENTION: default value of option %s overridden by environment.\n",
- cache->info[opt].name);
- } else
- defaultVal = attrVal[OA_DEFAULT];
- if (!parseValue (&cache->values[opt], cache->info[opt].type, defaultVal))
- XML_FATAL ("illegal default value for %s: %s.", cache->info[opt].name, defaultVal);
-
- if (attrVal[OA_VALID]) {
- if (cache->info[opt].type == DRI_BOOL)
- XML_FATAL1 ("boolean option with valid attribute.");
- if (!parseRanges (&cache->info[opt], attrVal[OA_VALID]))
- XML_FATAL ("illegal valid attribute: %s.", attrVal[OA_VALID]);
- if (!checkValue (&cache->values[opt], &cache->info[opt]))
- XML_FATAL ("default value out of valid range '%s': %s.",
- attrVal[OA_VALID], defaultVal);
- } else if (cache->info[opt].type == DRI_ENUM) {
- XML_FATAL1 ("valid attribute missing in option (mandatory for enums).");
- } else {
- cache->info[opt].nRanges = 0;
- cache->info[opt].ranges = NULL;
- }
-}
-
-/** \brief Handler for start element events. */
-static void
-optInfoStartElem(void *userData, const XML_Char *name, const XML_Char **attr)
-{
- struct OptInfoData *data = (struct OptInfoData *)userData;
- enum OptInfoElem elem = bsearchStr (name, OptInfoElems, OI_COUNT);
- switch (elem) {
- case OI_DRIINFO:
- if (data->inDriInfo)
- XML_FATAL1 ("nested <driinfo> elements.");
- if (attr[0])
- XML_FATAL1 ("attributes specified on <driinfo> element.");
- data->inDriInfo = true;
- break;
- case OI_SECTION:
- if (!data->inDriInfo)
- XML_FATAL1 ("<section> must be inside <driinfo>.");
- if (data->inSection)
- XML_FATAL1 ("nested <section> elements.");
- if (attr[0])
- XML_FATAL1 ("attributes specified on <section> element.");
- data->inSection = true;
- break;
- case OI_DESCRIPTION:
- if (!data->inSection && !data->inOption)
- XML_FATAL1 ("<description> must be inside <description> or <option.");
- if (data->inDesc)
- XML_FATAL1 ("nested <description> elements.");
- data->inDesc = true;
- parseDescAttr (data, attr);
- break;
- case OI_OPTION:
- if (!data->inSection)
- XML_FATAL1 ("<option> must be inside <section>.");
- if (data->inDesc)
- XML_FATAL1 ("<option> nested in <description> element.");
- if (data->inOption)
- XML_FATAL1 ("nested <option> elements.");
- data->inOption = true;
- parseOptInfoAttr (data, attr);
- break;
- case OI_ENUM:
- if (!(data->inOption && data->inDesc))
- XML_FATAL1 ("<enum> must be inside <option> and <description>.");
- if (data->inEnum)
- XML_FATAL1 ("nested <enum> elements.");
- data->inEnum = true;
- parseEnumAttr (data, attr);
- break;
- default:
- XML_FATAL ("unknown element: %s.", name);
- }
-}
-
-/** \brief Handler for end element events. */
-static void
-optInfoEndElem(void *userData, const XML_Char *name)
-{
- struct OptInfoData *data = (struct OptInfoData *)userData;
- enum OptInfoElem elem = bsearchStr (name, OptInfoElems, OI_COUNT);
- switch (elem) {
- case OI_DRIINFO:
- data->inDriInfo = false;
- break;
- case OI_SECTION:
- data->inSection = false;
- break;
- case OI_DESCRIPTION:
- data->inDesc = false;
- break;
- case OI_OPTION:
- data->inOption = false;
- break;
- case OI_ENUM:
- data->inEnum = false;
- break;
- default:
- assert (0); /* should have been caught by StartElem */
- }
-}
-
-void
-driParseOptionInfo(driOptionCache *info, const char *configOptions)
-{
- XML_Parser p;
- int status;
- struct OptInfoData userData;
- struct OptInfoData *data = &userData;
-
- /* Make the hash table big enough to fit more than the maximum number of
- * config options we've ever seen in a driver.
- */
- info->tableSize = 6;
- info->info = calloc(1 << info->tableSize, sizeof (driOptionInfo));
- info->values = calloc(1 << info->tableSize, sizeof (driOptionValue));
- if (info->info == NULL || info->values == NULL) {
- fprintf (stderr, "%s: %d: out of memory.\n", __FILE__, __LINE__);
- abort();
- }
-
- p = XML_ParserCreate ("UTF-8"); /* always UTF-8 */
- XML_SetElementHandler (p, optInfoStartElem, optInfoEndElem);
- XML_SetUserData (p, data);
-
- userData.name = "__driConfigOptions";
- userData.parser = p;
- userData.cache = info;
- userData.inDriInfo = false;
- userData.inSection = false;
- userData.inDesc = false;
- userData.inOption = false;
- userData.inEnum = false;
- userData.curOption = -1;
-
- status = XML_Parse (p, configOptions, strlen (configOptions), 1);
- if (!status)
- XML_FATAL ("%s.", XML_ErrorString(XML_GetErrorCode(p)));
-
- XML_ParserFree (p);
-}
-
-/** \brief Parser context for configuration files. */
-struct OptConfData {
- const char *name;
- XML_Parser parser;
- driOptionCache *cache;
- int screenNum;
- const char *driverName, *execName;
- uint32_t ignoringDevice;
- uint32_t ignoringApp;
- uint32_t inDriConf;
- uint32_t inDevice;
- uint32_t inApp;
- uint32_t inOption;
-};
-
-/** \brief Elements in configuration files. */
-enum OptConfElem {
- OC_APPLICATION = 0, OC_DEVICE, OC_DRICONF, OC_OPTION, OC_COUNT
-};
-static const XML_Char *OptConfElems[] = {
- [OC_APPLICATION] = "application",
- [OC_DEVICE] = "device",
- [OC_DRICONF] = "driconf",
- [OC_OPTION] = "option",
-};
-
-/** \brief Parse attributes of a device element. */
-static void
-parseDeviceAttr(struct OptConfData *data, const XML_Char **attr)
-{
- uint32_t i;
- const XML_Char *driver = NULL, *screen = NULL;
- for (i = 0; attr[i]; i += 2) {
- if (!strcmp (attr[i], "driver")) driver = attr[i+1];
- else if (!strcmp (attr[i], "screen")) screen = attr[i+1];
- else XML_WARNING("unknown device attribute: %s.", attr[i]);
- }
- if (driver && strcmp (driver, data->driverName))
- data->ignoringDevice = data->inDevice;
- else if (screen) {
- driOptionValue screenNum;
- if (!parseValue (&screenNum, DRI_INT, screen))
- XML_WARNING("illegal screen number: %s.", screen);
- else if (screenNum._int != data->screenNum)
- data->ignoringDevice = data->inDevice;
- }
-}
-
-/** \brief Parse attributes of an application element. */
-static void
-parseAppAttr(struct OptConfData *data, const XML_Char **attr)
-{
- uint32_t i;
- const XML_Char *exec = NULL;
- for (i = 0; attr[i]; i += 2) {
- if (!strcmp (attr[i], "name")) /* not needed here */;
- else if (!strcmp (attr[i], "executable")) exec = attr[i+1];
- else XML_WARNING("unknown application attribute: %s.", attr[i]);
- }
- if (exec && strcmp (exec, data->execName))
- data->ignoringApp = data->inApp;
-}
-
-/** \brief Parse attributes of an option element. */
-static void
-parseOptConfAttr(struct OptConfData *data, const XML_Char **attr)
-{
- uint32_t i;
- const XML_Char *name = NULL, *value = NULL;
- for (i = 0; attr[i]; i += 2) {
- if (!strcmp (attr[i], "name")) name = attr[i+1];
- else if (!strcmp (attr[i], "value")) value = attr[i+1];
- else XML_WARNING("unknown option attribute: %s.", attr[i]);
- }
- if (!name) XML_WARNING1 ("name attribute missing in option.");
- if (!value) XML_WARNING1 ("value attribute missing in option.");
- if (name && value) {
- driOptionCache *cache = data->cache;
- uint32_t opt = findOption (cache, name);
- if (cache->info[opt].name == NULL)
- /* don't use XML_WARNING, drirc defines options for all drivers,
- * but not all drivers support them */
- return;
- else if (getenv (cache->info[opt].name))
- /* don't use XML_WARNING, we want the user to see this! */
- fprintf (stderr, "ATTENTION: option value of option %s ignored.\n",
- cache->info[opt].name);
- else if (!parseValue (&cache->values[opt], cache->info[opt].type, value))
- XML_WARNING ("illegal option value: %s.", value);
- }
-}
-
-/** \brief Handler for start element events. */
-static void
-optConfStartElem(void *userData, const XML_Char *name,
- const XML_Char **attr)
-{
- struct OptConfData *data = (struct OptConfData *)userData;
- enum OptConfElem elem = bsearchStr (name, OptConfElems, OC_COUNT);
- switch (elem) {
- case OC_DRICONF:
- if (data->inDriConf)
- XML_WARNING1 ("nested <driconf> elements.");
- if (attr[0])
- XML_WARNING1 ("attributes specified on <driconf> element.");
- data->inDriConf++;
- break;
- case OC_DEVICE:
- if (!data->inDriConf)
- XML_WARNING1 ("<device> should be inside <driconf>.");
- if (data->inDevice)
- XML_WARNING1 ("nested <device> elements.");
- data->inDevice++;
- if (!data->ignoringDevice && !data->ignoringApp)
- parseDeviceAttr (data, attr);
- break;
- case OC_APPLICATION:
- if (!data->inDevice)
- XML_WARNING1 ("<application> should be inside <device>.");
- if (data->inApp)
- XML_WARNING1 ("nested <application> elements.");
- data->inApp++;
- if (!data->ignoringDevice && !data->ignoringApp)
- parseAppAttr (data, attr);
- break;
- case OC_OPTION:
- if (!data->inApp)
- XML_WARNING1 ("<option> should be inside <application>.");
- if (data->inOption)
- XML_WARNING1 ("nested <option> elements.");
- data->inOption++;
- if (!data->ignoringDevice && !data->ignoringApp)
- parseOptConfAttr (data, attr);
- break;
- default:
- XML_WARNING ("unknown element: %s.", name);
- }
-}
-
-/** \brief Handler for end element events. */
-static void
-optConfEndElem(void *userData, const XML_Char *name)
-{
- struct OptConfData *data = (struct OptConfData *)userData;
- enum OptConfElem elem = bsearchStr (name, OptConfElems, OC_COUNT);
- switch (elem) {
- case OC_DRICONF:
- data->inDriConf--;
- break;
- case OC_DEVICE:
- if (data->inDevice-- == data->ignoringDevice)
- data->ignoringDevice = 0;
- break;
- case OC_APPLICATION:
- if (data->inApp-- == data->ignoringApp)
- data->ignoringApp = 0;
- break;
- case OC_OPTION:
- data->inOption--;
- break;
- default:
- /* unknown element, warning was produced on start tag */;
- }
-}
-
-/** \brief Initialize an option cache based on info */
-static void
-initOptionCache(driOptionCache *cache, const driOptionCache *info)
-{
- unsigned i, size = 1 << info->tableSize;
- cache->info = info->info;
- cache->tableSize = info->tableSize;
- cache->values = malloc((1<<info->tableSize) * sizeof (driOptionValue));
- if (cache->values == NULL) {
- fprintf (stderr, "%s: %d: out of memory.\n", __FILE__, __LINE__);
- abort();
- }
- memcpy (cache->values, info->values,
- (1<<info->tableSize) * sizeof (driOptionValue));
- for (i = 0; i < size; ++i) {
- if (cache->info[i].type == DRI_STRING)
- XSTRDUP(cache->values[i]._string, info->values[i]._string);
- }
-}
-
-/** \brief Parse the named configuration file */
-static void
-parseOneConfigFile(XML_Parser p)
-{
-#define BUF_SIZE 0x1000
- struct OptConfData *data = (struct OptConfData *)XML_GetUserData (p);
- int status;
- int fd;
-
- if ((fd = open (data->name, O_RDONLY)) == -1) {
- __driUtilMessage ("Can't open configuration file %s: %s.",
- data->name, strerror (errno));
- return;
- }
-
- while (1) {
- int bytesRead;
- void *buffer = XML_GetBuffer (p, BUF_SIZE);
- if (!buffer) {
- __driUtilMessage ("Can't allocate parser buffer.");
- break;
- }
- bytesRead = read (fd, buffer, BUF_SIZE);
- if (bytesRead == -1) {
- __driUtilMessage ("Error reading from configuration file %s: %s.",
- data->name, strerror (errno));
- break;
- }
- status = XML_ParseBuffer (p, bytesRead, bytesRead == 0);
- if (!status) {
- XML_ERROR ("%s.", XML_ErrorString(XML_GetErrorCode(p)));
- break;
- }
- if (bytesRead == 0)
- break;
- }
-
- close (fd);
-#undef BUF_SIZE
-}
-
-#ifndef SYSCONFDIR
-#define SYSCONFDIR "/etc"
-#endif
-
-void
-driParseConfigFiles(driOptionCache *cache, const driOptionCache *info,
- int screenNum, const char *driverName)
-{
- char *filenames[2] = { SYSCONFDIR "/drirc", NULL};
- char *home;
- uint32_t i;
- struct OptConfData userData;
-
- initOptionCache (cache, info);
-
- userData.cache = cache;
- userData.screenNum = screenNum;
- userData.driverName = driverName;
- userData.execName = GET_PROGRAM_NAME();
-
- if ((home = getenv ("HOME"))) {
- uint32_t len = strlen (home);
- filenames[1] = malloc(len + 7+1);
- if (filenames[1] == NULL)
- __driUtilMessage ("Can't allocate memory for %s/.drirc.", home);
- else {
- memcpy (filenames[1], home, len);
- memcpy (filenames[1] + len, "/.drirc", 7+1);
- }
- }
-
- for (i = 0; i < 2; ++i) {
- XML_Parser p;
- if (filenames[i] == NULL)
- continue;
-
- p = XML_ParserCreate (NULL); /* use encoding specified by file */
- XML_SetElementHandler (p, optConfStartElem, optConfEndElem);
- XML_SetUserData (p, &userData);
- userData.parser = p;
- userData.name = filenames[i];
- userData.ignoringDevice = 0;
- userData.ignoringApp = 0;
- userData.inDriConf = 0;
- userData.inDevice = 0;
- userData.inApp = 0;
- userData.inOption = 0;
-
- parseOneConfigFile (p);
- XML_ParserFree (p);
- }
-
- free(filenames[1]);
-}
-
-void
-driDestroyOptionInfo(driOptionCache *info)
-{
- driDestroyOptionCache(info);
- if (info->info) {
- uint32_t i, size = 1 << info->tableSize;
- for (i = 0; i < size; ++i) {
- if (info->info[i].name) {
- free(info->info[i].name);
- free(info->info[i].ranges);
- }
- }
- free(info->info);
- }
-}
-
-void
-driDestroyOptionCache(driOptionCache *cache)
-{
- if (cache->info) {
- unsigned i, size = 1 << cache->tableSize;
- for (i = 0; i < size; ++i) {
- if (cache->info[i].type == DRI_STRING)
- free(cache->values[i]._string);
- }
- }
- free(cache->values);
-}
-
-unsigned char
-driCheckOption(const driOptionCache *cache, const char *name,
- driOptionType type)
-{
- uint32_t i = findOption (cache, name);
- return cache->info[i].name != NULL && cache->info[i].type == type;
-}
-
-unsigned char
-driQueryOptionb(const driOptionCache *cache, const char *name)
-{
- uint32_t i = findOption (cache, name);
- /* make sure the option is defined and has the correct type */
- assert (cache->info[i].name != NULL);
- assert (cache->info[i].type == DRI_BOOL);
- return cache->values[i]._bool;
-}
-
-int
-driQueryOptioni(const driOptionCache *cache, const char *name)
-{
- uint32_t i = findOption (cache, name);
- /* make sure the option is defined and has the correct type */
- assert (cache->info[i].name != NULL);
- assert (cache->info[i].type == DRI_INT || cache->info[i].type == DRI_ENUM);
- return cache->values[i]._int;
-}
-
-float
-driQueryOptionf(const driOptionCache *cache, const char *name)
-{
- uint32_t i = findOption (cache, name);
- /* make sure the option is defined and has the correct type */
- assert (cache->info[i].name != NULL);
- assert (cache->info[i].type == DRI_FLOAT);
- return cache->values[i]._float;
-}
-
-char *
-driQueryOptionstr(const driOptionCache *cache, const char *name)
-{
- uint32_t i = findOption (cache, name);
- /* make sure the option is defined and has the correct type */
- assert (cache->info[i].name != NULL);
- assert (cache->info[i].type == DRI_STRING);
- return cache->values[i]._string;
-}
diff --git a/src/mesa/drivers/dri/common/xmlconfig.h b/src/mesa/drivers/dri/common/xmlconfig.h
deleted file mode 100644
index 77aa14c20e0..00000000000
--- a/src/mesa/drivers/dri/common/xmlconfig.h
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * XML DRI client-side driver configuration
- * Copyright (C) 2003 Felix Kuehling
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * FELIX KUEHLING, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
- * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-/**
- * \file xmlconfig.h
- * \brief Driver-independent client-side part of the XML configuration
- * \author Felix Kuehling
- */
-
-#ifndef __XMLCONFIG_H
-#define __XMLCONFIG_H
-
-#include "util/mesa-sha1.h"
-#include "util/ralloc.h"
-
-#define STRING_CONF_MAXLEN 25
-
-/** \brief Option data types */
-typedef enum driOptionType {
- DRI_BOOL, DRI_ENUM, DRI_INT, DRI_FLOAT, DRI_STRING
-} driOptionType;
-
-/** \brief Option value */
-typedef union driOptionValue {
- unsigned char _bool; /**< \brief Boolean */
- int _int; /**< \brief Integer or Enum */
- float _float; /**< \brief Floating-point */
- char *_string; /**< \brief String */
-} driOptionValue;
-
-/** \brief Single range of valid values
- *
- * For empty ranges (a single value) start == end */
-typedef struct driOptionRange {
- driOptionValue start; /**< \brief Start */
- driOptionValue end; /**< \brief End */
-} driOptionRange;
-
-/** \brief Information about an option */
-typedef struct driOptionInfo {
- char *name; /**< \brief Name */
- driOptionType type; /**< \brief Type */
- driOptionRange *ranges; /**< \brief Array of ranges */
- unsigned int nRanges; /**< \brief Number of ranges */
-} driOptionInfo;
-
-/** \brief Option cache
- *
- * \li One in <driver>Screen caching option info and the default values
- * \li One in each <driver>Context with the actual values for that context */
-typedef struct driOptionCache {
- driOptionInfo *info;
- /**< \brief Array of option infos
- *
- * Points to the same array in the screen and all contexts */
- driOptionValue *values;
- /**< \brief Array of option values
- *
- * \li Default values in screen
- * \li Actual values in contexts
- */
- unsigned int tableSize;
- /**< \brief Size of the arrays
- *
- * In the current implementation it's not actually a size but log2(size).
- * The value is the same in the screen and all contexts. */
-} driOptionCache;
-
-/** \brief Parse XML option info from configOptions
- *
- * To be called in <driver>CreateScreen
- *
- * \param info pointer to a driOptionCache that will store the option info
- * \param configOptions XML document describing available configuration opts
- *
- * For the option information to be available to external configuration tools
- * it must be a public symbol __driConfigOptions. It is also passed as a
- * parameter to driParseOptionInfo in order to avoid driver-independent code
- * depending on symbols in driver-specific code. */
-void driParseOptionInfo (driOptionCache *info,
- const char *configOptions);
-/** \brief Initialize option cache from info and parse configuration files
- *
- * To be called in <driver>CreateContext. screenNum and driverName select
- * device sections. */
-void driParseConfigFiles (driOptionCache *cache, const driOptionCache *info,
- int screenNum, const char *driverName);
-/** \brief Destroy option info
- *
- * To be called in <driver>DestroyScreen */
-void driDestroyOptionInfo (driOptionCache *info);
-/** \brief Destroy option cache
- *
- * To be called in <driver>DestroyContext */
-void driDestroyOptionCache (driOptionCache *cache);
-
-/** \brief Check if there exists a certain option */
-unsigned char driCheckOption (const driOptionCache *cache, const char *name,
- driOptionType type);
-
-/** \brief Query a boolean option value */
-unsigned char driQueryOptionb (const driOptionCache *cache, const char *name);
-/** \brief Query an integer option value */
-int driQueryOptioni (const driOptionCache *cache, const char *name);
-/** \brief Query a floating-point option value */
-float driQueryOptionf (const driOptionCache *cache, const char *name);
-/** \brief Query a string option value */
-char *driQueryOptionstr (const driOptionCache *cache, const char *name);
-
-/**
- * Returns a hash of the options for this application.
- */
-static inline void
-driComputeOptionsSha1(const driOptionCache *cache, unsigned char *sha1)
-{
- void *ctx = ralloc_context(NULL);
- char *dri_options = ralloc_strdup(ctx, "");
-
- for (int i = 0; i < 1 << cache->tableSize; i++) {
- if (cache->info[i].name == NULL)
- continue;
-
- bool ret = false;
- switch (cache->info[i].type) {
- case DRI_BOOL:
- ret = ralloc_asprintf_append(&dri_options, "%s:%u,",
- cache->info[i].name,
- cache->values[i]._bool);
- break;
- case DRI_INT:
- case DRI_ENUM:
- ret = ralloc_asprintf_append(&dri_options, "%s:%d,",
- cache->info[i].name,
- cache->values[i]._int);
- break;
- case DRI_FLOAT:
- ret = ralloc_asprintf_append(&dri_options, "%s:%f,",
- cache->info[i].name,
- cache->values[i]._float);
- break;
- case DRI_STRING:
- ret = ralloc_asprintf_append(&dri_options, "%s:%s,",
- cache->info[i].name,
- cache->values[i]._string);
- break;
- default:
- unreachable("unsupported dri config type!");
- }
-
- if (!ret) {
- break;
- }
- }
-
- _mesa_sha1_compute(dri_options, strlen(dri_options), sha1);
- ralloc_free(ctx);
-}
-
-#endif
diff --git a/src/mesa/drivers/dri/common/xmlpool.h b/src/mesa/drivers/dri/common/xmlpool.h
deleted file mode 100644
index ebd4e7c863a..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * XML DRI client-side driver configuration
- * Copyright (C) 2003 Felix Kuehling
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * FELIX KUEHLING, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
- * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-/**
- * \file xmlpool.h
- * \brief Pool of common options
- * \author Felix Kuehling
- *
- * This file defines macros that can be used to construct
- * driConfigOptions in the drivers. Common options are defined in
- * xmlpool/t_options.h from which xmlpool/options.h is generated with
- * translations. This file defines generic helper macros and includes
- * xmlpool/options.h.
- */
-
-#ifndef __XMLPOOL_H
-#define __XMLPOOL_H
-
-/*
- * generic macros
- */
-
-/** \brief Begin __driConfigOptions */
-#define DRI_CONF_BEGIN \
-"<driinfo>\n"
-
-/** \brief End __driConfigOptions */
-#define DRI_CONF_END \
-"</driinfo>\n"
-
-/** \brief Begin a section of related options */
-#define DRI_CONF_SECTION_BEGIN \
-"<section>\n"
-
-/** \brief End a section of related options */
-#define DRI_CONF_SECTION_END \
-"</section>\n"
-
-/** \brief Begin an option definition */
-#define DRI_CONF_OPT_BEGIN(name,type,def) \
-"<option name=\""#name"\" type=\""#type"\" default=\""#def"\">\n"
-
-/**
- * \brief Begin a boolean option definition, with the default value passed in
- * as a string
- */
-#define DRI_CONF_OPT_BEGIN_B(name,def) \
-"<option name=\""#name"\" type=\"bool\" default="#def">\n"
-
-/** \brief Begin an option definition with quoted default value */
-#define DRI_CONF_OPT_BEGIN_Q(name,type,def) \
-"<option name=\""#name"\" type=\""#type"\" default="#def">\n"
-
-/** \brief Begin an option definition with restrictions on valid values */
-#define DRI_CONF_OPT_BEGIN_V(name,type,def,valid) \
-"<option name=\""#name"\" type=\""#type"\" default=\""#def"\" valid=\""valid"\">\n"
-
-/** \brief End an option description */
-#define DRI_CONF_OPT_END \
-"</option>\n"
-
-/** \brief A verbal description in a specified language (empty version) */
-#define DRI_CONF_DESC(lang,text) \
-"<description lang=\""#lang"\" text=\""text"\"/>\n"
-
-/** \brief A verbal description in a specified language */
-#define DRI_CONF_DESC_BEGIN(lang,text) \
-"<description lang=\""#lang"\" text=\""text"\">\n"
-
-/** \brief End a description */
-#define DRI_CONF_DESC_END \
-"</description>\n"
-
-/** \brief A verbal description of an enum value */
-#define DRI_CONF_ENUM(value,text) \
-"<enum value=\""#value"\" text=\""text"\"/>\n"
-
-
-/*
- * Predefined option sections and options with multi-lingual descriptions
- * are now automatically generated.
- */
-#include "xmlpool/options.h"
-
-#endif
diff --git a/src/mesa/drivers/dri/common/xmlpool/.gitignore b/src/mesa/drivers/dri/common/xmlpool/.gitignore
deleted file mode 100644
index 383df727a17..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-ca
-de
-es
-fr
-nl
-sv
-options.h
-xmlpool.pot
diff --git a/src/mesa/drivers/dri/common/xmlpool/Makefile.am b/src/mesa/drivers/dri/common/xmlpool/Makefile.am
deleted file mode 100644
index dfd8fb8dc6d..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool/Makefile.am
+++ /dev/null
@@ -1,101 +0,0 @@
-# Convenient makefile for managing translations.
-
-# Prerequisites:
-# - GNU gettext
-# - Python
-
-# Adding new translations
-# -----------------------
-
-# To start working on a new translation edit the POS=... line
-# below. If you want to add for example a french translation, add
-# fr.po.
-
-# Then run "make po" to generate a fresh .po file from translatable
-# strings in t_options.h. Now you can edit the new .po file (fr.po in
-# the example above) to translate the strings. Please make sure that
-# your editor encodes the file in UTF-8.
-
-# Updating existing translations
-# ------------------------------
-
-# Run "make po" to update .po files with new translatable strings from
-# t_options.h. Now you can edit the .po files you're interested
-# in. Please make sure that your editor encodes the file in UTF-8.
-
-# Updating options.h
-# ------------------
-
-# Finally run "make" to generate options.h from t_options.h with all
-# translations. Now you can rebuild the drivers. Any common options
-# used by the drivers will have option descriptions with the latest
-# translations.
-
-# Publishing translations
-# -----------------------
-
-# To get your translation(s) into Mesa CVS, please send me your
-# <lang>.po file.
-
-# More information:
-# - info gettext
-
-# The set of supported languages. Add languages as needed.
-POS=ca.po de.po es.po nl.po fr.po sv.po
-
-#
-# Don't change anything below, unless you know what you're doing.
-#
-LANGS=$(POS:%.po=%)
-MOS=$(POS:%.po=%/LC_MESSAGES/options.mo)
-POT=xmlpool.pot
-
-.PHONY: all clean pot po mo
-
-EXTRA_DIST = \
- gen_xmlpool.py \
- options.h \
- t_options.h \
- $(POS) \
- $(MOS) \
- SConscript
-
-BUILT_SOURCES = options.h
-CLEANFILES = \
- options.h
- $(POS) \
- $(MOS)
-
-# Default target options.h
-LOCALEDIR := .
-options.h: t_options.h $(MOS)
- $(AM_V_GEN) $(PYTHON2) $(PYTHON_FLAGS) $(srcdir)/gen_xmlpool.py $(srcdir)/t_options.h $(LOCALEDIR) $(LANGS) > options.h
-
-# Update .mo files from the corresponding .po files.
-%/LC_MESSAGES/options.mo: %.po
- @mo="$@"; \
- lang=$${mo%%/*}; \
- echo "Updating ($$lang) $@ from $?."; \
- $(MKDIR_P) $$lang/LC_MESSAGES; \
- msgfmt -o $@ $?
-
-# Use this target to create or update .po files with new messages in
-# driconf.py.
-po: $(POT)
- @for po in $(POS); do \
- if [ -f $$po ]; then \
- echo "Merging new strings from $(POT) into $@."; \
- mv $$po $$po~; \
- msgmerge -o $$po $$po~ $(POT); \
- else \
- echo "Initializing $$po from $(POT)."; \
- msginit -i $(POT) -o $$po~ --locale=$*; \
- sed -e 's/charset=.*\\n/charset=UTF-8\\n/' $$po~ > $$po; \
- fi \
- done
-
-pot: $(POT)
-
-# Extract message catalog from driconf.py.
-$(POT): t_options.h
- xgettext -L C --from-code utf-8 -o $(POT) t_options.h
diff --git a/src/mesa/drivers/dri/common/xmlpool/SConscript b/src/mesa/drivers/dri/common/xmlpool/SConscript
deleted file mode 100644
index fa42554d3a5..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool/SConscript
+++ /dev/null
@@ -1,14 +0,0 @@
-Import('*')
-
-from sys import executable as python_cmd
-
-LOCALEDIR = env.Dir('.').srcnode().abspath
-
-xmlpool_options, = env.CodeGenerate(
- target = 'options.h',
- script = 'gen_xmlpool.py',
- source = ['t_options.h'],
- command = python_cmd + ' $SCRIPT $SOURCE ' + LOCALEDIR + ' > $TARGET'
-)
-
-Export('xmlpool_options')
diff --git a/src/mesa/drivers/dri/common/xmlpool/ca.po b/src/mesa/drivers/dri/common/xmlpool/ca.po
deleted file mode 100644
index 03bf29613fc..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool/ca.po
+++ /dev/null
@@ -1,348 +0,0 @@
-# Language translations for Mesa package
-# Traduccions al català del paquet «Mesa».
-#
-# Copyright © 2014 Alex Henrie <[email protected]>
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the "Software"),
-# to deal in the Software without restriction, including without limitation
-# the rights to use, copy, modify, merge, publish, distribute, sublicense,
-# and/or sell copies of the Software, and to permit persons to whom the
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice (including the next
-# paragraph) shall be included in all copies or substantial portions of the
-# Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-msgid ""
-msgstr ""
-"Project-Id-Version: Mesa 10.1.0-devel\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-07 02:08-0700\n"
-"PO-Revision-Date: 2015-02-23 14:28-0700\n"
-"Last-Translator: Alex Henrie <[email protected]>\n"
-"Language-Team: Catalan <[email protected]>\n"
-"Language: ca\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 1.7.4\n"
-
-#: t_options.h:56
-msgid "Debugging"
-msgstr "Depuració"
-
-#: t_options.h:60
-msgid "Disable 3D acceleration"
-msgstr "Deshabilita l'acceleració 3D"
-
-#: t_options.h:65
-msgid "Show performance boxes"
-msgstr "Mostra les caixes de rendiment"
-
-#: t_options.h:70
-msgid "Enable flushing batchbuffer after each draw call"
-msgstr "Habilita el buidatge del batchbuffer després de cada trucada de dibuix"
-
-#: t_options.h:75
-msgid "Enable flushing GPU caches with each draw call"
-msgstr ""
-"Habilita el buidatge de les memòries cau de GPU amb cada trucada de dibuix"
-
-#: t_options.h:80
-msgid "Disable throttling on first batch after flush"
-msgstr "Deshabilita la regulació en el primer lot després de buidar"
-
-#: t_options.h:85
-msgid "Force GLSL extension default behavior to 'warn'"
-msgstr ""
-"Força que el comportament per defecte de les extensions GLSL sigui 'warn'"
-
-#: t_options.h:90
-msgid "Disable dual source blending"
-msgstr "Deshabilita la barreja de font dual"
-
-#: t_options.h:95
-msgid "Disable backslash-based line continuations in GLSL source"
-msgstr ""
-"Deshabilita les continuacions de línia basades en barra invertida en la font "
-"GLSL"
-
-#: t_options.h:100
-msgid "Disable GL_ARB_shader_bit_encoding"
-msgstr "Deshabilita el GL_ARB_shader_bit_encoding"
-
-#: t_options.h:105
-msgid ""
-"Force a default GLSL version for shaders that lack an explicit #version line"
-msgstr ""
-"Força una versió GLSL per defecte en els shaders als quals lis manca una "
-"línia #version explícita"
-
-#: t_options.h:110
-msgid "Allow GLSL #extension directives in the middle of shaders"
-msgstr "Permet les directives #extension GLSL en el mitjà dels shaders"
-
-#: t_options.h:120
-msgid "Image Quality"
-msgstr "Qualitat d'imatge"
-
-#: t_options.h:133
-msgid "Texture color depth"
-msgstr "Profunditat de color de textura"
-
-#: t_options.h:134
-msgid "Prefer frame buffer color depth"
-msgstr "Prefereix profunditat de color del framebuffer"
-
-#: t_options.h:135
-msgid "Prefer 32 bits per texel"
-msgstr "Prefereix 32 bits per texel"
-
-#: t_options.h:136
-msgid "Prefer 16 bits per texel"
-msgstr "Prefereix 16 bits per texel"
-
-#: t_options.h:137
-msgid "Force 16 bits per texel"
-msgstr "Força 16 bits per texel"
-
-#: t_options.h:143
-msgid "Initial maximum value for anisotropic texture filtering"
-msgstr "Valor màxim inicial per a la filtració de textura anisòtropa"
-
-#: t_options.h:148
-msgid "Forbid negative texture LOD bias"
-msgstr ""
-"Prohibeix una parcialitat negativa del Nivell de Detalle (LOD) de les "
-"textures"
-
-#: t_options.h:153
-msgid ""
-"Enable S3TC texture compression even if software support is not available"
-msgstr ""
-"Habilita la compressió de textures S3TC encara que el suport de programari "
-"no estigui disponible"
-
-#: t_options.h:160
-msgid "Initial color reduction method"
-msgstr "Mètode inicial de reducció de color"
-
-#: t_options.h:161
-msgid "Round colors"
-msgstr "Colors arrodonits"
-
-#: t_options.h:162
-msgid "Dither colors"
-msgstr "Colors tramats"
-
-#: t_options.h:170
-msgid "Color rounding method"
-msgstr "Mètode d'arrodoniment de color"
-
-#: t_options.h:171
-msgid "Round color components downward"
-msgstr "Arrodoneix els components de color a baix"
-
-#: t_options.h:172
-msgid "Round to nearest color"
-msgstr "Arrodoneix al color més proper"
-
-#: t_options.h:181
-msgid "Color dithering method"
-msgstr "Mètode de tramat de color"
-
-#: t_options.h:182
-msgid "Horizontal error diffusion"
-msgstr "Difusió d'error horitzontal"
-
-#: t_options.h:183
-msgid "Horizontal error diffusion, reset error at line start"
-msgstr "Difusió d'error horitzontal, reinicia l'error a l'inici de la línia"
-
-#: t_options.h:184
-msgid "Ordered 2D color dithering"
-msgstr "Tramat de color 2D ordenat"
-
-#: t_options.h:190
-msgid "Floating point depth buffer"
-msgstr "Buffer de profunditat de punt flotant"
-
-#: t_options.h:195
-msgid "A post-processing filter to cel-shade the output"
-msgstr "Un filtre de postprocessament per a aplicar cel shading a la sortida"
-
-#: t_options.h:200
-msgid "A post-processing filter to remove the red channel"
-msgstr "Un filtre de postprocessament per a eliminar el canal vermell"
-
-#: t_options.h:205
-msgid "A post-processing filter to remove the green channel"
-msgstr "Un filtre de postprocessament per a eliminar el canal verd"
-
-#: t_options.h:210
-msgid "A post-processing filter to remove the blue channel"
-msgstr "Un filtre de postprocessament per a eliminar el canal blau"
-
-#: t_options.h:215
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality"
-msgstr ""
-"Antialiàsing morfològic basat en el MLAA de Jimenez. 0 per deshabilitar, 8 "
-"per qualitat per defecte"
-
-#: t_options.h:220
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality. Color version, usable with 2d GL apps"
-msgstr ""
-"Antialiàsing morfològic basat en el MLAA de Jimenez. 0 per deshabilitar, 8 "
-"per qualitat per defecte. Versió en color, utilitzable amb les aplicacions "
-"GL 2D"
-
-#: t_options.h:230
-msgid "Performance"
-msgstr "Rendiment"
-
-#: t_options.h:238
-msgid "TCL mode (Transformation, Clipping, Lighting)"
-msgstr "Mode TCL (Transformació, Retall, Il·luminació)"
-
-#: t_options.h:239
-msgid "Use software TCL pipeline"
-msgstr "Utilitza la canonada TCL de programari"
-
-#: t_options.h:240
-msgid "Use hardware TCL as first TCL pipeline stage"
-msgstr "Utilitza el TCL de maquinari com a la primera fase de la canonada TCL"
-
-#: t_options.h:241
-msgid "Bypass the TCL pipeline"
-msgstr "Passa per alt la canonada TCL"
-
-#: t_options.h:242
-msgid ""
-"Bypass the TCL pipeline with state-based machine code generated on-the-fly"
-msgstr ""
-"Passa per alt la canonada TCL amb codi de màquina basat en estats, generat "
-"sobre la marxa"
-
-#: t_options.h:251
-msgid "Method to limit rendering latency"
-msgstr "Mètode per a limitar la latència de renderització"
-
-#: t_options.h:252
-msgid "Busy waiting for the graphics hardware"
-msgstr "Espera activa pel maquinari de gràfics"
-
-#: t_options.h:253
-msgid "Sleep for brief intervals while waiting for the graphics hardware"
-msgstr "Dorm per intervals breus mentre s'espera al maquinari de gràfics"
-
-#: t_options.h:254
-msgid "Let the graphics hardware emit a software interrupt and sleep"
-msgstr ""
-"Deixa que el maquinari de gràfics emeti una interrupció de programari i dormi"
-
-#: t_options.h:264
-msgid "Synchronization with vertical refresh (swap intervals)"
-msgstr "Sincronització amb refresc vertical (intervals d'intercanvi)"
-
-#: t_options.h:265
-msgid "Never synchronize with vertical refresh, ignore application's choice"
-msgstr ""
-"Mai sincronitzis amb el refresc vertical, ignora l'elecció de l'aplicació"
-
-#: t_options.h:266
-msgid "Initial swap interval 0, obey application's choice"
-msgstr "Interval d'intercanvi inicial 0, obeeix l'elecció de l'aplicació"
-
-#: t_options.h:267
-msgid "Initial swap interval 1, obey application's choice"
-msgstr "Interval d'intercanvi inicial 1, obeeix l'elecció de l'aplicació"
-
-#: t_options.h:268
-msgid ""
-"Always synchronize with vertical refresh, application chooses the minimum "
-"swap interval"
-msgstr ""
-"Sempre sincronitza amb el refresc vertical, l'aplicació tria l'interval "
-"mínim d'intercanvi"
-
-#: t_options.h:276
-msgid "Use HyperZ to boost performance"
-msgstr "Utilitza el HyperZ per a augmentar el rendiment"
-
-#: t_options.h:281
-msgid "Number of texture units used"
-msgstr "Nombre d'unitats de textura utilitzades"
-
-#: t_options.h:286
-msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering"
-msgstr ""
-"Qualitat vs. velocitat de filtració de textura, àlies filtració \"brilinear"
-"\" de textura"
-
-#: t_options.h:294
-msgid "Used types of texture memory"
-msgstr "Tipus utilitzats de memòria de textura"
-
-#: t_options.h:295
-msgid "All available memory"
-msgstr "Tota la memòria disponible"
-
-#: t_options.h:296
-msgid "Only card memory (if available)"
-msgstr "Només memòria de targeta (si està disponible)"
-
-#: t_options.h:297
-msgid "Only GART (AGP/PCIE) memory (if available)"
-msgstr "Només memòria GART (AGP/PCIE) (si està disponible)"
-
-#: t_options.h:309
-msgid "Features that are not hardware-accelerated"
-msgstr "Característiques no accelerades per maquinari"
-
-#: t_options.h:313
-msgid "Enable extension GL_ARB_vertex_program"
-msgstr "Habilita l'extensió GL_ARB_vertex_program"
-
-#: t_options.h:323
-msgid "Miscellaneous"
-msgstr "Miscel·lània"
-
-#: t_options.h:327
-msgid "Create all visuals with a depth buffer"
-msgstr "Crea tots els visuals amb buffer de profunditat"
-
-#: t_options.h:337
-msgid "Initialization"
-msgstr "Inicialització"
-
-#: t_options.h:341
-msgid "Define the graphic device to use if possible"
-msgstr "Defineix el dispositiu de gràfics que utilitzar si és possible"
-
-#: t_options.h:350
-msgid "Gallium Nine"
-msgstr "Gallium Nine"
-
-#: t_options.h:354
-msgid ""
-"Define the throttling value. -1 for no throttling, -2 for default (usually "
-"2), 0 for glfinish behaviour"
-msgstr ""
-"Defineix el valor de regulació. -1 per a no regular, -2 per al predeterminat "
-"(generalment 2), 0 per al comportament de glfinish"
-
-#: t_options.h:359
-msgid "Use an additional thread to submit buffers."
-msgstr "Utilitza un fil addicional per a entregar els buffers."
diff --git a/src/mesa/drivers/dri/common/xmlpool/de.po b/src/mesa/drivers/dri/common/xmlpool/de.po
deleted file mode 100644
index 7b20d00a62c..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool/de.po
+++ /dev/null
@@ -1,320 +0,0 @@
-# German translations for DRI driver options.
-# Copyright (C) 2005 Felix Kuehling
-# This file is distributed under the same license as the Mesa package.
-# Felix Kuehling <[email protected]>, 2005.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Mesa 6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-25 22:29-0600\n"
-"PO-Revision-Date: 2005-04-11 01:34+0200\n"
-"Last-Translator: Felix Kuehling <[email protected]>\n"
-"Language-Team: German <[email protected]>\n"
-"Language: de\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: t_options.h:56
-msgid "Debugging"
-msgstr "Fehlersuche"
-
-#: t_options.h:60
-msgid "Disable 3D acceleration"
-msgstr "3D-Beschleunigung abschalten"
-
-#: t_options.h:65
-msgid "Show performance boxes"
-msgstr "Zeige Performanceboxen"
-
-#: t_options.h:70
-msgid "Enable flushing batchbuffer after each draw call"
-msgstr "Aktiviere sofortige Leerung des Stapelpuffers nach jedem Zeichenaufruf"
-
-#: t_options.h:75
-msgid "Enable flushing GPU caches with each draw call"
-msgstr ""
-"Aktiviere sofortige Leerung der GPU-Zwischenspeicher mit jedem Zeichenaufruf"
-
-#: t_options.h:80
-msgid "Disable throttling on first batch after flush"
-msgstr ""
-
-#: t_options.h:85
-msgid "Force GLSL extension default behavior to 'warn'"
-msgstr ""
-
-#: t_options.h:90
-msgid "Disable dual source blending"
-msgstr ""
-
-#: t_options.h:95
-msgid "Disable backslash-based line continuations in GLSL source"
-msgstr ""
-
-#: t_options.h:100
-msgid "Disable GL_ARB_shader_bit_encoding"
-msgstr ""
-
-#: t_options.h:105
-msgid ""
-"Force a default GLSL version for shaders that lack an explicit #version line"
-msgstr ""
-
-#: t_options.h:110
-msgid "Allow GLSL #extension directives in the middle of shaders"
-msgstr ""
-
-#: t_options.h:120
-msgid "Image Quality"
-msgstr "Bildqualität"
-
-#: t_options.h:133
-msgid "Texture color depth"
-msgstr "Texturfarbtiefe"
-
-#: t_options.h:134
-msgid "Prefer frame buffer color depth"
-msgstr "Bevorzuge Farbtiefe des Framebuffers"
-
-#: t_options.h:135
-msgid "Prefer 32 bits per texel"
-msgstr "Bevorzuge 32 bits pro Texel"
-
-#: t_options.h:136
-msgid "Prefer 16 bits per texel"
-msgstr "Bevorzuge 16 bits pro Texel"
-
-#: t_options.h:137
-msgid "Force 16 bits per texel"
-msgstr "Erzwinge 16 bits pro Texel"
-
-#: t_options.h:143
-msgid "Initial maximum value for anisotropic texture filtering"
-msgstr "Initialer Maximalwert für anisotropische Texturfilterung"
-
-#: t_options.h:148
-msgid "Forbid negative texture LOD bias"
-msgstr "Verbiete negative Textur-Detailgradverschiebung"
-
-#: t_options.h:153
-msgid ""
-"Enable S3TC texture compression even if software support is not available"
-msgstr ""
-"Aktiviere S3TC Texturkomprimierung auch wenn die nötige "
-"Softwareunterstützung fehlt"
-
-#: t_options.h:160
-msgid "Initial color reduction method"
-msgstr "Initiale Farbreduktionsmethode"
-
-#: t_options.h:161
-msgid "Round colors"
-msgstr "Farben runden"
-
-#: t_options.h:162
-msgid "Dither colors"
-msgstr "Farben rastern"
-
-#: t_options.h:170
-msgid "Color rounding method"
-msgstr "Farbrundungsmethode"
-
-#: t_options.h:171
-msgid "Round color components downward"
-msgstr "Farbkomponenten abrunden"
-
-#: t_options.h:172
-msgid "Round to nearest color"
-msgstr "Zur ähnlichsten Farbe runden"
-
-#: t_options.h:181
-msgid "Color dithering method"
-msgstr "Farbrasterungsmethode"
-
-#: t_options.h:182
-msgid "Horizontal error diffusion"
-msgstr "Horizontale Fehlerstreuung"
-
-#: t_options.h:183
-msgid "Horizontal error diffusion, reset error at line start"
-msgstr "Horizontale Fehlerstreuung, Fehler am Zeilenanfang zurücksetzen"
-
-#: t_options.h:184
-msgid "Ordered 2D color dithering"
-msgstr "Geordnete 2D Farbrasterung"
-
-#: t_options.h:190
-msgid "Floating point depth buffer"
-msgstr "Fließkomma z-Puffer"
-
-#: t_options.h:195
-msgid "A post-processing filter to cel-shade the output"
-msgstr "Nachbearbeitungsfilter für Cell Shading"
-
-#: t_options.h:200
-msgid "A post-processing filter to remove the red channel"
-msgstr "Nachbearbeitungsfilter zum Entfernen des Rotkanals"
-
-#: t_options.h:205
-msgid "A post-processing filter to remove the green channel"
-msgstr "Nachbearbeitungsfilter zum Entfernen des Grünkanals"
-
-#: t_options.h:210
-msgid "A post-processing filter to remove the blue channel"
-msgstr "Nachbearbeitungsfilter zum Entfernen des Blaukanals"
-
-#: t_options.h:215
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality"
-msgstr ""
-"Morphologische Kantenglättung (Anti-Aliasing) basierend auf Jimenez' MLAA. 0 "
-"für deaktiviert, 8 für Standardqualität"
-
-#: t_options.h:220
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality. Color version, usable with 2d GL apps"
-msgstr ""
-"Morphologische Kantenglättung (Anti-Aliasing) basierend auf Jimenez' MLAA. 0 "
-"für deaktiviert, 8 für Standardqualität. Farbversion, für 2D-Anwendungen"
-
-#: t_options.h:230
-msgid "Performance"
-msgstr "Leistung"
-
-#: t_options.h:238
-msgid "TCL mode (Transformation, Clipping, Lighting)"
-msgstr "TCL-Modus (Transformation, Clipping, Licht)"
-
-#: t_options.h:239
-msgid "Use software TCL pipeline"
-msgstr "Benutze die Software-TCL-Pipeline"
-
-#: t_options.h:240
-msgid "Use hardware TCL as first TCL pipeline stage"
-msgstr "Benutze Hardware TCL als erste Stufe der TCL-Pipeline"
-
-#: t_options.h:241
-msgid "Bypass the TCL pipeline"
-msgstr "Umgehe die TCL-Pipeline"
-
-#: t_options.h:242
-msgid ""
-"Bypass the TCL pipeline with state-based machine code generated on-the-fly"
-msgstr ""
-"Umgehe die TCL-Pipeline mit zur Laufzeit erzeugtem, zustandsbasiertem "
-"Maschinencode"
-
-#: t_options.h:251
-msgid "Method to limit rendering latency"
-msgstr "Methode zur Begrenzung der Bildverzögerung"
-
-#: t_options.h:252
-msgid "Busy waiting for the graphics hardware"
-msgstr "Aktives Warten auf die Grafikhardware"
-
-#: t_options.h:253
-msgid "Sleep for brief intervals while waiting for the graphics hardware"
-msgstr "Kurze Schlafintervalle beim Warten auf die Grafikhardware"
-
-#: t_options.h:254
-msgid "Let the graphics hardware emit a software interrupt and sleep"
-msgstr ""
-"Die Grafikhardware eine Softwareunterbrechnung erzeugen lassen und schlafen"
-
-#: t_options.h:264
-msgid "Synchronization with vertical refresh (swap intervals)"
-msgstr "Synchronisation mit der vertikalen Bildwiederholung"
-
-#: t_options.h:265
-msgid "Never synchronize with vertical refresh, ignore application's choice"
-msgstr ""
-"Niemals mit der Bildwiederholung synchronisieren, Anweisungen der Anwendung "
-"ignorieren"
-
-#: t_options.h:266
-msgid "Initial swap interval 0, obey application's choice"
-msgstr "Initiales Bildinterval 0, Anweisungen der Anwendung gehorchen"
-
-#: t_options.h:267
-msgid "Initial swap interval 1, obey application's choice"
-msgstr "Initiales Bildinterval 1, Anweisungen der Anwendung gehorchen"
-
-#: t_options.h:268
-msgid ""
-"Always synchronize with vertical refresh, application chooses the minimum "
-"swap interval"
-msgstr ""
-"Immer mit der Bildwiederholung synchronisieren, Anwendung wählt das minimale "
-"Bildintervall"
-
-#: t_options.h:276
-msgid "Use HyperZ to boost performance"
-msgstr "HyperZ zur Leistungssteigerung verwenden"
-
-#: t_options.h:281
-msgid "Number of texture units used"
-msgstr "Anzahl der benutzten Textureinheiten"
-
-#: t_options.h:286
-msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering"
-msgstr ""
-"Texturfilterqualität versus -geschwindigkeit, auch bekannt als „brilineare“ "
-"Texturfilterung"
-
-#: t_options.h:294
-msgid "Used types of texture memory"
-msgstr "Benutzte Arten von Texturspeicher"
-
-#: t_options.h:295
-msgid "All available memory"
-msgstr "Aller verfügbarer Speicher"
-
-#: t_options.h:296
-msgid "Only card memory (if available)"
-msgstr "Nur Grafikspeicher (falls verfügbar)"
-
-#: t_options.h:297
-msgid "Only GART (AGP/PCIE) memory (if available)"
-msgstr "Nur GART-Speicher (AGP/PCIE) (falls verfügbar)"
-
-#: t_options.h:309
-msgid "Features that are not hardware-accelerated"
-msgstr "Funktionalität, die nicht hardwarebeschleunigt ist"
-
-#: t_options.h:313
-msgid "Enable extension GL_ARB_vertex_program"
-msgstr "Erweiterung GL_ARB_vertex_program aktivieren"
-
-#: t_options.h:323
-msgid "Miscellaneous"
-msgstr ""
-
-#: t_options.h:327
-msgid "Create all visuals with a depth buffer"
-msgstr ""
-
-#: t_options.h:337
-msgid "Initialization"
-msgstr ""
-
-#: t_options.h:341
-msgid "Define the graphic device to use if possible"
-msgstr ""
-
-#~ msgid "Support larger textures not guaranteed to fit into graphics memory"
-#~ msgstr ""
-#~ "Unterstütze grosse Texturen die evtl. nicht in den Grafikspeicher passen"
-
-#~ msgid "No"
-#~ msgstr "Nein"
-
-#~ msgid "At least 1 texture must fit under worst-case assumptions"
-#~ msgstr "Mindestens 1 Textur muss auch im schlechtesten Fall Platz haben"
-
-#~ msgid "Announce hardware limits"
-#~ msgstr "Benutze Hardware-Limits"
diff --git a/src/mesa/drivers/dri/common/xmlpool/es.po b/src/mesa/drivers/dri/common/xmlpool/es.po
deleted file mode 100644
index f9d950ac14d..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool/es.po
+++ /dev/null
@@ -1,332 +0,0 @@
-# translation of es.po to Spanish
-# Spanish translations for PACKAGE package.
-# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# David <[email protected]>, 2005.
-# David Rubio Miguélez <[email protected]>, 2005.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: es\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-02-07 02:08-0700\n"
-"PO-Revision-Date: 2015-02-23 14:54-0700\n"
-"Last-Translator: Alex Henrie <[email protected]>\n"
-"Language-Team: Spanish <[email protected]>\n"
-"Language: es\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 1.7.4\n"
-
-#: t_options.h:56
-msgid "Debugging"
-msgstr "Depuración"
-
-#: t_options.h:60
-msgid "Disable 3D acceleration"
-msgstr "Deshabilitar aceleración 3D"
-
-#: t_options.h:65
-msgid "Show performance boxes"
-msgstr "Mostrar cajas de rendimiento"
-
-#: t_options.h:70
-msgid "Enable flushing batchbuffer after each draw call"
-msgstr "Habilitar vaciado del batchbuffer después de cada llamada de dibujo"
-
-#: t_options.h:75
-msgid "Enable flushing GPU caches with each draw call"
-msgstr "Habilitar vaciado de los cachés GPU con cada llamada de dibujo"
-
-#: t_options.h:80
-msgid "Disable throttling on first batch after flush"
-msgstr "Deshabilitar regulación del primer lote después de vaciar"
-
-#: t_options.h:85
-msgid "Force GLSL extension default behavior to 'warn'"
-msgstr ""
-"Forzar que el comportamiento por defecto de las extensiones GLSL sea 'warn'"
-
-#: t_options.h:90
-msgid "Disable dual source blending"
-msgstr "Deshabilitar mezcla de fuente dual"
-
-#: t_options.h:95
-msgid "Disable backslash-based line continuations in GLSL source"
-msgstr ""
-"Deshabilitar continuaciones de línea basadas en barra inversa en el código "
-"GLSL"
-
-#: t_options.h:100
-msgid "Disable GL_ARB_shader_bit_encoding"
-msgstr "Deshabilitar GL_ARB_shader_bit_encoding"
-
-#: t_options.h:105
-msgid ""
-"Force a default GLSL version for shaders that lack an explicit #version line"
-msgstr ""
-"Forzar una versión de GLSL por defecto en los shaders a los cuales les falta "
-"una línea #version explícita"
-
-#: t_options.h:110
-msgid "Allow GLSL #extension directives in the middle of shaders"
-msgstr "Permite directivas #extension GLSL en medio de los shaders"
-
-#: t_options.h:120
-msgid "Image Quality"
-msgstr "Calidad de imagen"
-
-#: t_options.h:133
-msgid "Texture color depth"
-msgstr "Profundidad de color de textura"
-
-#: t_options.h:134
-msgid "Prefer frame buffer color depth"
-msgstr "Preferir profundidad de color del framebuffer"
-
-#: t_options.h:135
-msgid "Prefer 32 bits per texel"
-msgstr "Preferir 32 bits por texel"
-
-#: t_options.h:136
-msgid "Prefer 16 bits per texel"
-msgstr "Preferir 16 bits por texel"
-
-#: t_options.h:137
-msgid "Force 16 bits per texel"
-msgstr "Forzar a 16 bits por texel"
-
-#: t_options.h:143
-msgid "Initial maximum value for anisotropic texture filtering"
-msgstr "Valor máximo inicial para filtrado anisotrópico de textura"
-
-#: t_options.h:148
-msgid "Forbid negative texture LOD bias"
-msgstr "Prohibir valores negativos de Nivel De Detalle (LOD) de texturas"
-
-#: t_options.h:153
-msgid ""
-"Enable S3TC texture compression even if software support is not available"
-msgstr ""
-"Habilitar la compresión de texturas S3TC incluso si el soporte por software "
-"no está disponible"
-
-#: t_options.h:160
-msgid "Initial color reduction method"
-msgstr "Método inicial de reducción de color"
-
-#: t_options.h:161
-msgid "Round colors"
-msgstr "Colores redondeados"
-
-#: t_options.h:162
-msgid "Dither colors"
-msgstr "Colores suavizados"
-
-#: t_options.h:170
-msgid "Color rounding method"
-msgstr "Método de redondeo de colores"
-
-#: t_options.h:171
-msgid "Round color components downward"
-msgstr "Redondear hacia abajo los componentes de color"
-
-#: t_options.h:172
-msgid "Round to nearest color"
-msgstr "Redondear al color más cercano"
-
-#: t_options.h:181
-msgid "Color dithering method"
-msgstr "Método de suavizado de color"
-
-#: t_options.h:182
-msgid "Horizontal error diffusion"
-msgstr "Difusión de error horizontal"
-
-#: t_options.h:183
-msgid "Horizontal error diffusion, reset error at line start"
-msgstr "Difusión de error horizontal, reiniciar error al comienzo de línea"
-
-#: t_options.h:184
-msgid "Ordered 2D color dithering"
-msgstr "Suavizado de color 2D ordenado"
-
-#: t_options.h:190
-msgid "Floating point depth buffer"
-msgstr "Búfer de profundidad en coma flotante"
-
-#: t_options.h:195
-msgid "A post-processing filter to cel-shade the output"
-msgstr "Un filtro de postprocesamiento para aplicar cel shading a la salida"
-
-#: t_options.h:200
-msgid "A post-processing filter to remove the red channel"
-msgstr "Un filtro de postprocesamiento para eliminar el canal rojo"
-
-#: t_options.h:205
-msgid "A post-processing filter to remove the green channel"
-msgstr "Un filtro de postprocesamiento para eliminar el canal verde"
-
-#: t_options.h:210
-msgid "A post-processing filter to remove the blue channel"
-msgstr "Un filtro de postprocesamiento para eliminar el canal azul"
-
-#: t_options.h:215
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality"
-msgstr ""
-"Antialiasing morfológico basado en el MLAA de Jimenez. 0 para deshabilitar, "
-"8 para calidad por defecto"
-
-#: t_options.h:220
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality. Color version, usable with 2d GL apps"
-msgstr ""
-"Antialiasing morfológico basado en el MLAA de Jimenez. 0 para deshabilitar, "
-"8 para calidad por defecto. Versión en color, usable con aplicaciones GL 2D"
-
-#: t_options.h:230
-msgid "Performance"
-msgstr "Rendimiento"
-
-#: t_options.h:238
-msgid "TCL mode (Transformation, Clipping, Lighting)"
-msgstr "Modo TCL (Transformación, Recorte, Iluminación)"
-
-#: t_options.h:239
-msgid "Use software TCL pipeline"
-msgstr "Usar tubería TCL por software"
-
-#: t_options.h:240
-msgid "Use hardware TCL as first TCL pipeline stage"
-msgstr "Usar TCL por hardware en la primera fase de la tubería TCL"
-
-#: t_options.h:241
-msgid "Bypass the TCL pipeline"
-msgstr "Pasar por alto la tubería TCL"
-
-#: t_options.h:242
-msgid ""
-"Bypass the TCL pipeline with state-based machine code generated on-the-fly"
-msgstr ""
-"Pasar por alto la tubería TCL con código máquina basado en estados, generado "
-"al vuelo"
-
-#: t_options.h:251
-msgid "Method to limit rendering latency"
-msgstr "Método para limitar la latencia de renderización"
-
-#: t_options.h:252
-msgid "Busy waiting for the graphics hardware"
-msgstr "Esperar activamente al hardware gráfico"
-
-#: t_options.h:253
-msgid "Sleep for brief intervals while waiting for the graphics hardware"
-msgstr "Dormir en intervalos cortos mientras se espera al hardware gráfico"
-
-#: t_options.h:254
-msgid "Let the graphics hardware emit a software interrupt and sleep"
-msgstr ""
-"Permitir que el hardware gráfico emita una interrupción de software y duerma"
-
-#: t_options.h:264
-msgid "Synchronization with vertical refresh (swap intervals)"
-msgstr "Sincronización con el refresco vertical (intervalos de intercambio)"
-
-#: t_options.h:265
-msgid "Never synchronize with vertical refresh, ignore application's choice"
-msgstr ""
-"No sincronizar nunca con el refresco vertical, ignorar la elección de la "
-"aplicación"
-
-#: t_options.h:266
-msgid "Initial swap interval 0, obey application's choice"
-msgstr ""
-"Intervalo de intercambio inicial 0, obedecer la elección de la aplicación"
-
-#: t_options.h:267
-msgid "Initial swap interval 1, obey application's choice"
-msgstr ""
-"Intervalo de intercambio inicial 1, obedecer la elección de la aplicación"
-
-#: t_options.h:268
-msgid ""
-"Always synchronize with vertical refresh, application chooses the minimum "
-"swap interval"
-msgstr ""
-"Sincronizar siempre con el refresco vertical, la aplicación elige el "
-"intervalo de intercambio mínimo"
-
-#: t_options.h:276
-msgid "Use HyperZ to boost performance"
-msgstr "Usar HyperZ para potenciar rendimiento"
-
-#: t_options.h:281
-msgid "Number of texture units used"
-msgstr "Número de unidades de textura usadas"
-
-#: t_options.h:286
-msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering"
-msgstr ""
-"Calidad de filtrado de textura vs. velocidad, alias filtrado \"brilinear\" "
-"de textura"
-
-#: t_options.h:294
-msgid "Used types of texture memory"
-msgstr "Tipos de memoria de textura usados"
-
-#: t_options.h:295
-msgid "All available memory"
-msgstr "Toda la memoria disponible"
-
-#: t_options.h:296
-msgid "Only card memory (if available)"
-msgstr "Solo memoria de tarjeta (si está disponible)"
-
-#: t_options.h:297
-msgid "Only GART (AGP/PCIE) memory (if available)"
-msgstr "Solo memoria GART (AGP/PCIE) (si está disponible)"
-
-#: t_options.h:309
-msgid "Features that are not hardware-accelerated"
-msgstr "Características no aceleradas por hardware"
-
-#: t_options.h:313
-msgid "Enable extension GL_ARB_vertex_program"
-msgstr "Habilitar la extensión GL_ARB_vertex_program"
-
-#: t_options.h:323
-msgid "Miscellaneous"
-msgstr "Misceláneos"
-
-#: t_options.h:327
-msgid "Create all visuals with a depth buffer"
-msgstr "Crear todos los visuales con búfer de profundidad"
-
-#: t_options.h:337
-msgid "Initialization"
-msgstr "Inicialización"
-
-#: t_options.h:341
-msgid "Define the graphic device to use if possible"
-msgstr "Define el dispositivo de gráficos que usar si es posible"
-
-#: t_options.h:350
-msgid "Gallium Nine"
-msgstr "Gallium Nine"
-
-#: t_options.h:354
-msgid ""
-"Define the throttling value. -1 for no throttling, -2 for default (usually "
-"2), 0 for glfinish behaviour"
-msgstr ""
-"Define el valor de regulación. -1 para no regular, -2 para el por defecto "
-"(generalmente 2), 0 para el comportamiento de glfinish"
-
-#: t_options.h:359
-msgid "Use an additional thread to submit buffers."
-msgstr "Usar un hilo adicional para entregar los búfer."
diff --git a/src/mesa/drivers/dri/common/xmlpool/fr.po b/src/mesa/drivers/dri/common/xmlpool/fr.po
deleted file mode 100644
index fa069652c2b..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool/fr.po
+++ /dev/null
@@ -1,310 +0,0 @@
-# French translations for DRI driver options.
-# Copyright (C) 2005 Stephane Marchesin
-# This file is distributed under the same license as the Mesa package.
-# Stephane Marchesin <[email protected]>, 2005.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Mesa 6.3\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-25 22:29-0600\n"
-"PO-Revision-Date: 2005-04-11 01:34+0200\n"
-"Last-Translator: Stephane Marchesin <[email protected]>\n"
-"Language-Team: French <[email protected]>\n"
-"Language: fr\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: t_options.h:56
-msgid "Debugging"
-msgstr "Debogage"
-
-#: t_options.h:60
-msgid "Disable 3D acceleration"
-msgstr "Désactiver l'accélération 3D"
-
-#: t_options.h:65
-msgid "Show performance boxes"
-msgstr "Afficher les boîtes de performance"
-
-#: t_options.h:70
-msgid "Enable flushing batchbuffer after each draw call"
-msgstr ""
-
-#: t_options.h:75
-msgid "Enable flushing GPU caches with each draw call"
-msgstr ""
-
-#: t_options.h:80
-msgid "Disable throttling on first batch after flush"
-msgstr ""
-
-#: t_options.h:85
-msgid "Force GLSL extension default behavior to 'warn'"
-msgstr ""
-
-#: t_options.h:90
-msgid "Disable dual source blending"
-msgstr ""
-
-#: t_options.h:95
-msgid "Disable backslash-based line continuations in GLSL source"
-msgstr ""
-
-#: t_options.h:100
-msgid "Disable GL_ARB_shader_bit_encoding"
-msgstr ""
-
-#: t_options.h:105
-msgid ""
-"Force a default GLSL version for shaders that lack an explicit #version line"
-msgstr ""
-
-#: t_options.h:110
-msgid "Allow GLSL #extension directives in the middle of shaders"
-msgstr ""
-
-#: t_options.h:120
-msgid "Image Quality"
-msgstr "Qualité d'image"
-
-#: t_options.h:133
-msgid "Texture color depth"
-msgstr "Profondeur de texture"
-
-#: t_options.h:134
-msgid "Prefer frame buffer color depth"
-msgstr "Profondeur de couleur"
-
-#: t_options.h:135
-msgid "Prefer 32 bits per texel"
-msgstr "Préférer 32 bits par texel"
-
-#: t_options.h:136
-msgid "Prefer 16 bits per texel"
-msgstr "Prérérer 16 bits par texel"
-
-#: t_options.h:137
-msgid "Force 16 bits per texel"
-msgstr "Forcer 16 bits par texel"
-
-#: t_options.h:143
-msgid "Initial maximum value for anisotropic texture filtering"
-msgstr "Valeur maximale initiale pour le filtrage anisotropique de texture"
-
-#: t_options.h:148
-msgid "Forbid negative texture LOD bias"
-msgstr "Interdire le LOD bias negatif"
-
-#: t_options.h:153
-msgid ""
-"Enable S3TC texture compression even if software support is not available"
-msgstr ""
-"Activer la compression de texture S3TC même si le support logiciel est absent"
-
-#: t_options.h:160
-msgid "Initial color reduction method"
-msgstr "Technique de réduction de couleurs"
-
-#: t_options.h:161
-msgid "Round colors"
-msgstr "Arrondir les valeurs de couleur"
-
-#: t_options.h:162
-msgid "Dither colors"
-msgstr "Tramer les couleurs"
-
-#: t_options.h:170
-msgid "Color rounding method"
-msgstr "Méthode d'arrondi des couleurs"
-
-#: t_options.h:171
-msgid "Round color components downward"
-msgstr "Arrondi à l'inférieur"
-
-#: t_options.h:172
-msgid "Round to nearest color"
-msgstr "Arrondi au plus proche"
-
-#: t_options.h:181
-msgid "Color dithering method"
-msgstr "Méthode de tramage"
-
-#: t_options.h:182
-msgid "Horizontal error diffusion"
-msgstr "Diffusion d'erreur horizontale"
-
-#: t_options.h:183
-msgid "Horizontal error diffusion, reset error at line start"
-msgstr "Diffusion d'erreur horizontale, réinitialisé pour chaque ligne"
-
-#: t_options.h:184
-msgid "Ordered 2D color dithering"
-msgstr "Tramage ordonné des couleurs"
-
-#: t_options.h:190
-msgid "Floating point depth buffer"
-msgstr "Z-buffer en virgule flottante"
-
-#: t_options.h:195
-msgid "A post-processing filter to cel-shade the output"
-msgstr ""
-
-#: t_options.h:200
-msgid "A post-processing filter to remove the red channel"
-msgstr ""
-
-#: t_options.h:205
-msgid "A post-processing filter to remove the green channel"
-msgstr ""
-
-#: t_options.h:210
-msgid "A post-processing filter to remove the blue channel"
-msgstr ""
-
-#: t_options.h:215
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality"
-msgstr ""
-
-#: t_options.h:220
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality. Color version, usable with 2d GL apps"
-msgstr ""
-
-#: t_options.h:230
-msgid "Performance"
-msgstr "Performance"
-
-#: t_options.h:238
-msgid "TCL mode (Transformation, Clipping, Lighting)"
-msgstr "Mode de TCL (Transformation, Clipping, Eclairage)"
-
-#: t_options.h:239
-msgid "Use software TCL pipeline"
-msgstr "Utiliser un pipeline TCL logiciel"
-
-#: t_options.h:240
-msgid "Use hardware TCL as first TCL pipeline stage"
-msgstr "Utiliser le TCL matériel pour le premier niveau de pipeline"
-
-#: t_options.h:241
-msgid "Bypass the TCL pipeline"
-msgstr "Court-circuiter le pipeline TCL"
-
-#: t_options.h:242
-msgid ""
-"Bypass the TCL pipeline with state-based machine code generated on-the-fly"
-msgstr ""
-"Court-circuiter le pipeline TCL par une machine à états qui génère le codede "
-"TCL à la volée"
-
-#: t_options.h:251
-msgid "Method to limit rendering latency"
-msgstr "Méthode d'attente de la carte graphique"
-
-#: t_options.h:252
-msgid "Busy waiting for the graphics hardware"
-msgstr "Attente active de la carte graphique"
-
-#: t_options.h:253
-msgid "Sleep for brief intervals while waiting for the graphics hardware"
-msgstr "Attente utilisant usleep()"
-
-#: t_options.h:254
-msgid "Let the graphics hardware emit a software interrupt and sleep"
-msgstr "Utiliser les interruptions"
-
-#: t_options.h:264
-msgid "Synchronization with vertical refresh (swap intervals)"
-msgstr "Synchronisation de l'affichage avec le balayage vertical"
-
-#: t_options.h:265
-msgid "Never synchronize with vertical refresh, ignore application's choice"
-msgstr ""
-"Ne jamais synchroniser avec le balayage vertical, ignorer le choix de "
-"l'application"
-
-#: t_options.h:266
-msgid "Initial swap interval 0, obey application's choice"
-msgstr ""
-"Ne pas synchroniser avec le balayage vertical par défaut, mais obéir au "
-"choix de l'application"
-
-#: t_options.h:267
-msgid "Initial swap interval 1, obey application's choice"
-msgstr ""
-"Synchroniser avec le balayage vertical par défaut, mais obéir au choix de "
-"l'application"
-
-#: t_options.h:268
-msgid ""
-"Always synchronize with vertical refresh, application chooses the minimum "
-"swap interval"
-msgstr ""
-"Toujours synchroniser avec le balayage vertical, l'application choisit "
-"l'intervalle minimal"
-
-#: t_options.h:276
-msgid "Use HyperZ to boost performance"
-msgstr "Utiliser le HyperZ pour améliorer les performances"
-
-#: t_options.h:281
-msgid "Number of texture units used"
-msgstr "Nombre d'unités de texture"
-
-#: t_options.h:286
-msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering"
-msgstr ""
-"Qualité/performance du filtrage trilinéaire de texture (filtrage brilinéaire)"
-
-#: t_options.h:294
-msgid "Used types of texture memory"
-msgstr "Types de mémoire de texture"
-
-#: t_options.h:295
-msgid "All available memory"
-msgstr "Utiliser toute la mémoire disponible"
-
-#: t_options.h:296
-msgid "Only card memory (if available)"
-msgstr "Utiliser uniquement la mémoire graphique (si disponible)"
-
-#: t_options.h:297
-msgid "Only GART (AGP/PCIE) memory (if available)"
-msgstr "Utiliser uniquement la mémoire GART (AGP/PCIE) (si disponible)"
-
-#: t_options.h:309
-msgid "Features that are not hardware-accelerated"
-msgstr "Fonctionnalités ne bénéficiant pas d'une accélération matérielle"
-
-#: t_options.h:313
-msgid "Enable extension GL_ARB_vertex_program"
-msgstr "Activer l'extension GL_ARB_vertex_program"
-
-#: t_options.h:323
-msgid "Miscellaneous"
-msgstr ""
-
-#: t_options.h:327
-msgid "Create all visuals with a depth buffer"
-msgstr ""
-
-#: t_options.h:337
-msgid "Initialization"
-msgstr ""
-
-#: t_options.h:341
-msgid "Define the graphic device to use if possible"
-msgstr ""
-
-#~ msgid ""
-#~ "Enable hack to allow larger textures with texture compression on radeon/"
-#~ "r200"
-#~ msgstr ""
-#~ "Activer le hack permettant l'utilisation de textures de grande taille "
-#~ "avec la compression de textures sur radeon/r200"
diff --git a/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py b/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py
deleted file mode 100644
index eb68a65174b..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool/gen_xmlpool.py
+++ /dev/null
@@ -1,203 +0,0 @@
-
-#
-# Usage:
-# gen_xmlpool.py /path/to/t_option.h localedir lang lang lang ...
-#
-# For each given language, this script expects to find a .mo file at
-# `{localedir}/{language}/LC_MESSAGES/options.mo`.
-#
-
-import sys
-import gettext
-import re
-
-# Path to t_options.h
-template_header_path = sys.argv[1]
-
-localedir = sys.argv[2]
-
-# List of supported languages
-languages = sys.argv[3:]
-
-# Escape special characters in C strings
-def escapeCString (s):
- escapeSeqs = {'\a' : '\\a', '\b' : '\\b', '\f' : '\\f', '\n' : '\\n',
- '\r' : '\\r', '\t' : '\\t', '\v' : '\\v', '\\' : '\\\\'}
- # " -> '' is a hack. Quotes (") aren't possible in XML attributes.
- # Better use Unicode characters for typographic quotes in option
- # descriptions and translations.
- i = 0
- r = ''
- while i < len(s):
- # Special case: escape double quote with \u201c or \u201d, depending
- # on whether it's an open or close quote. This is needed because plain
- # double quotes are not possible in XML attributes.
- if s[i] == '"':
- if i == len(s)-1 or s[i+1].isspace():
- # close quote
- q = u'\u201c'
- else:
- # open quote
- q = u'\u201d'
- r = r + q
- elif escapeSeqs.has_key(s[i]):
- r = r + escapeSeqs[s[i]]
- else:
- r = r + s[i]
- i = i + 1
- return r
-
-# Expand escape sequences in C strings (needed for gettext lookup)
-def expandCString (s):
- escapeSeqs = {'a' : '\a', 'b' : '\b', 'f' : '\f', 'n' : '\n',
- 'r' : '\r', 't' : '\t', 'v' : '\v',
- '"' : '"', '\\' : '\\'}
- i = 0
- escape = False
- hexa = False
- octa = False
- num = 0
- digits = 0
- r = ''
- while i < len(s):
- if not escape:
- if s[i] == '\\':
- escape = True
- else:
- r = r + s[i]
- elif hexa:
- if (s[i] >= '0' and s[i] <= '9') or \
- (s[i] >= 'a' and s[i] <= 'f') or \
- (s[i] >= 'A' and s[i] <= 'F'):
- num = num * 16 + int(s[i],16)
- digits = digits + 1
- else:
- digits = 2
- if digits >= 2:
- hexa = False
- escape = False
- r = r + chr(num)
- elif octa:
- if s[i] >= '0' and s[i] <= '7':
- num = num * 8 + int(s[i],8)
- digits = digits + 1
- else:
- digits = 3
- if digits >= 3:
- octa = False
- escape = False
- r = r + chr(num)
- else:
- if escapeSeqs.has_key(s[i]):
- r = r + escapeSeqs[s[i]]
- escape = False
- elif s[i] >= '0' and s[i] <= '7':
- octa = True
- num = int(s[i],8)
- if num <= 3:
- digits = 1
- else:
- digits = 2
- elif s[i] == 'x' or s[i] == 'X':
- hexa = True
- num = 0
- digits = 0
- else:
- r = r + s[i]
- escape = False
- i = i + 1
- return r
-
-# Expand matches. The first match is always a DESC or DESC_BEGIN match.
-# Subsequent matches are ENUM matches.
-#
-# DESC, DESC_BEGIN format: \1 \2=<lang> \3 \4=gettext(" \5=<text> \6=") \7
-# ENUM format: \1 \2=gettext(" \3=<text> \4=") \5
-def expandMatches (matches, translations, end=None):
- assert len(matches) > 0
- nTranslations = len(translations)
- i = 0
- # Expand the description+enums for all translations
- for lang,trans in translations:
- i = i + 1
- # Make sure that all but the last line of a simple description
- # are extended with a backslash.
- suffix = ''
- if len(matches) == 1 and i < len(translations) and \
- not matches[0].expand (r'\7').endswith('\\'):
- suffix = ' \\'
- # Expand the description line. Need to use ugettext in order to allow
- # non-ascii unicode chars in the original English descriptions.
- text = escapeCString (trans.ugettext (unicode (expandCString (
- matches[0].expand (r'\5')), "utf-8"))).encode("utf-8")
- print matches[0].expand (r'\1' + lang + r'\3"' + text + r'"\7') + suffix
- # Expand any subsequent enum lines
- for match in matches[1:]:
- text = escapeCString (trans.ugettext (unicode (expandCString (
- match.expand (r'\3')), "utf-8"))).encode("utf-8")
- print match.expand (r'\1"' + text + r'"\5')
-
- # Expand description end
- if end:
- print end,
-
-# Compile a list of translation classes to all supported languages.
-# The first translation is always a NullTranslations.
-translations = [("en", gettext.NullTranslations())]
-for lang in languages:
- try:
- trans = gettext.translation ("options", localedir, [lang])
- except IOError:
- sys.stderr.write ("Warning: language '%s' not found.\n" % lang)
- continue
- translations.append ((lang, trans))
-
-# Regular expressions:
-reLibintl_h = re.compile (r'#\s*include\s*<libintl.h>')
-reDESC = re.compile (r'(\s*DRI_CONF_DESC\s*\(\s*)([a-z]+)(\s*,\s*)(gettext\s*\(\s*")(.*)("\s*\))(\s*\)[ \t]*\\?)$')
-reDESC_BEGIN = re.compile (r'(\s*DRI_CONF_DESC_BEGIN\s*\(\s*)([a-z]+)(\s*,\s*)(gettext\s*\(\s*")(.*)("\s*\))(\s*\)[ \t]*\\?)$')
-reENUM = re.compile (r'(\s*DRI_CONF_ENUM\s*\([^,]+,\s*)(gettext\s*\(\s*")(.*)("\s*\))(\s*\)[ \t]*\\?)$')
-reDESC_END = re.compile (r'\s*DRI_CONF_DESC_END')
-
-# Print a header
-print \
-"/***********************************************************************\n" \
-" *** THIS FILE IS GENERATED AUTOMATICALLY. DON'T EDIT! ***\n" \
-" ***********************************************************************/"
-
-# Process the options template and generate options.h with all
-# translations.
-template = file (template_header_path, "r")
-descMatches = []
-for line in template:
- if len(descMatches) > 0:
- matchENUM = reENUM .match (line)
- matchDESC_END = reDESC_END.match (line)
- if matchENUM:
- descMatches.append (matchENUM)
- elif matchDESC_END:
- expandMatches (descMatches, translations, line)
- descMatches = []
- else:
- sys.stderr.write (
- "Warning: unexpected line inside description dropped:\n%s\n" \
- % line)
- continue
- if reLibintl_h.search (line):
- # Ignore (comment out) #include <libintl.h>
- print "/* %s * commented out by gen_xmlpool.py */" % line
- continue
- matchDESC = reDESC .match (line)
- matchDESC_BEGIN = reDESC_BEGIN.match (line)
- if matchDESC:
- assert len(descMatches) == 0
- expandMatches ([matchDESC], translations)
- elif matchDESC_BEGIN:
- assert len(descMatches) == 0
- descMatches = [matchDESC_BEGIN]
- else:
- print line,
-
-if len(descMatches) > 0:
- sys.stderr.write ("Warning: unterminated description at end of file.\n")
- expandMatches (descMatches, translations)
diff --git a/src/mesa/drivers/dri/common/xmlpool/nl.po b/src/mesa/drivers/dri/common/xmlpool/nl.po
deleted file mode 100644
index 86cb6e96d96..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool/nl.po
+++ /dev/null
@@ -1,311 +0,0 @@
-# Dutch translations for PACKAGE package.
-# Copyright (C) 2005 THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# <[email protected]>, 2005.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-25 22:29-0600\n"
-"PO-Revision-Date: 2005-04-12 20:09+0200\n"
-"Last-Translator: Manfred Stienstra <[email protected]>\n"
-"Language-Team: Dutch <[email protected]>\n"
-"Language: nl\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: t_options.h:56
-msgid "Debugging"
-msgstr "Debuggen"
-
-#: t_options.h:60
-msgid "Disable 3D acceleration"
-msgstr "3D versnelling uitschakelen"
-
-#: t_options.h:65
-msgid "Show performance boxes"
-msgstr "Laat prestatie boxjes zien"
-
-#: t_options.h:70
-msgid "Enable flushing batchbuffer after each draw call"
-msgstr ""
-
-#: t_options.h:75
-msgid "Enable flushing GPU caches with each draw call"
-msgstr ""
-
-#: t_options.h:80
-msgid "Disable throttling on first batch after flush"
-msgstr ""
-
-#: t_options.h:85
-msgid "Force GLSL extension default behavior to 'warn'"
-msgstr ""
-
-#: t_options.h:90
-msgid "Disable dual source blending"
-msgstr ""
-
-#: t_options.h:95
-msgid "Disable backslash-based line continuations in GLSL source"
-msgstr ""
-
-#: t_options.h:100
-msgid "Disable GL_ARB_shader_bit_encoding"
-msgstr ""
-
-#: t_options.h:105
-msgid ""
-"Force a default GLSL version for shaders that lack an explicit #version line"
-msgstr ""
-
-#: t_options.h:110
-msgid "Allow GLSL #extension directives in the middle of shaders"
-msgstr ""
-
-#: t_options.h:120
-msgid "Image Quality"
-msgstr "Beeldkwaliteit"
-
-#: t_options.h:133
-msgid "Texture color depth"
-msgstr "Textuurkleurendiepte"
-
-#: t_options.h:134
-msgid "Prefer frame buffer color depth"
-msgstr "Prefereer kaderbufferkleurdiepte"
-
-#: t_options.h:135
-msgid "Prefer 32 bits per texel"
-msgstr "Prefereer 32 bits per texel"
-
-#: t_options.h:136
-msgid "Prefer 16 bits per texel"
-msgstr "Prefereer 16 bits per texel"
-
-#: t_options.h:137
-msgid "Force 16 bits per texel"
-msgstr "Dwing 16 bits per texel af"
-
-#: t_options.h:143
-msgid "Initial maximum value for anisotropic texture filtering"
-msgstr "Initïele maximum waarde voor anisotrophische textuur filtering"
-
-#: t_options.h:148
-msgid "Forbid negative texture LOD bias"
-msgstr "Verbied negatief niveau detailonderscheid (LOD) van texturen"
-
-#: t_options.h:153
-msgid ""
-"Enable S3TC texture compression even if software support is not available"
-msgstr ""
-"Schakel S3TC textuurcompressie in, zelfs als softwareondersteuning niet "
-"aanwezig is"
-
-#: t_options.h:160
-msgid "Initial color reduction method"
-msgstr "Initïele kleurreductie methode"
-
-#: t_options.h:161
-msgid "Round colors"
-msgstr "Rond kleuren af"
-
-#: t_options.h:162
-msgid "Dither colors"
-msgstr "Rasteriseer kleuren"
-
-#: t_options.h:170
-msgid "Color rounding method"
-msgstr "Kleurafrondingmethode"
-
-#: t_options.h:171
-msgid "Round color components downward"
-msgstr "Rond kleurencomponenten af naar beneden"
-
-#: t_options.h:172
-msgid "Round to nearest color"
-msgstr "Rond af naar dichtsbijzijnde kleur"
-
-#: t_options.h:181
-msgid "Color dithering method"
-msgstr "Kleurrasteriseringsmethode"
-
-#: t_options.h:182
-msgid "Horizontal error diffusion"
-msgstr "Horizontale foutdiffusie"
-
-#: t_options.h:183
-msgid "Horizontal error diffusion, reset error at line start"
-msgstr "Horizontale foutdiffusie, zet fout bij lijnbegin terug"
-
-#: t_options.h:184
-msgid "Ordered 2D color dithering"
-msgstr "Geordende 2D kleurrasterisering"
-
-#: t_options.h:190
-msgid "Floating point depth buffer"
-msgstr "Dieptebuffer als commagetal"
-
-#: t_options.h:195
-msgid "A post-processing filter to cel-shade the output"
-msgstr ""
-
-#: t_options.h:200
-msgid "A post-processing filter to remove the red channel"
-msgstr ""
-
-#: t_options.h:205
-msgid "A post-processing filter to remove the green channel"
-msgstr ""
-
-#: t_options.h:210
-msgid "A post-processing filter to remove the blue channel"
-msgstr ""
-
-#: t_options.h:215
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality"
-msgstr ""
-
-#: t_options.h:220
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality. Color version, usable with 2d GL apps"
-msgstr ""
-
-#: t_options.h:230
-msgid "Performance"
-msgstr "Prestatie"
-
-#: t_options.h:238
-msgid "TCL mode (Transformation, Clipping, Lighting)"
-msgstr "TCL-modus (Transformatie, Clipping, Licht)"
-
-#: t_options.h:239
-msgid "Use software TCL pipeline"
-msgstr "Gebruik software TCL pijpleiding"
-
-#: t_options.h:240
-msgid "Use hardware TCL as first TCL pipeline stage"
-msgstr "Gebruik hardware TCL as eerste TCL pijpleiding trap"
-
-#: t_options.h:241
-msgid "Bypass the TCL pipeline"
-msgstr "Omzeil de TCL pijpleiding"
-
-#: t_options.h:242
-msgid ""
-"Bypass the TCL pipeline with state-based machine code generated on-the-fly"
-msgstr ""
-"Omzeil de TCL pijpleiding met staatgebaseerde machinecode die tijdens "
-"executie gegenereerd wordt"
-
-#: t_options.h:251
-msgid "Method to limit rendering latency"
-msgstr "Methode om beeldopbouwvertraging te onderdrukken"
-
-#: t_options.h:252
-msgid "Busy waiting for the graphics hardware"
-msgstr "Actief wachten voor de grafische hardware"
-
-#: t_options.h:253
-msgid "Sleep for brief intervals while waiting for the graphics hardware"
-msgstr ""
-"Slaap voor korte intervallen tijdens het wachten op de grafische hardware"
-
-#: t_options.h:254
-msgid "Let the graphics hardware emit a software interrupt and sleep"
-msgstr ""
-"Laat de grafische hardware een software onderbreking uitzenden en in slaap "
-"vallen"
-
-#: t_options.h:264
-msgid "Synchronization with vertical refresh (swap intervals)"
-msgstr "Synchronisatie met verticale verversing (interval omwisselen)"
-
-#: t_options.h:265
-msgid "Never synchronize with vertical refresh, ignore application's choice"
-msgstr ""
-"Nooit synchroniseren met verticale verversing, negeer de keuze van de "
-"applicatie"
-
-#: t_options.h:266
-msgid "Initial swap interval 0, obey application's choice"
-msgstr "Initïeel omwisselingsinterval 0, honoreer de keuze van de applicatie"
-
-#: t_options.h:267
-msgid "Initial swap interval 1, obey application's choice"
-msgstr "Initïeel omwisselingsinterval 1, honoreer de keuze van de applicatie"
-
-#: t_options.h:268
-msgid ""
-"Always synchronize with vertical refresh, application chooses the minimum "
-"swap interval"
-msgstr ""
-"Synchroniseer altijd met verticale verversing, de applicatie kiest het "
-"minimum omwisselingsinterval"
-
-#: t_options.h:276
-msgid "Use HyperZ to boost performance"
-msgstr "Gebruik HyperZ om de prestaties te verbeteren"
-
-#: t_options.h:281
-msgid "Number of texture units used"
-msgstr "Aantal textuureenheden in gebruik"
-
-#: t_options.h:286
-msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering"
-msgstr ""
-"Textuurfilterkwaliteit versus -snelheid, ookwel bekend als “brilineaire” "
-"textuurfiltering"
-
-#: t_options.h:294
-msgid "Used types of texture memory"
-msgstr "Gebruikte soorten textuurgeheugen"
-
-#: t_options.h:295
-msgid "All available memory"
-msgstr "Al het beschikbaar geheugen"
-
-#: t_options.h:296
-msgid "Only card memory (if available)"
-msgstr "Alleen geheugen op de kaart (als het aanwezig is)"
-
-#: t_options.h:297
-msgid "Only GART (AGP/PCIE) memory (if available)"
-msgstr "Alleen GART (AGP/PCIE) geheugen (als het aanwezig is)"
-
-#: t_options.h:309
-msgid "Features that are not hardware-accelerated"
-msgstr "Eigenschappen die niet hardwareversneld zijn"
-
-#: t_options.h:313
-msgid "Enable extension GL_ARB_vertex_program"
-msgstr "Zet uitbreiding GL_ARB_vertex_program aan"
-
-#: t_options.h:323
-msgid "Miscellaneous"
-msgstr ""
-
-#: t_options.h:327
-msgid "Create all visuals with a depth buffer"
-msgstr ""
-
-#: t_options.h:337
-msgid "Initialization"
-msgstr ""
-
-#: t_options.h:341
-msgid "Define the graphic device to use if possible"
-msgstr ""
-
-#~ msgid ""
-#~ "Enable hack to allow larger textures with texture compression on radeon/"
-#~ "r200"
-#~ msgstr ""
-#~ "Schakel hack in om met textuurcompressie grotere texturen toe te staan op "
-#~ "een radeon/r200"
diff --git a/src/mesa/drivers/dri/common/xmlpool/sv.po b/src/mesa/drivers/dri/common/xmlpool/sv.po
deleted file mode 100644
index d8d7353f408..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool/sv.po
+++ /dev/null
@@ -1,309 +0,0 @@
-# Swedish translation of DRI driver options.
-# Copyright (C) Free Software Foundation, Inc.
-# This file is distributed under the same license as the Mesa package.
-# Daniel Nylander <[email protected]>, 2006.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Mesa DRI\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-09-25 22:29-0600\n"
-"PO-Revision-Date: 2006-09-18 10:56+0100\n"
-"Last-Translator: Daniel Nylander <[email protected]>\n"
-"Language-Team: Swedish <[email protected]>\n"
-"Language: sv\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#: t_options.h:56
-msgid "Debugging"
-msgstr "Felsökning"
-
-#: t_options.h:60
-msgid "Disable 3D acceleration"
-msgstr "Inaktivera 3D-accelerering"
-
-#: t_options.h:65
-msgid "Show performance boxes"
-msgstr "Visa prestandarutor"
-
-#: t_options.h:70
-msgid "Enable flushing batchbuffer after each draw call"
-msgstr ""
-
-#: t_options.h:75
-msgid "Enable flushing GPU caches with each draw call"
-msgstr ""
-
-#: t_options.h:80
-msgid "Disable throttling on first batch after flush"
-msgstr ""
-
-#: t_options.h:85
-msgid "Force GLSL extension default behavior to 'warn'"
-msgstr ""
-
-#: t_options.h:90
-msgid "Disable dual source blending"
-msgstr ""
-
-#: t_options.h:95
-msgid "Disable backslash-based line continuations in GLSL source"
-msgstr ""
-
-#: t_options.h:100
-msgid "Disable GL_ARB_shader_bit_encoding"
-msgstr ""
-
-#: t_options.h:105
-msgid ""
-"Force a default GLSL version for shaders that lack an explicit #version line"
-msgstr ""
-
-#: t_options.h:110
-msgid "Allow GLSL #extension directives in the middle of shaders"
-msgstr ""
-
-#: t_options.h:120
-msgid "Image Quality"
-msgstr "Bildkvalitet"
-
-#: t_options.h:133
-msgid "Texture color depth"
-msgstr "Färgdjup för texturer"
-
-#: t_options.h:134
-msgid "Prefer frame buffer color depth"
-msgstr "Föredra färgdjupet för framebuffer"
-
-#: t_options.h:135
-msgid "Prefer 32 bits per texel"
-msgstr "Föredra 32 bitar per texel"
-
-#: t_options.h:136
-msgid "Prefer 16 bits per texel"
-msgstr "Föredra 16 bitar per texel"
-
-#: t_options.h:137
-msgid "Force 16 bits per texel"
-msgstr "Tvinga 16 bitar per texel"
-
-#: t_options.h:143
-msgid "Initial maximum value for anisotropic texture filtering"
-msgstr "Initialt maximalt värde för anisotropisk texturfiltrering"
-
-#: t_options.h:148
-msgid "Forbid negative texture LOD bias"
-msgstr "Förbjud negativ LOD-kompensation för texturer"
-
-#: t_options.h:153
-msgid ""
-"Enable S3TC texture compression even if software support is not available"
-msgstr "Aktivera S3TC-texturkomprimering även om programvarustöd saknas"
-
-#: t_options.h:160
-msgid "Initial color reduction method"
-msgstr "Initial färgminskningsmetod"
-
-#: t_options.h:161
-msgid "Round colors"
-msgstr "Avrunda färger"
-
-#: t_options.h:162
-msgid "Dither colors"
-msgstr "Utjämna färger"
-
-#: t_options.h:170
-msgid "Color rounding method"
-msgstr "Färgavrundningsmetod"
-
-#: t_options.h:171
-msgid "Round color components downward"
-msgstr "Avrunda färdkomponenter nedåt"
-
-#: t_options.h:172
-msgid "Round to nearest color"
-msgstr "Avrunda till närmsta färg"
-
-#: t_options.h:181
-msgid "Color dithering method"
-msgstr "Färgutjämningsmetod"
-
-#: t_options.h:182
-msgid "Horizontal error diffusion"
-msgstr "Horisontell felspridning"
-
-#: t_options.h:183
-msgid "Horizontal error diffusion, reset error at line start"
-msgstr "Horisontell felspridning, återställ fel vid radbörjan"
-
-#: t_options.h:184
-msgid "Ordered 2D color dithering"
-msgstr "Ordnad 2D-färgutjämning"
-
-#: t_options.h:190
-msgid "Floating point depth buffer"
-msgstr "Buffert för flytande punktdjup"
-
-#: t_options.h:195
-msgid "A post-processing filter to cel-shade the output"
-msgstr ""
-
-#: t_options.h:200
-msgid "A post-processing filter to remove the red channel"
-msgstr ""
-
-#: t_options.h:205
-msgid "A post-processing filter to remove the green channel"
-msgstr ""
-
-#: t_options.h:210
-msgid "A post-processing filter to remove the blue channel"
-msgstr ""
-
-#: t_options.h:215
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality"
-msgstr ""
-
-#: t_options.h:220
-msgid ""
-"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for "
-"default quality. Color version, usable with 2d GL apps"
-msgstr ""
-
-#: t_options.h:230
-msgid "Performance"
-msgstr "Prestanda"
-
-#: t_options.h:238
-msgid "TCL mode (Transformation, Clipping, Lighting)"
-msgstr "TCL-läge (Transformation, Clipping, Lighting)"
-
-#: t_options.h:239
-msgid "Use software TCL pipeline"
-msgstr "Använd programvaru-TCL-rörledning"
-
-#: t_options.h:240
-msgid "Use hardware TCL as first TCL pipeline stage"
-msgstr "Använd maskinvaru-TCL som första TCL-rörledningssteg"
-
-#: t_options.h:241
-msgid "Bypass the TCL pipeline"
-msgstr "Kringgå TCL-rörledningen"
-
-#: t_options.h:242
-msgid ""
-"Bypass the TCL pipeline with state-based machine code generated on-the-fly"
-msgstr ""
-"Kringgå TCL-rörledningen med tillståndsbaserad maskinkod som direktgenereras"
-
-#: t_options.h:251
-msgid "Method to limit rendering latency"
-msgstr "Metod för att begränsa renderingslatens"
-
-#: t_options.h:252
-msgid "Busy waiting for the graphics hardware"
-msgstr "Upptagen med att vänta på grafikhårdvaran"
-
-#: t_options.h:253
-msgid "Sleep for brief intervals while waiting for the graphics hardware"
-msgstr "Sov i korta intervall under väntan på grafikhårdvaran"
-
-#: t_options.h:254
-msgid "Let the graphics hardware emit a software interrupt and sleep"
-msgstr "Låt grafikhårdvaran sända ut ett programvaruavbrott och sov"
-
-#: t_options.h:264
-msgid "Synchronization with vertical refresh (swap intervals)"
-msgstr "Synkronisering med vertikal uppdatering (växlingsintervall)"
-
-#: t_options.h:265
-msgid "Never synchronize with vertical refresh, ignore application's choice"
-msgstr "Synkronisera aldrig med vertikal uppdatering, ignorera programmets val"
-
-#: t_options.h:266
-msgid "Initial swap interval 0, obey application's choice"
-msgstr "Initialt växlingsintervall 0, följ programmets val"
-
-#: t_options.h:267
-msgid "Initial swap interval 1, obey application's choice"
-msgstr "Initialt växlingsintervall 1, följ programmets val"
-
-#: t_options.h:268
-msgid ""
-"Always synchronize with vertical refresh, application chooses the minimum "
-"swap interval"
-msgstr ""
-"Synkronisera alltid med vertikal uppdatering, programmet väljer den minsta "
-"växlingsintervallen"
-
-#: t_options.h:276
-msgid "Use HyperZ to boost performance"
-msgstr "Använd HyperZ för att maximera prestandan"
-
-#: t_options.h:281
-msgid "Number of texture units used"
-msgstr "Antal använda texturenheter"
-
-#: t_options.h:286
-msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering"
-msgstr ""
-"Texturfiltreringskvalitet mot hastighet, även kallad \"brilinear\"-"
-"texturfiltrering"
-
-#: t_options.h:294
-msgid "Used types of texture memory"
-msgstr "Använda typer av texturminne"
-
-#: t_options.h:295
-msgid "All available memory"
-msgstr "Allt tillgängligt minne"
-
-#: t_options.h:296
-msgid "Only card memory (if available)"
-msgstr "Endast kortminne (om tillgängligt)"
-
-#: t_options.h:297
-msgid "Only GART (AGP/PCIE) memory (if available)"
-msgstr "Endast GART-minne (AGP/PCIE) (om tillgängligt)"
-
-#: t_options.h:309
-msgid "Features that are not hardware-accelerated"
-msgstr "Funktioner som inte är hårdvaruaccelererade"
-
-#: t_options.h:313
-msgid "Enable extension GL_ARB_vertex_program"
-msgstr "Aktivera tillägget GL_ARB_vertex_program"
-
-#: t_options.h:323
-msgid "Miscellaneous"
-msgstr ""
-
-#: t_options.h:327
-msgid "Create all visuals with a depth buffer"
-msgstr ""
-
-#: t_options.h:337
-msgid "Initialization"
-msgstr ""
-
-#: t_options.h:341
-msgid "Define the graphic device to use if possible"
-msgstr ""
-
-#~ msgid "Support larger textures not guaranteed to fit into graphics memory"
-#~ msgstr ""
-#~ "Stöd för större texturer är inte garanterat att passa i grafikminnet"
-
-#~ msgid "No"
-#~ msgstr "Nej"
-
-#~ msgid "At least 1 texture must fit under worst-case assumptions"
-#~ msgstr "Åtminstone en textur måste passa för antaget sämsta förhållande"
-
-#~ msgid "Announce hardware limits"
-#~ msgstr "Annonsera hårdvarubegränsningar"
diff --git a/src/mesa/drivers/dri/common/xmlpool/t_options.h b/src/mesa/drivers/dri/common/xmlpool/t_options.h
deleted file mode 100644
index e308839aa78..00000000000
--- a/src/mesa/drivers/dri/common/xmlpool/t_options.h
+++ /dev/null
@@ -1,431 +0,0 @@
-/*
- * XML DRI client-side driver configuration
- * Copyright (C) 2003 Felix Kuehling
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * FELIX KUEHLING, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
- * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-/**
- * \file t_options.h
- * \brief Templates of common options
- * \author Felix Kuehling
- *
- * This file defines macros for common options that can be used to
- * construct driConfigOptions in the drivers. This file is only a
- * template containing English descriptions for options wrapped in
- * gettext(). xgettext can be used to extract translatable
- * strings. These strings can then be translated by anyone familiar
- * with GNU gettext. gen_xmlpool.py takes this template and fills in
- * all the translations. The result (options.h) is included by
- * xmlpool.h which in turn can be included by drivers.
- *
- * The macros used to describe otions in this file are defined in
- * ../xmlpool.h.
- */
-
-/* This is needed for xgettext to extract translatable strings.
- * gen_xmlpool.py will discard this line. */
-#include <libintl.h>
-
-/*
- * predefined option sections and options with multi-lingual descriptions
- */
-
-
-/**
- * \brief Debugging options
- */
-#define DRI_CONF_SECTION_DEBUG \
-DRI_CONF_SECTION_BEGIN \
- DRI_CONF_DESC(en,gettext("Debugging"))
-
-#define DRI_CONF_NO_RAST(def) \
-DRI_CONF_OPT_BEGIN_B(no_rast, def) \
- DRI_CONF_DESC(en,gettext("Disable 3D acceleration")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_PERFORMANCE_BOXES(def) \
-DRI_CONF_OPT_BEGIN_B(performance_boxes, def) \
- DRI_CONF_DESC(en,gettext("Show performance boxes")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_ALWAYS_FLUSH_BATCH(def) \
-DRI_CONF_OPT_BEGIN_B(always_flush_batch, def) \
- DRI_CONF_DESC(en,gettext("Enable flushing batchbuffer after each draw call")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_ALWAYS_FLUSH_CACHE(def) \
-DRI_CONF_OPT_BEGIN_B(always_flush_cache, def) \
- DRI_CONF_DESC(en,gettext("Enable flushing GPU caches with each draw call")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_DISABLE_THROTTLING(def) \
-DRI_CONF_OPT_BEGIN_B(disable_throttling, def) \
- DRI_CONF_DESC(en,gettext("Disable throttling on first batch after flush")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_FORCE_GLSL_EXTENSIONS_WARN(def) \
-DRI_CONF_OPT_BEGIN_B(force_glsl_extensions_warn, def) \
- DRI_CONF_DESC(en,gettext("Force GLSL extension default behavior to 'warn'")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_DISABLE_BLEND_FUNC_EXTENDED(def) \
-DRI_CONF_OPT_BEGIN_B(disable_blend_func_extended, def) \
- DRI_CONF_DESC(en,gettext("Disable dual source blending")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_DUAL_COLOR_BLEND_BY_LOCATION(def) \
-DRI_CONF_OPT_BEGIN_B(dual_color_blend_by_location, def) \
- DRI_CONF_DESC(en,gettext("Identify dual color blending sources by location rather than index")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_DISABLE_GLSL_LINE_CONTINUATIONS(def) \
-DRI_CONF_OPT_BEGIN_B(disable_glsl_line_continuations, def) \
- DRI_CONF_DESC(en,gettext("Disable backslash-based line continuations in GLSL source")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_DISABLE_SHADER_BIT_ENCODING(def) \
-DRI_CONF_OPT_BEGIN_B(disable_shader_bit_encoding, def) \
- DRI_CONF_DESC(en,gettext("Disable GL_ARB_shader_bit_encoding")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_FORCE_GLSL_VERSION(def) \
-DRI_CONF_OPT_BEGIN_V(force_glsl_version, int, def, "0:999") \
- DRI_CONF_DESC(en,gettext("Force a default GLSL version for shaders that lack an explicit #version line")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_ALLOW_GLSL_EXTENSION_DIRECTIVE_MIDSHADER(def) \
-DRI_CONF_OPT_BEGIN_B(allow_glsl_extension_directive_midshader, def) \
- DRI_CONF_DESC(en,gettext("Allow GLSL #extension directives in the middle of shaders")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_ALLOW_GLSL_BUILTIN_VARIABLE_REDECLARATION(def) \
-DRI_CONF_OPT_BEGIN_B(allow_glsl_builtin_variable_redeclaration, def) \
- DRI_CONF_DESC(en,gettext("Allow GLSL built-in variables to be redeclared verbatim")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_ALLOW_HIGHER_COMPAT_VERSION(def) \
-DRI_CONF_OPT_BEGIN_B(allow_higher_compat_version, def) \
- DRI_CONF_DESC(en,gettext("Allow a higher compat profile (version 3.1+) for apps that request it")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_FORCE_GLSL_ABS_SQRT(def) \
-DRI_CONF_OPT_BEGIN_B(force_glsl_abs_sqrt, def) \
- DRI_CONF_DESC(en,gettext("Force computing the absolute value for sqrt() and inversesqrt()")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_GLSL_CORRECT_DERIVATIVES_AFTER_DISCARD(def) \
-DRI_CONF_OPT_BEGIN_B(glsl_correct_derivatives_after_discard, def) \
- DRI_CONF_DESC(en,gettext("Implicit and explicit derivatives after a discard behave as if the discard didn't happen")) \
-DRI_CONF_OPT_END
-
-
-/**
- * \brief Image quality-related options
- */
-#define DRI_CONF_SECTION_QUALITY \
-DRI_CONF_SECTION_BEGIN \
- DRI_CONF_DESC(en,gettext("Image Quality"))
-
-#define DRI_CONF_EXCESS_MIPMAP(def) \
-DRI_CONF_OPT_BEGIN_B(excess_mipmap, def) \
- DRI_CONF_DESC(en,"Enable extra mipmap level") \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_TEXTURE_DEPTH_FB 0
-#define DRI_CONF_TEXTURE_DEPTH_32 1
-#define DRI_CONF_TEXTURE_DEPTH_16 2
-#define DRI_CONF_TEXTURE_DEPTH_FORCE_16 3
-#define DRI_CONF_TEXTURE_DEPTH(def) \
-DRI_CONF_OPT_BEGIN_V(texture_depth,enum,def,"0:3") \
- DRI_CONF_DESC_BEGIN(en,gettext("Texture color depth")) \
- DRI_CONF_ENUM(0,gettext("Prefer frame buffer color depth")) \
- DRI_CONF_ENUM(1,gettext("Prefer 32 bits per texel")) \
- DRI_CONF_ENUM(2,gettext("Prefer 16 bits per texel")) \
- DRI_CONF_ENUM(3,gettext("Force 16 bits per texel")) \
- DRI_CONF_DESC_END \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_DEF_MAX_ANISOTROPY(def,range) \
-DRI_CONF_OPT_BEGIN_V(def_max_anisotropy,float,def,range) \
- DRI_CONF_DESC(en,gettext("Initial maximum value for anisotropic texture filtering")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_NO_NEG_LOD_BIAS(def) \
-DRI_CONF_OPT_BEGIN_B(no_neg_lod_bias, def) \
- DRI_CONF_DESC(en,gettext("Forbid negative texture LOD bias")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_FORCE_S3TC_ENABLE(def) \
-DRI_CONF_OPT_BEGIN_B(force_s3tc_enable, def) \
- DRI_CONF_DESC(en,gettext("Enable S3TC texture compression even if software support is not available")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_PRECISE_TRIG(def) \
-DRI_CONF_OPT_BEGIN_B(precise_trig, def) \
- DRI_CONF_DESC(en,gettext("Prefer accuracy over performance in trig functions")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_COLOR_REDUCTION_ROUND 0
-#define DRI_CONF_COLOR_REDUCTION_DITHER 1
-#define DRI_CONF_COLOR_REDUCTION(def) \
-DRI_CONF_OPT_BEGIN_V(color_reduction,enum,def,"0:1") \
- DRI_CONF_DESC_BEGIN(en,gettext("Initial color reduction method")) \
- DRI_CONF_ENUM(0,gettext("Round colors")) \
- DRI_CONF_ENUM(1,gettext("Dither colors")) \
- DRI_CONF_DESC_END \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_ROUND_TRUNC 0
-#define DRI_CONF_ROUND_ROUND 1
-#define DRI_CONF_ROUND_MODE(def) \
-DRI_CONF_OPT_BEGIN_V(round_mode,enum,def,"0:1") \
- DRI_CONF_DESC_BEGIN(en,gettext("Color rounding method")) \
- DRI_CONF_ENUM(0,gettext("Round color components downward")) \
- DRI_CONF_ENUM(1,gettext("Round to nearest color")) \
- DRI_CONF_DESC_END \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_DITHER_XERRORDIFF 0
-#define DRI_CONF_DITHER_XERRORDIFFRESET 1
-#define DRI_CONF_DITHER_ORDERED 2
-#define DRI_CONF_DITHER_MODE(def) \
-DRI_CONF_OPT_BEGIN_V(dither_mode,enum,def,"0:2") \
- DRI_CONF_DESC_BEGIN(en,gettext("Color dithering method")) \
- DRI_CONF_ENUM(0,gettext("Horizontal error diffusion")) \
- DRI_CONF_ENUM(1,gettext("Horizontal error diffusion, reset error at line start")) \
- DRI_CONF_ENUM(2,gettext("Ordered 2D color dithering")) \
- DRI_CONF_DESC_END \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_FLOAT_DEPTH(def) \
-DRI_CONF_OPT_BEGIN_B(float_depth, def) \
- DRI_CONF_DESC(en,gettext("Floating point depth buffer")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_PP_CELSHADE(def) \
-DRI_CONF_OPT_BEGIN_V(pp_celshade,enum,def,"0:1") \
- DRI_CONF_DESC(en,gettext("A post-processing filter to cel-shade the output")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_PP_NORED(def) \
-DRI_CONF_OPT_BEGIN_V(pp_nored,enum,def,"0:1") \
- DRI_CONF_DESC(en,gettext("A post-processing filter to remove the red channel")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_PP_NOGREEN(def) \
-DRI_CONF_OPT_BEGIN_V(pp_nogreen,enum,def,"0:1") \
- DRI_CONF_DESC(en,gettext("A post-processing filter to remove the green channel")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_PP_NOBLUE(def) \
-DRI_CONF_OPT_BEGIN_V(pp_noblue,enum,def,"0:1") \
- DRI_CONF_DESC(en,gettext("A post-processing filter to remove the blue channel")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_PP_JIMENEZMLAA(def,min,max) \
-DRI_CONF_OPT_BEGIN_V(pp_jimenezmlaa,int,def, # min ":" # max ) \
- DRI_CONF_DESC(en,gettext("Morphological anti-aliasing based on Jimenez\\\' MLAA. 0 to disable, 8 for default quality")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_PP_JIMENEZMLAA_COLOR(def,min,max) \
-DRI_CONF_OPT_BEGIN_V(pp_jimenezmlaa_color,int,def, # min ":" # max ) \
- DRI_CONF_DESC(en,gettext("Morphological anti-aliasing based on Jimenez\\\' MLAA. 0 to disable, 8 for default quality. Color version, usable with 2d GL apps")) \
-DRI_CONF_OPT_END
-
-
-
-/**
- * \brief Performance-related options
- */
-#define DRI_CONF_SECTION_PERFORMANCE \
-DRI_CONF_SECTION_BEGIN \
- DRI_CONF_DESC(en,gettext("Performance"))
-
-#define DRI_CONF_TCL_SW 0
-#define DRI_CONF_TCL_PIPELINED 1
-#define DRI_CONF_TCL_VTXFMT 2
-#define DRI_CONF_TCL_CODEGEN 3
-#define DRI_CONF_TCL_MODE(def) \
-DRI_CONF_OPT_BEGIN_V(tcl_mode,enum,def,"0:3") \
- DRI_CONF_DESC_BEGIN(en,gettext("TCL mode (Transformation, Clipping, Lighting)")) \
- DRI_CONF_ENUM(0,gettext("Use software TCL pipeline")) \
- DRI_CONF_ENUM(1,gettext("Use hardware TCL as first TCL pipeline stage")) \
- DRI_CONF_ENUM(2,gettext("Bypass the TCL pipeline")) \
- DRI_CONF_ENUM(3,gettext("Bypass the TCL pipeline with state-based machine code generated on-the-fly")) \
- DRI_CONF_DESC_END \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_FTHROTTLE_BUSY 0
-#define DRI_CONF_FTHROTTLE_USLEEPS 1
-#define DRI_CONF_FTHROTTLE_IRQS 2
-#define DRI_CONF_FTHROTTLE_MODE(def) \
-DRI_CONF_OPT_BEGIN_V(fthrottle_mode,enum,def,"0:2") \
- DRI_CONF_DESC_BEGIN(en,gettext("Method to limit rendering latency")) \
- DRI_CONF_ENUM(0,gettext("Busy waiting for the graphics hardware")) \
- DRI_CONF_ENUM(1,gettext("Sleep for brief intervals while waiting for the graphics hardware")) \
- DRI_CONF_ENUM(2,gettext("Let the graphics hardware emit a software interrupt and sleep")) \
- DRI_CONF_DESC_END \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_VBLANK_NEVER 0
-#define DRI_CONF_VBLANK_DEF_INTERVAL_0 1
-#define DRI_CONF_VBLANK_DEF_INTERVAL_1 2
-#define DRI_CONF_VBLANK_ALWAYS_SYNC 3
-#define DRI_CONF_VBLANK_MODE(def) \
-DRI_CONF_OPT_BEGIN_V(vblank_mode,enum,def,"0:3") \
- DRI_CONF_DESC_BEGIN(en,gettext("Synchronization with vertical refresh (swap intervals)")) \
- DRI_CONF_ENUM(0,gettext("Never synchronize with vertical refresh, ignore application's choice")) \
- DRI_CONF_ENUM(1,gettext("Initial swap interval 0, obey application's choice")) \
- DRI_CONF_ENUM(2,gettext("Initial swap interval 1, obey application's choice")) \
- DRI_CONF_ENUM(3,gettext("Always synchronize with vertical refresh, application chooses the minimum swap interval")) \
- DRI_CONF_DESC_END \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_HYPERZ_DISABLED 0
-#define DRI_CONF_HYPERZ_ENABLED 1
-#define DRI_CONF_HYPERZ(def) \
-DRI_CONF_OPT_BEGIN_B(hyperz, def) \
- DRI_CONF_DESC(en,gettext("Use HyperZ to boost performance")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_MAX_TEXTURE_UNITS(def,min,max) \
-DRI_CONF_OPT_BEGIN_V(texture_units,int,def, # min ":" # max ) \
- DRI_CONF_DESC(en,gettext("Number of texture units used")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_TEXTURE_BLEND_QUALITY(def,range) \
-DRI_CONF_OPT_BEGIN_V(texture_blend_quality,float,def,range) \
- DRI_CONF_DESC(en,gettext("Texture filtering quality vs. speed, AKA “brilinear” texture filtering")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_TEXTURE_HEAPS_ALL 0
-#define DRI_CONF_TEXTURE_HEAPS_CARD 1
-#define DRI_CONF_TEXTURE_HEAPS_GART 2
-#define DRI_CONF_TEXTURE_HEAPS(def) \
-DRI_CONF_OPT_BEGIN_V(texture_heaps,enum,def,"0:2") \
- DRI_CONF_DESC_BEGIN(en,gettext("Used types of texture memory")) \
- DRI_CONF_ENUM(0,gettext("All available memory")) \
- DRI_CONF_ENUM(1,gettext("Only card memory (if available)")) \
- DRI_CONF_ENUM(2,gettext("Only GART (AGP/PCIE) memory (if available)")) \
- DRI_CONF_DESC_END \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_MESA_GLTHREAD(def) \
-DRI_CONF_OPT_BEGIN_B(mesa_glthread, def) \
- DRI_CONF_DESC(en,gettext("Enable offloading GL driver work to a separate thread")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_MESA_NO_ERROR(def) \
-DRI_CONF_OPT_BEGIN_B(mesa_no_error, def) \
- DRI_CONF_DESC(en,gettext("Disable GL driver error checking")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_DISABLE_EXT_BUFFER_AGE(def) \
-DRI_CONF_OPT_BEGIN_B(glx_disable_ext_buffer_age, def) \
- DRI_CONF_DESC(en, gettext("Disable the GLX_EXT_buffer_age extension")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_DISABLE_OML_SYNC_CONTROL(def) \
-DRI_CONF_OPT_BEGIN_B(glx_disable_oml_sync_control, def) \
- DRI_CONF_DESC(en, gettext("Disable the GLX_OML_sync_control extension")) \
-DRI_CONF_OPT_END
-
-
-/**
- * \brief Software-fallback options. To allow using features (like
- * GL_ARB_vertex_program) on GPUs that don't otherwise support the feature.
- */
-#define DRI_CONF_SECTION_SOFTWARE \
-DRI_CONF_SECTION_BEGIN \
- DRI_CONF_DESC(en,gettext("Features that are not hardware-accelerated"))
-
-#define DRI_CONF_ARB_VERTEX_PROGRAM(def) \
-DRI_CONF_OPT_BEGIN_B(arb_vertex_program, def) \
- DRI_CONF_DESC(en,gettext("Enable extension GL_ARB_vertex_program")) \
-DRI_CONF_OPT_END
-
-
-
-/**
- * \brief Miscellaneous configuration options
- */
-#define DRI_CONF_SECTION_MISCELLANEOUS \
-DRI_CONF_SECTION_BEGIN \
- DRI_CONF_DESC(en,gettext("Miscellaneous"))
-
-#define DRI_CONF_ALWAYS_HAVE_DEPTH_BUFFER(def) \
-DRI_CONF_OPT_BEGIN_B(always_have_depth_buffer, def) \
- DRI_CONF_DESC(en,gettext("Create all visuals with a depth buffer")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_GLSL_ZERO_INIT(def) \
-DRI_CONF_OPT_BEGIN_B(glsl_zero_init, def) \
- DRI_CONF_DESC(en,gettext("Force uninitialized variables to default to zero")) \
-DRI_CONF_OPT_END
-
-/**
- * \brief Initialization configuration options
- */
-#define DRI_CONF_SECTION_INITIALIZATION \
-DRI_CONF_SECTION_BEGIN \
- DRI_CONF_DESC(en,gettext("Initialization"))
-
-#define DRI_CONF_DEVICE_ID_PATH_TAG(def) \
-DRI_CONF_OPT_BEGIN(device_id, string, def) \
- DRI_CONF_DESC(en,gettext("Define the graphic device to use if possible")) \
-DRI_CONF_OPT_END
-
-/**
- * \brief Gallium-Nine specific configuration options
- */
-
-#define DRI_CONF_SECTION_NINE \
-DRI_CONF_SECTION_BEGIN \
- DRI_CONF_DESC(en,gettext("Gallium Nine"))
-
-#define DRI_CONF_NINE_THROTTLE(def) \
-DRI_CONF_OPT_BEGIN(throttle_value, int, def) \
- DRI_CONF_DESC(en,gettext("Define the throttling value. -1 for no throttling, -2 for default (usually 2), 0 for glfinish behaviour")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_NINE_THREADSUBMIT(def) \
-DRI_CONF_OPT_BEGIN_B(thread_submit, def) \
- DRI_CONF_DESC(en,gettext("Use an additional thread to submit buffers.")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_NINE_OVERRIDEVENDOR(def) \
-DRI_CONF_OPT_BEGIN(override_vendorid, int, def) \
- DRI_CONF_DESC(en,gettext("Define the vendor_id to report. This allows faking another hardware vendor.")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_NINE_ALLOWDISCARDDELAYEDRELEASE(def) \
-DRI_CONF_OPT_BEGIN_B(discard_delayed_release, def) \
- DRI_CONF_DESC(en,gettext("Whether to allow the display server to release buffers with a delay when using d3d's presentation mode DISCARD. Default to true. Set to false if suffering from lag (thread_submit=true can also help in this situation).")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_NINE_TEARFREEDISCARD(def) \
-DRI_CONF_OPT_BEGIN_B(tearfree_discard, def) \
- DRI_CONF_DESC(en,gettext("Whether to make d3d's presentation mode DISCARD (games usually use that mode) Tear Free. If rendering above screen refresh, some frames will get skipped. false by default.")) \
-DRI_CONF_OPT_END
-
-#define DRI_CONF_NINE_CSMT(def) \
-DRI_CONF_OPT_BEGIN(csmt_force, int, def) \
- DRI_CONF_DESC(en,gettext("If set to 1, force gallium nine CSMT. If set to 0, disable it. By default (-1) CSMT is enabled on known thread-safe drivers.")) \
-DRI_CONF_OPT_END